+
+
{{ t("newsOrgs.title") }}
+
+
diff --git a/server/api/ai/chat/[slug].ts b/server/api/ai/chat/[slug].ts
new file mode 100644
index 0000000..e69de29
diff --git a/server/api/ai/summerize/[slug].ts b/server/api/ai/summerize/[slug].ts
new file mode 100644
index 0000000..8a48e48
--- /dev/null
+++ b/server/api/ai/summerize/[slug].ts
@@ -0,0 +1,30 @@
+import { Groq } from 'groq-sdk';
+
+const groq = new Groq();
+
+export default defineEventHandler(async (event) => {
+ const slug = getRouterParam(event, 'slug');
+ const fetchNewsArticle = await fetch(`/api/`);
+ const chatCompletion = await groq.chat.completions.create({
+ "messages": [
+ {
+ "role": "user",
+ "content": ``
+ },
+ {
+ "role": "system",
+ "content": `You are a news summarizer. You will be given a news article and you will summarize it into a short paragraph.`
+ }
+ ],
+ "model": "llama3-70b-8192",
+ "temperature": 1,
+ "max_completion_tokens": 1024,
+ "top_p": 1,
+ "stream": true,
+ "stop": null
+ });
+
+ for await (const chunk of chatCompletion) {
+ process.stdout.write(chunk.choices[0]?.delta?.content || '');
+ }
+})
\ No newline at end of file