اتصال بکاند Node.js به پیکو و مدیریت خطای درخواست
یک تابع سمت سرور برای گرفتن پاسخ، نگهداری کلید در محیط و تشخیص خطاهای قابل تلاش مجدد.
وقتی دکمهای در رابط سایت برای کاربر پاسخ هوش مصنوعی میسازد، مرورگر را به بکاند خودتان وصل کنید. کلید پیکو در محیط بکاند نگهداری میشود و همانجا میتوانید سقف طول ورودی، تعداد درخواست و دسترسی کاربر را کنترل کنید.
import OpenAI from 'openai';
const pico = new OpenAI({
baseURL: 'https://api.picoai.ir/v1',
apiKey: process.env.PICO_API_KEY,
timeout: 30_000,
maxRetries: 0,
});
export async function summarize(text) {
const result = await pico.chat.completions.create({
model: process.env.PICO_MODEL,
messages: [
{ role: 'system', content: 'متن را در سه نکتهٔ فارسی خلاصه کن.' },
{ role: 'user', content: text },
],
max_tokens: 350,
});
return {
text: result.choices[0]?.message.content ?? '',
usage: result.usage,
};
}قرارداد تابع را روشن کنید
پیش از صدا زدن تابع، وجود متغیرهای محیطی، نوع رشتهٔ ورودی و طول مجاز را در بکاند بررسی کنید. در نتیجهٔ پاسخ هم خالی بودن محتوا را جداگانه بررسی کنید. برای درخواستهای طولانی، پیام مناسب به کاربر بدهید تا بتواند متن را کوتاه کند.
خطاها را به تصمیم تبدیل کنید
در لاگ خودتان کد وضعیت، شناسهٔ درخواست داخلی و زمان را ثبت کنید. کلید و متن کامل ورودی را در لاگ عمومی ننویسید. 401 نیاز به اصلاح کلید دارد و 402 نیاز به بررسی اعتبار یا سقف خروجی. برای 429 یا اختلال موقت، حداکثر تعداد تلاش و مهلت کل کار را از قبل تعیین کنید.
اگر این تابع بخشی از صف کار است، برای هر کار یک شناسهٔ یکتا بگذارید و نتیجهٔ کامل را ذخیره کنید. پس از قطع ارتباط، قبل از ارسال مجدد وضعیت همان کار را بررسی کنید. این کار احتمال مصرف دوباره برای یک عملیات تجاری را کم میکند. راهنمای خطاهای پیکو
- Node.js
- SDK
- API پیکو