تعمل واجهة برمجة تطبيقات Nano Bots على تعزيز روبوتات Ruby-nano-bots لإنشاء واجهة برمجة تطبيقات HTTP، مما يتيح لك دمج Nano Bots من خلال طلبات الويب.
Nano Bots عبارة عن روبوتات صغيرة تعمل بالذكاء الاصطناعي ويمكن مشاركتها بسهولة كملف واحد، وهي مصممة لدعم مقدمي خدمات متعددين مثل Anthropic Claude وCohere Command وGoogle Gemini وMaritaca AI MariTalk وMistral AI وOllama وOpenAI ChatGPT وغيرها. مع دعم أدوات الاتصال (الوظائف).
واجهة برمجة التطبيقات هذه متاحة مجانًا كواجهة برمجة تطبيقات عامة على: https://api.nbots.io
يتم استخدامه لتشغيل المشاريع التالية:
متطلبات:
build-essential libffi-dev libsodium-dev lua5.4-dev
git clone https://github.com/icebaker/nano-bots-api.git
cd nano-bots-api
انسخ ملف .env.example
إلى .env
واملأ البيانات اللازمة وقم بتشغيل الخادم:
cp .env.example .env
bundle
./init.sh
git clone https://github.com/icebaker/nano-bots-api.git
cd nano-bots-api
./build.sh
cp docker-compose.example.yml docker-compose.yml # Provide your credentials.
docker-compose up -d
# http://localhost:3048
اقرأ وثائق Ruby Nano Bots للتعرف على ميزات الأمان والخصوصية.
نوصي بشدة بتعريف NANO_BOTS_ENCRYPTION_PASSWORD
لزيادة أمان وخصوصية المستخدمين.
تضمن واجهة برمجة التطبيقات (API) تشغيل الأدوات (الوظائف) في وضع الحماية عند تعيين متغير البيئة FORCE_SANDBOXED
على true
. يمكنك ضبطه على false
على مسؤوليتك الخاصة. تعرف على المزيد حول معنى وضع الحماية في مواصفات Nano Bots.
كما أن واجهة برمجة التطبيقات (API) لا تسمح بأدوات confirmable
؛ وفقًا للتنفيذ الحالي، فإنه سيتم حظر الطلبات دون القدرة على جمع إجابة تأكيد من المستخدمين.
فعل | طريق | وصف |
---|---|---|
يحصل | / | احصل على النسخة. |
يحصل | /خراطيش | احصل على جميع الخراطيش المتاحة. |
بريد | /خراطيش/مصدر | إظهار الكود المصدري للخرطوشة. |
بريد | /خراطيش | تقييم المدخلات. |
بريد | /خراطيش/تيار | قم بإنشاء دفق ليتم تجميعه للتقييم. |
يحصل | /الخراطيش/الدفق/:id | احصل على التدفق الحالي للخرطوشة. |
POST /cartridges/source
{
"id" : " - "
}
POST /cartridges
{
"cartridge" : " - " ,
"state" : " - " ,
"input" : " hi "
}
POST /cartridges
{
"cartridge" : {
"meta" : {
"symbol" : " ? " ,
"name" : " Nano Bot Name " ,
"author" : " Your Name " ,
"version" : " 1.0.0 " ,
"license" : " CC0-1.0 " ,
"description" : " A helpful assistant. "
},
"behaviors" : {
"interaction" : {
"directive" : " You are a helpful assistant. "
}
},
"interfaces" : {
"repl" : {
"prompt" : [
{ "text" : " ? " },
{ "text" : " > " , "color" : " blue " }
]
}
},
"provider" : {
"id" : " openai " ,
"credentials" : {
"access-token" : " ENV/OPENAI_API_KEY "
},
"settings" : {
"user" : " ENV/NANO_BOTS_END_USER " ,
"model" : " gpt-3.5-turbo "
}
}
},
"state" : " - " ,
"input" : " hi "
}
POST /cartridges
{
"as" : " repl " ,
"action" : " boot " ,
"cartridge" : " - " ,
"state" : " a21179b6104703af19328485101be839 "
}
POST /cartridges
{
"as" : " repl " ,
"action" : " eval " ,
"cartridge" : " - " ,
"state" : " a21179b6104703af19328485101be839 "
}
POST /cartridges
{
"as" : " eval " ,
"action" : " boot " ,
"cartridge" : " - " ,
"state" : " 5677e56bbff1e8137c8eb1f60d2623ac "
}
POST /cartridges
{
"as" : " eval " ,
"action" : " eval " ,
"cartridge" : " - " ,
"state" : " 5677e56bbff1e8137c8eb1f60d2623ac "
}
POST /cartridges/stream
نفس الحمولات التي تم استخدامها لـ POST /cartridges
:
{
"cartridge" : " - " ,
"state" : " - " ,
"input" : " hi "
}
بمجرد تثبيت التبعيات مع bundle
، قم بتشغيل Rubocop باستخدام العلامة -A
للإصلاحات التلقائية.
rubocop -A
إذا كنت تواجه مشكلات في ترقية إصدارات الأحجار الكريمة:
bundle install --full-index