ติดตั้งและกำหนดค่าผู้ให้บริการ
Vercel AI SDK สามารถใช้ผู้ให้บริการที่เข้ากันได้กับ OpenAI ได้ กำหนดค่า CometAPI base URL เพียงครั้งเดียว และเก็บ API key ไว้ในตัวแปรสภาพแวดล้อมฝั่งเซิร์ฟเวอร์
import { createOpenAI } from '@ai-sdk/openai';
export const cometapi = createOpenAI({
apiKey: process.env.COMETAPI_KEY,
baseURL: 'https://api.cometapi.com/v1',
});สร้างเส้นทางแชตแบบสตรีมมิง
เลือกโมเดลบนเซิร์ฟเวอร์จาก allowlist วิธีนี้ป้องกันไม่ให้ไคลเอนต์เลือกโมเดลที่มีค่าใช้จ่ายสูงโดยไม่คาดคิด ขณะยังคงความยืดหยุ่นแบบหลายโมเดลไว้
import { streamText } from 'ai';
import { cometapi } from '@/lib/cometapi';
const allowedModels = {
fast: 'your-fast-model-id',
quality: 'your-quality-model-id',
};
export async function POST(request: Request) {
const { messages, route = 'fast' } = await request.json();
const modelId = allowedModels[route as keyof typeof allowedModels];
const result = streamText({
model: cometapi(modelId),
messages,
});
return result.toDataStreamResponse();
}สลับโมเดลตามภาระงาน
ใช้เส้นทางที่เร็วกว่า สำหรับรอบสนทนา และใช้เส้นทางคุณภาพสูง สำหรับการวิเคราะห์ที่ซับซ้อน การเปลี่ยนโค้ดจำนวนมาก หรือการตรวจทานที่มีมูลค่าสูง ทำให้ตรรกะการกำหนดเส้นทางสังเกตได้ เพื่อจะเปรียบเทียบต้นทุนและคุณภาพในภายหลังได้
- กำหนดเส้นทางตามโหมดผลิตภัณฑ์อย่างชัดเจนก่อนพยายามจัดประเภทอัตโนมัติ
- บันทึกเส้นทางที่เลือก model ID tokens latency และผลลัพธ์ของคำขอ
- กำหนดเพดานค่าใช้จ่ายทั้งระดับบัญชีและระดับคำขอ
รายการตรวจสอบก่อนขึ้น production
ก่อนเปิดใช้งาน ให้เพิ่มการตรวจสอบ schema การจัดการ timeout การ retry สำหรับความล้มเหลวชั่วคราว และเส้นทาง fallback ที่เข้ากันได้ อย่าเปิดเผย upstream API key ในโค้ดฝั่งเบราว์เซอร์
