Nano Bots API ใช้ประโยชน์จาก Ruby-nano-bot เพื่อสร้าง HTTP API ซึ่งช่วยให้คุณสามารถรวม Nano Bots ของคุณผ่านคำขอทางเว็บได้
Nano Bots เป็นบอทขนาดเล็กที่ขับเคลื่อนด้วย AI ซึ่งสามารถแชร์ได้อย่างง่ายดายเป็นไฟล์เดียว ออกแบบมาเพื่อรองรับผู้ให้บริการหลายราย เช่น Anthropic Claude, Cohere Command, Google Gemini, Maritaca AI MariTalk, Mistral AI, Ollama, OpenAI ChatGPT และอื่นๆ พร้อมรองรับการเรียกเครื่องมือ (ฟังก์ชั่น)
API นี้ให้บริการฟรีในรูปแบบ API สาธารณะที่: 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
หากคุณประสบปัญหาในการอัปเกรดเวอร์ชัน gem:
bundle install --full-index