Baza de cunoștințe Dezvoltatorii
Instrumente și SDK-uri
Orice lucru care poate vorbi cu OpenAI sau Anthropic poate vorbi cu Nymbot. În aproape fiecare caz, este un URL de bază, o cheie și un nume de model.
Această pagină este tradusă automat pentru comoditate. Originalul în limba engleză este versiunea care se aplică.
Fiecare setare de mai jos are nevoie de o cheie API, realizată în aplicația focului Meniul (a se vedea
Chei de foc) și un model de ID de la
Lista modeluluiExemplele folosite
anthropic/claude-sonnet-5 În favoarea echilibrului. nymbot/auto este opțiunea mai ieftină pe soldul standard pentru chat-ul simplu, dar nu poate apela la instrumente, de care are nevoie Goose; pentru aceasta, alegeți un model de catalog cu capabilities.tools.
Setarea pentru agenți de codificare, cum ar fi Claude Code, Codex, Cline, Kilo Code și Continuă este pe pagina sa proprie: Instrumente de codificare.
Agenții de codificare fac mai multe apeluri de model pentru o singură sarcină, iar un cap pe cheie este cel mai simplu mod de a ști cât de mult poate cheltui un instrument.
Deschideți SDK
Bibliotecile oficiale Python și JavaScript funcționează neschimbat. base_url Chat Completări, Răspunsuri, imagini, audio și încorporări toate lucrează prin ele.
cURL
curl https://nymbot.ai/api/v1/chat/completions \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "anthropic/claude-sonnet-5", "messages": [{"role": "user", "content": "Hello"}]}'
Python
# pip install openai
import os
from openai import OpenAI
client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])
reply = client.chat.completions.create(
model="anthropic/claude-sonnet-5",
messages=[{"role": "user", "content": "Hello"}],
)
print(reply.choices[0].message.content)
JavaScript
// npm install openai
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });
const reply = await client.chat.completions.create({
model: "anthropic/claude-sonnet-5",
messages: [{ role: "user", content: "Hello" }],
});
console.log(reply.choices[0].message.content);
câmpurile proprii ale lui Nymbot, cum ar fi plugins Pentru a căuta pe site, intră extra_body
în Python şi direct în obiectul de solicitare în JavaScript. nymbot Obiectul de cost în răspuns este reply.model_extra["nymbot"] În Python și
reply.nymbot în JavaScript. Biblioteci care citesc OPENAI_BASE_URL
şi OPENAI_API_KEY Variabilele de mediu pot fi indicate pe Nymbot numai cu acestea.
Antropologie SDK
Bibliotecile antropice folosesc https://nymbot.ai/api ca URL de bază, fără
/v1Pentru că se adaugă /v1/messages Orice model de catalog funcționează, nu doar Claude.
cURL
curl https://nymbot.ai/api/v1/messages \
-H "x-api-key: $NYMBOT_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"model": "claude-sonnet-5", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello"}]}'
Python
# pip install anthropic
import os
import anthropic
client = anthropic.Anthropic(base_url="https://nymbot.ai/api", api_key=os.environ["NYMBOT_API_KEY"])
message = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
)
print(message.content[0].text)
JavaScript
// npm install @anthropic-ai/sdk
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({ baseURL: "https://nymbot.ai/api", apiKey: process.env.NYMBOT_API_KEY });
const message = await client.messages.create({
model: "claude-sonnet-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Hello" }],
});
console.log(message.content[0].text);
Ajutor
Asistentul se adresează oricărui server compatibil cu OpenAI. Setați URL-ul de bază și cheia și puneți
openai/ în fața modelului id, astfel încât Aider știe ce fel de server este:
Shell
export OPENAI_API_BASE=https://nymbot.ai/api/v1
export OPENAI_API_KEY=sk-nymbot-...
aider --model openai/anthropic/claude-sonnet-5
Asistentul poate avertiza că nu cunoaște dimensiunea contextului sau prețul modelului.
--no-show-model-warnings Îl ascundeți
Deschiderea webului
În Open WebUI, Open Panoul adminApoi setăriApoi conexiuni, și adăugați o conexiune OpenAI API:
- Urlă :
https://nymbot.ai/api/v1 - Etichetă: API Key
Open WebUI citește lista de modele din API, astfel încât fiecare model de chat să apară în selectorul său.
OPENAI_API_BASE_URL şi OPENAI_API_KEY.
Open WebUI păstrează conversațiile pe propriul server. Nymbot nu le stochează, dar Open WebUI o face, oriunde o rulați.
Goşă
Război goose configurealegeţi Configurarea furnizorilorPicături
deschisă, și dați-i aceste valori atunci când vi se cere. Același lucru poate fi setat în mediu:
Shell
export GOOSE_PROVIDER=openai
export OPENAI_HOST=https://nymbot.ai/api
export OPENAI_BASE_PATH=v1/chat/completions
export OPENAI_API_KEY=sk-nymbot-...
export GOOSE_MODEL=anthropic/claude-sonnet-5
goose session
Goose cheamă instrumente la aproape fiecare pas, deci alegeți un model cu capabilities.tools în lista de modele; nymbot/auto Refuzul de instrumente.
Simplu HTTP
Nimic nu are nevoie de un SDK. Fiecare punct final este JSON peste HTTPS, cu excepția fișierelor încărcate, care sunt formulare cu mai multe părți. Orice limbă sau instrument care poate face o cerere HTTP poate utiliza API-ul:
- Trimite cheia ca
Authorization: Bearer sk-nymbot-…. - Trimiteți corpuri JSON cu
Content-Type: application/json. - Pentru streaming, citiți răspunsul ca eveniment trimis de server; cu cURL, adăugați
-NAșa că le imprimă pe măsură ce ajung. - Citiți costul de la
X-Nymbot-Cost-SatsHeader, și să păstrezeX-Request-IdHeader dacă este necesar să solicitați o cerere.
cURL
curl -i https://nymbot.ai/api/v1/chat/completions \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "nymbot/auto", "messages": [{"role": "user", "content": "Hello"}]}'
Python
import os
import requests
res = requests.post(
"https://nymbot.ai/api/v1/chat/completions",
headers={"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]},
json={"model": "nymbot/auto", "messages": [{"role": "user", "content": "Hello"}]},
)
print(res.headers["X-Nymbot-Cost-Sats"], res.headers["X-Request-Id"])
print(res.json()["choices"][0]["message"]["content"])
JavaScript
const res = await fetch("https://nymbot.ai/api/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.NYMBOT_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({ model: "nymbot/auto", messages: [{ role: "user", content: "Hello" }] }),
});
console.log(res.headers.get("X-Nymbot-Cost-Sats"), res.headers.get("X-Request-Id"));
console.log((await res.json()).choices[0].message.content);