Wissensdatenbank Entwickler
Tools und SDKs
Alles, was mit OpenAI oder Anthropic sprechen kann, kann mit Nymbot sprechen.In fast allen Fällen handelt es sich um eine Basis-URL, einen Schlüssel und einen Modellnamen.
Diese Seite wurde der Einfachheit halber maschinell übersetzt. Es gilt das englische Original.
Jede unten stehende Installation benötigt einen API-Schlüssel, der in der App erstellt wird Feuer Das Menü (siehe
Feuer Schlüssel) und eine Modell-ID von
Die ModelllisteDie Beispiele verwenden
anthropic/claude-sonnet-5 Auf der Pro Balance. nymbot/auto ist die billigere Wahl auf der Standardbilanz für einfachen Chat, aber es kann keine Tools anrufen, die Goose braucht; dafür wählen Sie ein Katalogmodell mit capabilities.tools.
Setup für Codierungsagenten wie Claude Code, Codex, Cline, Kilo Code und Continue ist auf seiner eigenen Seite: Codierungswerkzeuge.
Codierende Agenten machen viele Modellanrufe für eine Aufgabe, und eine Kappe auf dem Schlüssel ist der einfachste Weg, um zu wissen, wie viel ein Werkzeug ausgeben kann.
Öffnen Sie SDK
Die offiziellen Python- und JavaScript-Bibliotheken funktionieren unverändert. base_url Chat Vollendungen, Antworten, Bilder, Audio und Embeddings alle arbeiten durch sie.
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);
Die eigenen Felder von Nymbot, wie plugins für die Suche im Internet, gehen Sie in extra_body
in Python und direkt in das Anfrageobjekt in JavaScript. nymbot Kostenobjekt in einer Antwort ist reply.model_extra["nymbot"] In Python und
reply.nymbot in JavaScript. Bibliotheken, die die OPENAI_BASE_URL
Und OPENAI_API_KEY Umweltvariablen können nur mit diesen auf Nymbot angezeigt werden.
Anthropische SDK
Die anthropischen Bibliotheken nutzen https://nymbot.ai/api als die Basis-URL, ohne
/v1Weil sie hinzufügen /v1/messages Jedes Katalogmodell funktioniert, nicht nur 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);
Helfer
Aider spricht mit jedem OpenAI-kompatiblen Server. Setzen Sie die Basis-URL und den Schlüssel ein und setzen Sie
openai/ vor der Modell-ID, so dass Aider weiß, welche Art von Server es ist:
Shell
export OPENAI_API_BASE=https://nymbot.ai/api/v1
export OPENAI_API_KEY=sk-nymbot-...
aider --model openai/anthropic/claude-sonnet-5
Der Helfer kann warnen, dass er die Kontextgröße oder den Preis des Modells nicht kennt.
--no-show-model-warnings verstecken Sie es.
Offene Webseiten
In Open WebUI, Open Admin PanelDann dann Settings zuDann dann Verbindungen, und fügen Sie eine OpenAI API-Verbindung hinzu:
- Die URL:
https://nymbot.ai/api/v1 - Schlüssel: Ihr API-Schlüssel
Open WebUI liest die Modellliste aus der API, so dass jedes Chat-Modell in seinem Picker erscheint.Wenn es in Docker ausgeführt wird, kann das gleiche mit den Umgebungsvariablen eingestellt werden
OPENAI_API_BASE_URL Und OPENAI_API_KEY.
Nymbot speichert sie nicht, aber Open WebUI tut es, wo immer Sie es ausführen.
Goose
Rennen goose configureWählen Sie Konfiguration der Anbieterund Pick
Öffnen, und geben Sie ihm diese Werte, wenn gefragt. Das gleiche kann in der Umgebung eingestellt werden:
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 ruft Werkzeuge auf fast jedem Schritt, also wählen Sie ein Modell mit capabilities.tools in der Modellliste; nymbot/auto Werkzeuge ablehnen
Einfacher HTTP
Nichts braucht ein SDK. Jeder Endpunkt ist JSON über HTTPS, mit Ausnahme der Datei-Uploads, die mehrteilige Formulare sind.
- Schicken Sie den Schlüssel als
Authorization: Bearer sk-nymbot-…. - Senden Sie JSON-Körper mit
Content-Type: application/json. - Zum Streamen lesen Sie die Antwort als Servergesandte Ereignisse; mit cURL fügen Sie hinzu
-NSie werden dadurch gedruckt, wenn sie ankommen. - Lesen Sie die Kosten von der
X-Nymbot-Cost-SatsHeader, und behalten Sie dieX-Request-IdHeader, wenn Sie möglicherweise nach einer Anfrage fragen müssen.
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);