أنشئ تطبيق دردشة ويب باستخدام Next.js بالاعتماد على Phaseo Gateway。
المشروع النموذجي
- GitHub: examples/web-chat-nextjs
- مسار المشروع داخل المستودع:
examples/web-chat-nextjs
ما يفعله التطبيق
-
- يجلب النماذج المتاحة باستخدام
GET /v1/models
- يجلب النماذج المتاحة باستخدام
-
- يرسل رسائل الدردشة باستخدام
POST /v1/responses
- يرسل رسائل الدردشة باستخدام
- يحتفظ بمفتاح API على الخادم
- يوفر نقطة بداية بسيطة لمنتج حقيقي دون تعقيدات OAuth
الملفات الرئيسية
app/api/models/route.tsapp/api/responses/route.tsapp/components/ChatClient.tsxlib/gateway.ts
لماذا بُني المثال بهذه الطريقة
1. المتصفح لا يستدعي Phaseo مباشرة
تتصل الواجهة أولًا بمسارات Next.js الخاصة بك، ثم تستدعي هذه المسارات Phaseo على الخادم。 وهذا يتيح لك:- إدارة الأسرار على الخادم
- إدارة الترويسات ومحتوى الطلبات في مكان واحد
- إضافة المصادقة أو حدود الطلبات أو السجلات لاحقًا بسهولة أكبر
2. اكتشاف النماذج منفصل عن إنشاء الردود
أبقِ مسارات قائمة النماذج وإنشاء الدردشة منفصلة حتى يبقى كل جزء سهل الفهم:- مسار لعرض قائمة النماذج
- مسار لتنفيذ طلب الدردشة
3. لا تدير الواجهة سوى حالة التفاعل
يتولى عميل React إدارة:- حالة الإدخال
- حالة التحميل
- عرض الأخطاء
- الرسائل المعروضة
المتطلبات المسبقة
-
- Node.js ومدير حزم مدعوم
- مفتاح Phaseo API
تشغيل المثال
PHASEO_API_KEYNEXT_PUBLIC_GATEWAY_URL
http://localhost:3000.
التحقق من التطبيق
- يجلب محدد النماذج البيانات من مسار الخادم。
- يؤدي إرسال رسالة إلى ظهور رد واحد من المساعد。
- لا تكشف لوحة الشبكة في المتصفح عن
PHASEO_API_KEY. - يظهر خطأ مفيد في الواجهة عند فشل طلب Gateway。
تخصيص التطبيق
- غيّر النموذج الافتراضي إلى النموذج الذي اخترته للإنتاج
- أضف البث إذا كانت تجربة الاستخدام تحتاج إلى عرض الرموز واحدًا تلو الآخر
- أضف المصادقة لاحقًا إذا أصبح التطبيق متعدد المستخدمين
- استبدل التنفيذ الداخلي لمسار الخادم بـ TypeScript SDK لاحقًا إذا أردت عميلًا بمستوى تجريد أعلى
متى تختار نقطة بداية أخرى
- استخدم البدء السريع لـ Node إذا كنت تريد سكربتًا أو اختبارًا للواجهة الخلفية بدلًا من واجهة
- استخدم البدء السريع لـ Python إذا كان أول تكامل في عامل أو CLI أو خدمة خلفية