Die Nano Bots API nutzt Ruby-Nano-Bots, um eine HTTP-API zu erstellen, die es Ihnen ermöglicht, Ihre Nano Bots über Webanfragen zu integrieren.
Nano Bots sind kleine, KI-gestützte Bots, die einfach als einzelne Datei geteilt werden können und zur Unterstützung mehrerer Anbieter wie Anthropic Claude, Cohere Command, Google Gemini, Maritaca AI MariTalk, Mistral AI, Ollama, OpenAI ChatGPT und andere konzipiert sind. mit Unterstützung für den Aufruf von Tools (Funktionen).
Diese API ist kostenlos als öffentliche API verfügbar unter: https://api.nbots.io
Es wird zur Stromversorgung folgender Projekte verwendet:
Anforderungen:
build-essential libffi-dev libsodium-dev lua5.4-dev
git clone https://github.com/icebaker/nano-bots-api.git
cd nano-bots-api
Kopieren Sie die Datei .env.example
nach .env
, geben Sie die erforderlichen Daten ein und führen Sie den Server aus:
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
Lesen Sie die Dokumentation zu Ruby Nano Bots, um mehr über Sicherheits- und Datenschutzfunktionen zu erfahren.
Wir empfehlen dringend, dass Sie ein NANO_BOTS_ENCRYPTION_PASSWORD
definieren, um die Sicherheit und den Datenschutz Ihrer Benutzer zu erhöhen.
Die API stellt sicher, dass Tools (Funktionen) im Sandbox-Modus ausgeführt werden, wenn die Umgebungsvariable FORCE_SANDBOXED
auf true
gesetzt ist. Sie können es auf eigenes Risiko auf false
setzen. Erfahren Sie in der Nano Bots-Spezifikation mehr darüber, was Sandboxing bedeutet.
Außerdem erlaubt die API keine confirmable
Tools; Gemäß der aktuellen Implementierung würden Anfragen blockiert, ohne dass eine Bestätigungsantwort von Benutzern eingeholt werden könnte.
Verb | Weg | Beschreibung |
---|---|---|
ERHALTEN | / | Holen Sie sich die Version. |
ERHALTEN | /Patronen | Holen Sie sich alle verfügbaren Patronen. |
POST | /Patronen/Quelle | Zeigt den Quellcode einer Kassette an. |
POST | /Patronen | Bewerten Sie die Eingabe. |
POST | /Patronen/Stream | Erstellen Sie einen Stream, der für eine Auswertung zusammengefasst werden soll. |
ERHALTEN | /cartridges/stream/:id | Rufen Sie den aktuellen Stream einer Kassette ab. |
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
Dieselben Nutzlasten, die für POST /cartridges
verwendet wurden:
{
"cartridge" : " - " ,
"state" : " - " ,
"input" : " hi "
}
Sobald Sie die Abhängigkeiten mit bundle
installiert haben, führen Sie Rubocop mit dem Flag -A
für automatische Korrekturen aus.
rubocop -A
Wenn beim Upgrade der Gem-Versionen Probleme auftreten:
bundle install --full-index