الإنجليزية | 中文
خادم ChatGPT يقوم بتخزين البيانات ومعالجتها باستخدام بنية بيانات قائمة على الشجرة، مما يوفر للمستخدمين تجربة أسئلة وأجوبة تشبه الخريطة الذهنية مع ChatGPT. تعمل البنية الشجرية على تحسين نقل السياق (الرموز المميزة) بشكل كبير وتوفر تجربة أفضل عند استخدامها داخل الشركة.
تظهر الصورة عميلاً تجريبيًا؛ واجهة المستخدم هي للإشارة فقط.
في سيناريوهات العمل، تكون الحاجة إلى طرح نفس السؤال بعمق نادرة نسبيًا، لذلك في معظم الحالات، يمكن التحكم في عدد الرموز المميزة خلال عام 2000. لذلك، يعد حد الرمز المميز لـ GPT 3.5 (4096) كافيًا (لا حاجة إلى مراعاة GPT4 لـ دقة).
الوقت بين لقطتي الشاشة لا يتجاوز 5 دقائق. نظرًا لتعدد المستخدمين، يلزم عرض السجلات التفصيلية لتمييز استهلاك الرمز المميز للأسئلة الخمسة المذكورة، ولكن يمكن اعتبار استهلاك الرمز المميز الإجمالي قابلاً للتحكم.
43.206.107.75:4000
يتم نشر البيئة التجريبية على خادم سحابي. ولا تقم بتعيين رمز OpenAI، لذلك سيبدأ الوضع الوهمي.
سيتم إجراء التحديثات حسب الحاجة. سيتم توفير المزيد من التحديثات إذا تم استخدام المشروع على نطاق واسع، وسيتم إجراء التحديثات بناءً على الاهتمام إذا كان المشروع به عدد أقل من المستخدمين.
لا تتردد في تطوير واجهة مستخدم الويب بناءً على هذا المشروع! واجهة المستخدم في العرض التوضيحي من تأليفي، فأنا مبتدئ في تصميم واجهة المستخدم. العلاقات العامة هي موضع ترحيب!
قم بتنظيم إدخال المستخدم في شجرة متعددة الفروع وتمرير محتوى الفرع الحالي فقط كمعلومات سياق إلى GPT. كمية المحتوى التي نرسلها في كل مرة تساوي عمق العقدة الحالية. تحسين اختيار ونقل السياق من خلال الشجرة متعددة الفروع.
الشجرة الثنائية ذات العقد n لها عمق تسجيل الدخول. يشير العمق هنا إلى معلومات السياق التي نحتاجها لتمريرها إلى GPT API. إذا لم نقم بمعالجة السياق، فيمكن اعتباره شجرة ذات بعد واحد، والتي تتحول إلى مقطع خطي، وهي الحالة الأكثر تعقيدًا بطبيعة الحال. من خلال تنظيم الجلسة في هيكل شجرة، يمكننا إنشاء خريطة ذهنية.
يوصى باختيار موقع خادم في بلد أو منطقة يدعمها OpenAI. تعتبر مراكز البيانات والمضيفات السحابية مقبولة، وقد تم اختبار السحابات التالية:
إذا كنت تصر على الاختبار في بلد أو منطقة غير مدعومة، فإن هذا المشروع يدعم الوكلاء بشكل كامل، لكن الوكيل نفسه قد يؤثر على التجربة ويشكل مخاطر . راجع ملف التكوين Spec.GPT.TransportUrl للحصول على تفاصيل تكوين الوكيل.
لا ينصح باستخدام الوكلاء. استخدم على مسؤوليتك الخاصة.
git clone https://github.com/finishy1995/effibot.git
cd effibot
التكوين الافتراضي هو الوضع Mock، مما يعني أنه لن يستدعي GPT API فعليًا ولكنه سيعيد مدخلات المستخدم كاستجابة. منفذ REST API الافتراضي هو 4001
، ويمكن تعديل جميع التكوينات في الملف http/etc/http-api.yaml
.
vi http/etc/http-api.yaml
Name : http-api
Host : 0.0.0.0
Port : 4001 # Port of http server, default 4001
Timeout : 30000 # Timeout of http request, default 30000(ms)
Log :
Level : debug
Mode : file # Log mode, default console 日志模式,可选 console(命令行输出) 或 file
Path : ../logs # Log file path, default ../logs
Spec :
GPT :
# Token: "sk-" # Token of OpenAI, will start mock mode if not set. OpenAI 密钥,如果不设置则启用 mock 模式
# TransportUrl: "http://localhost:4002" # Transport url of OpenAI, default "http://localhost:4002 代理地址,如果不设置则不启用代理
Timeout : 20s # Timeout of OpenAI request, default 20s
MaxToken : 1000 # Max token of OpenAI response, default 1000
بعد تعديل الملف، إذا كنت بحاجة One-click deployment
أو container deployment
، فيرجى تنفيذ الأمر التالي
mkdir -p ./effibot_config
cp http/etc/http-api.yaml ./effibot_config
يرجى التأكد من تثبيت وتمكين docker
و docker-compose
بشكل صحيح.
docker-compose up -d
سيتم تشغيل العميل التجريبي على المنفذ 4000
، وسيتم تشغيل REST API على كلا المنفذين 4000
و 4001
.
إذا لم يكن لديك docker-compose
، فيمكنك استخدام الأمر التالي:
docker network create effibot
docker run -p 4001:4001 -v ./effibot_config:/app/etc --network effibot --name effibot -d finishy/effibot:latest
docker run -p 4000:4000 --network effibot --name effibot-demo -d finishy/effibot-demo:latest
تأكد من تثبيت وتكوين golang 1.18+.
cd http
go run http.go # go build http.go && ./http
الخروج من الدليل
cd ..
docker build -t effibot:latest -f http/Dockerfile .
docker network create effibot
# Modify the configuration file as needed, such as adding the OpenAI token and change the log mode to console
docker run -p 4001:4001 -v ./effibot_config:/app/etc --network effibot --name effibot -d effibot:latest
docker build -t effibot-demo:latest -f demo/Dockerfile .
docker run -p 4000:4000 --network effibot --name effibot-demo -d effibot-demo:latest
تم تطوير العميل التجريبي بواسطة Vue.js + Vite + TypeScript، ويتطلب بيئة Node.js 14+.
cd demo
yarn && yarn dev
سيتم فتح العميل التجريبي تلقائيًا على http://localhost:5173.