Clean code.

This commit is contained in:
yuanhau 2025-05-10 22:05:10 +08:00
parent bf357f1c84
commit 5d58016b1d
39 changed files with 481 additions and 381 deletions

View file

@ -1,35 +1,35 @@
import { Groq } from 'groq-sdk';
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 slug = getRouterParam(event, "slug");
const body = await readBody(event);
const fetchNewsArticle = await sql`
select * from newArticle
where slug = ${slug}
`;
const chatCompletion = await groq.chat.completions.create({
"messages": [
{
"role": "user",
"content": `${body}`
},
{
"role": "system",
"content": `You are a news chat, the following content will be used to chat with the user title: ${fetchNewsArticle.title}\n content: ${fetchNewsArticle.content}`
}
],
"model": "llama3-70b-8192",
"temperature": 1,
"max_completion_tokens": 1024,
"top_p": 1,
"stream": true,
"stop": null
});
messages: [
{
role: "user",
content: `${body}`,
},
{
role: "system",
content: `You are a news chat, the following content will be used to chat with the user title: ${fetchNewsArticle.title}\n content: ${fetchNewsArticle.content}`,
},
],
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 || '');
process.stdout.write(chunk.choices[0]?.delta?.content || "");
}
})
});

View file

@ -1,34 +1,34 @@
import { Groq } from 'groq-sdk';
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 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
});
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 || '');
process.stdout.write(chunk.choices[0]?.delta?.content || "");
}
})
});

View file

@ -1,28 +1,28 @@
import sql from "~/server/components/postgres";
export default defineEventHandler(async (event) => {
const slug = getRouterParam(event, 'slug');
// Validate and sanitize the slug
if (!slug || typeof slug !== 'string') {
throw createError({
statusCode: 400,
message: 'Invalid slug parameter'
});
}
const cleanSlug = slug.replace(/[^a-zA-Z0-9-_]/g, '');
const slug = getRouterParam(event, "slug");
try {
const result = await sql`
// Validate and sanitize the slug
if (!slug || typeof slug !== "string") {
throw createError({
statusCode: 400,
message: "Invalid slug parameter",
});
}
const cleanSlug = slug.replace(/[^a-zA-Z0-9-_]/g, "");
try {
const result = await sql`
select * from articles
where slug = ${cleanSlug}
`
return result.rows[0] || null;
} catch (error) {
console.error('Database error:', error);
throw createError({
statusCode: 500,
message: 'Internal server error'
});
}
});
`;
return result.rows[0] || null;
} catch (error) {
console.error("Database error:", error);
throw createError({
statusCode: 500,
message: "Internal server error",
});
}
});