mirror of
https://github.com/hpware/news-analyze.git
synced 2025-06-23 15:51:01 +08:00
35 lines
932 B
TypeScript
35 lines
932 B
TypeScript
import { Groq } from "groq-sdk";
|
|
import sql from "~/server/components/postgres";
|
|
|
|
const groq = new Groq();
|
|
|
|
export default defineEventHandler(async (event) => {
|
|
const slug = getRouterParam(event, "slug");
|
|
const fetchNewsArticle = await sql`
|
|
select * from newArticle
|
|
where slug = ${slug}
|
|
`;
|
|
const chatCompletion = await groq.chat.completions.create({
|
|
messages: [
|
|
{
|
|
role: "user",
|
|
content: `${fetchNewsArticle.title}\n${fetchNewsArticle.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 || "");
|
|
}
|
|
});
|