Βάση γνώσεων Οι προγραμματιστές
Εργαλεία και SDKs
Οτιδήποτε μπορεί να μιλήσει με το OpenAI ή το Anthropic μπορεί να μιλήσει με το Nymbot.Σε σχεδόν όλες τις περιπτώσεις είναι μια βασική διεύθυνση URL, ένα κλειδί και ένα όνομα μοντέλου.
Αυτή η σελίδα έχει μεταφραστεί μηχανικά για ευκολία. Το αγγλικό πρωτότυπο είναι η έκδοση που ισχύει.
Κάθε παρακάτω ρύθμιση χρειάζεται ένα κλειδί API, που γίνεται στο πλαίσιο της εφαρμογής. Φωτιά Το μενού (βλέπε
Κλειδιά φωτιάς) και ένα μοντέλο ID από
Η λίστα μοντέλωνΤα παραδείγματα που χρησιμοποιούνται
anthropic/claude-sonnet-5 Για την ισορροπία. nymbot/auto είναι η φθηνότερη επιλογή στο πρότυπο ισοζύγιο για απλή συνομιλία, αλλά δεν μπορεί να καλέσει εργαλεία, τα οποία χρειάζεται η Goose. για αυτό, επιλέξτε ένα μοντέλο καταλόγου με capabilities.tools.
Η ρύθμιση για τους πράκτορες κωδικοποίησης όπως Claude Code, Codex, Cline, Kilo Code και Continue είναι στη δική του σελίδα: Εργαλεία κωδικοποίησης.
Κάντε ένα ξεχωριστό κλειδί για κάθε εργαλείο, με ένα καπάκι.Οι πράκτορες κωδικοποίησης κάνουν πολλές κλήσεις μοντέλου για μια εργασία και ένα καπάκι στο κλειδί είναι ο απλούστερος τρόπος για να μάθετε πόσα χρήματα μπορεί να ξοδέψει ένα εργαλείο.
Ανοίξτε το SDK
Οι επίσημες βιβλιοθήκες Python και JavaScript λειτουργούν αμετάβλητες. base_url Συμπληρώματα συνομιλίας, απαντήσεις, εικόνες, ήχο και ενσωματώσεις όλα λειτουργούν μέσα από αυτά.
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);
Τα δικά του πεδία, όπως plugins Για αναζήτηση στο διαδίκτυο, μεταβείτε extra_body
σε Python και απευθείας στο αντικείμενο του αιτήματος σε JavaScript. nymbot Το κόστος αντικείμενο σε μια απάντηση είναι reply.model_extra["nymbot"] Με Python και
reply.nymbot σε JavaScript. Βιβλιοθήκες που διαβάζουν το OPENAI_BASE_URL
και OPENAI_API_KEY Οι περιβαλλοντικές μεταβλητές μπορούν να επισημανθούν στο Nymbot μόνο με αυτές.
Ανθρωπογενής SDK
Οι ανθρωπογενείς βιβλιοθήκες χρησιμοποιούν https://nymbot.ai/api όπως το βασικό URL, χωρίς
/v1Επειδή προσθέτουν /v1/messages Οποιοδήποτε μοντέλο καταλόγου λειτουργεί, όχι μόνο ο 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);
Βοηθός
Ο βοηθός επικοινωνεί με οποιονδήποτε διακομιστή συμβατό με το OpenAI. Ορίστε τη βασική διεύθυνση URL και το κλειδί και τοποθετήστε
openai/ μπροστά από το μοντέλο id έτσι ώστε ο Aider ξέρει ποιο είδος διακομιστή είναι:
Shell
export OPENAI_API_BASE=https://nymbot.ai/api/v1
export OPENAI_API_KEY=sk-nymbot-...
aider --model openai/anthropic/claude-sonnet-5
Ο βοηθός μπορεί να προειδοποιήσει ότι δεν γνωρίζει το μέγεθος περιβάλλοντος ή την τιμή του μοντέλου.
--no-show-model-warnings να το κρύψει.
Ανοιχτή ιστοσελίδα
Σε ανοιχτό WebUI, ανοιχτό admin πάνελΣτη συνέχεια ΡυθμίσειςΣτη συνέχεια Συνδέσεις, και προσθέστε μια σύνδεση OpenAI API:
- Το URL:
https://nymbot.ai/api/v1 - Κλειδί: Κλειδί API
Το Open WebUI διαβάζει τη λίστα μοντέλων από το API, έτσι ώστε κάθε μοντέλο συνομιλίας να εμφανίζεται στο picker του.
OPENAI_API_BASE_URL και OPENAI_API_KEY.
Το Open WebUI διατηρεί τις συνομιλίες σας στον δικό του διακομιστή. το Nymbot δεν τις αποθηκεύει, αλλά το Open WebUI το κάνει, όπου κι αν τις εκτελείτε.
Γουόζου
Τρέξιμο goose configureΕπιλέξτε Διαμόρφωση προμηθευτώνΠικ
Ανοιχτά, και δώστε του αυτές τις τιμές όταν ζητηθεί. Το ίδιο μπορεί να οριστεί στο περιβάλλον:
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 καλεί εργαλεία σχεδόν σε κάθε βήμα, οπότε επιλέξτε ένα μοντέλο με capabilities.tools στη λίστα των μοντέλων, nymbot/auto Αρνούνται τα εργαλεία.
Απλή HTTP
Τίποτα δεν χρειάζεται ένα SDK. Κάθε τερματικό σημείο είναι JSON πάνω από HTTPS, εκτός από τις μεταφορτώσεις αρχείων, οι οποίες είναι φόρμες πολλαπλών τμημάτων.
- Στείλτε το κλειδί ως
Authorization: Bearer sk-nymbot-…. - Στείλτε τα σώματα JSON με
Content-Type: application/json. - Για streaming, διαβάστε την απάντηση ως συμβάν που αποστέλλεται από το διακομιστή. με cURL, προσθέστε
-NΤους εκτυπώνει καθώς έρχονται. - Διαβάστε το κόστος από το
X-Nymbot-Cost-SatsΧάκερ και κρατήστε τοX-Request-IdΧρησιμοποιήστε το header εάν χρειαστεί να ζητήσετε μια αίτηση.
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);