ميزات | خارطة الطريق | المساهمة | تشغيل محليا | ؟
يمكنك أيضًا بناء ونشر نفسك! ومع ذلك ، يجب عليك تكوين بيئتك.
Waggledance.ai هو تطبيق تجريبي يركز على تحقيق الأهداف المحددة للمستخدم. يوفر واجهة مستخدم ودية ولكنها رأي لبناء أنظمة قائمة على الوكيل. يركز المشروع على التوضيح ، والملاحظة ، والتوليد المتزامن ، والاستكشاف. حاليًا في مرحلة ما قبل الألفا ، تفضل فلسفة التنمية التجربة على الاستقرار لأن أنظمة حل الأهداف وأنظمة الوكيل تتطور بسرعة.
Waggledance.ai يأخذ هدفًا ويمرره إلى وكيل مخطط يقوم بتدفق رسم بياني تنفيذ للمهام الفرعية. يتم تنفيذ كل مهام فرعية بشكل متزامن قدر الإمكان من قبل وكلاء التنفيذ . للحد من النتائج السيئة والهلوسة ، تتم مراجعة النتائج الفرعية من قبل وكلاء النقد . في النهاية ، سيكون بإمكان الإنسان في الحلقة (أنت!) الدردشة مع الوكلاء الفرديين وتقديم تصحيح الدورة إذا لزم الأمر.
كانت مستوحاة في الأصل من GPT التلقائي ، ولها ميزات التزامن مماثلة لتلك الموجودة في GPT-Researcher. لذلك ، تشمل المبادئ الأساسية للمشروع السرعة والدقة والملاحظة والبساطة . بالإضافة إلى ذلك ، تتم كتابة العديد من الأنظمة الوكلاء الأخرى في Python ، لذا فإن هذا المشروع يعمل بمثابة توازن صغير مضاد ، ويمكن الوصول إليه للعدد الكبير من مطوري JavaScript.
تتوفر واجهة برمجة تطبيقات (غير مستقرة) أيضًا عبر TRPC وكذلك واجهة برمجة التطبيقات التي تم تنفيذها في Next.js. يكون جانب العميل مسؤولاً في الغالب عن تنسيق وإعطاء عمليات إعدام الوكيل ، بينما يقوم API و Server Side بتنفيذ الوكلاء ويخزنون النتائج. من المحتمل أن يتم تعديل هذه الهندسة المعمارية في المستقبل.

TypeScript﹒ langchain.js﹒ T3﹒ Prisma﹒ TRPC﹒ weaviate﹒ postgres﹒ Openai API﹒ موي فرحة
لوحة خريطة الطريق المباشرة﹒ يساهم
أساسا ، أي شيء وكل شيء يذهب! على الرغم من أن الأنظمة متعددة الوكلاء لها ماض طويل ومواد طوابق ، فإن هذا المشروع يدور حول الزواج من التقنيات السابقة مع أحدث الأبحاث.
يمكن نشر Waggledance.ai محليًا باستخدام Docker أو يدويًا باستخدام Node.js. مطلوب تكوين .env vars.
docker-compose up --build
npm أو yarn قد يعمل أيضًا.pnpm add turbo --global أو استخدم pnpx turbo بدلاً من turbo أدناه..env.example إلى .env وتكوين متغيرات البيئة. للحصول على المساعدة ، يرجى التواصل مع الخلاف. انظر env-schema.mjs للحصول على متطلبات صريحة.ارجع إلى .env.example و env-schema.mjs لمتغيرات البيئة المطلوبة. حاليًا يتم دعم Postgres فقط عبر Prisma. يمكنك استخدام مثيل Postgres المحلي (يوصى باستخدام Docker) أو مزود السحابة مثل Supabase.
بمجرد إعداد وتأمين وتكوين Postgres الخاص بك ، قم بتشغيل الأوامر التالية:
pnpm db:generate
pnpm db:pushdb:generate إنشاء الطباعة المحلية ومعلومات DB من ملف schema.prisma ( ./packages/db/prisma/schema.prisma ).db:push يدفع المخطط إلى مزود قاعدة البيانات (PostgreSQL بشكل افتراضي).turbo dev
# or
pnpm devتم تشويه هذا المشروع من Create-T3-Turbo لمعرفة المزيد ، يمكنك التحقق من وثائق Boilerplate
تأكد من تثبيت الامتدادات الموصى بها في الحل ، وخاصة es-lint .
يتم تشغيل Linting على كل بناء ويمكن أن تفشل في التصميم.
للحصول على قائمة كاملة من أخطاء linting Run:
turbo lintقد يكون بعضها قادرًا على تثبيت تلقائيًا مع:
turbo lint:fixوالنسخة التي يديرها CI:
SKIP_ENV_VALIDATION=true NODE_ENV=production turbo build بالنسبة للباقي ، ستحتاج إلى فتح الملف المرتبط به وإصلاح الأخطاء بنفسك. الحد من ts-ignore للحالات القصوى.
كأفضل الممارسات ، قم بتشغيل turbo lint قبل بدء ميزة وبعد الانتهاء من الميزة وإصلاح أي أخطاء قبل إرسال PR .
تتوفر التطبيقات والحزم والمكتبات والمترجمة بأكملها بحرية بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. عملية التطوير مفتوحة ، والجميع مرحب بهم للانضمام. في المستقبل ، قد نختار تطوير ملحقات مرخصة للاستخدام التجاري.