Cơ sở tri thức Nhà phát triển
Công cụ và SDK
Bất cứ điều gì có thể nói chuyện với OpenAI hoặc Anthropic có thể nói chuyện với Nymbot. Trong hầu hết các trường hợp, đó là một URL cơ bản, một khóa và một tên mô hình.
Trang này được dịch bằng máy để thuận tiện. Bản gốc tiếng Anh là phiên bản được áp dụng.
Mỗi thiết lập bên dưới cần một khóa API, được thực hiện trong ứng dụng Lửa Menu (Xem thêm)
Chìa khóa lửa) và một id mô hình từ
Model danh sáchCác ví dụ sử dụng
anthropic/claude-sonnet-5 Đối với Pro Balance nymbot/auto là lựa chọn rẻ hơn trên cân bằng tiêu chuẩn cho chat đơn giản, nhưng nó không thể gọi các công cụ, mà Goose cần; cho điều đó, chọn một mô hình danh mục với capabilities.tools.
Thiết lập cho các đại lý mã hóa như Claude Code, Codex, Cline, Kilo Code và Continue là trên trang riêng của nó: Coding công cụ.
Tạo một khóa riêng biệt cho mỗi công cụ, với một cap. Các đại lý mã hóa thực hiện nhiều cuộc gọi mô hình cho một nhiệm vụ, và một cap trên khóa là cách đơn giản nhất để biết công cụ có thể chi tiêu nhiều nhất.
Mở SDK
Các thư viện chính thức của Python và JavaScript hoạt động không thay đổi. base_url Chat hoàn thành, phản hồi, hình ảnh, âm thanh và nhúng tất cả làm việc thông qua họ.
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ác lĩnh vực của Nymbot, chẳng hạn như plugins Để tìm kiếm trên web, hãy vào extra_body
trong Python và trực tiếp vào đối tượng yêu cầu trong JavaScript. nymbot cost object trong một câu trả lời là reply.model_extra["nymbot"] Trong Python và
reply.nymbot trong JavaScript. Thư viện đọc OPENAI_BASE_URL
Và OPENAI_API_KEY Các biến môi trường có thể được chỉ vào Nymbot với những biến đó một mình.
Phát triển Anthropic SDK
Các thư viện Anthropic sử dụng https://nymbot.ai/api như URL cơ bản, mà không có
/v1Bởi vì họ thêm /v1/messages Bất kỳ mô hình catalog nào cũng hoạt động, không chỉ 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);
Trợ giúp
Trợ lý nói chuyện với bất kỳ máy chủ nào tương thích với OpenAI. Đặt URL cơ bản và khóa, và đặt
openai/ trước id mô hình để Aider biết đó là loại máy chủ nào:
Shell
export OPENAI_API_BASE=https://nymbot.ai/api/v1
export OPENAI_API_KEY=sk-nymbot-...
aider --model openai/anthropic/claude-sonnet-5
Trợ lý có thể cảnh báo rằng nó không biết kích thước ngữ cảnh hoặc giá của mô hình.
--no-show-model-warnings Ẩn nó
Mở web
Trong Open WebUI, mở Admin PanelSau đó cài đặtSau đó Liên hệ, và thêm một kết nối API OpenAI:
- URL :
https://nymbot.ai/api/v1 - Chìa khóa: API Key
Mở WebUI đọc danh sách mô hình từ API, vì vậy mỗi mô hình chat xuất hiện trong máy chọn của nó.Khi chạy nó trong Docker, điều tương tự có thể được thiết lập với các biến môi trường
OPENAI_API_BASE_URL Và OPENAI_API_KEY.
Nymbot không lưu trữ chúng, nhưng Open WebUI làm, bất cứ nơi nào bạn chạy nó.
Goose
chạy goose configure- Chọn Configure nhà cung cấpChọn Pick
Mở, và cung cấp cho nó các giá trị này khi được yêu cầu. Điều tương tự có thể được đặt trong môi trường:
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 gọi công cụ trên hầu hết mọi bước, vì vậy hãy chọn một mô hình với capabilities.tools Trong danh sách mẫu; nymbot/auto Từ chối công cụ
HTTP đơn giản
Không có gì cần một SDK. Mỗi điểm cuối là JSON qua HTTPS, ngoại trừ các tập tin tải lên, đó là các biểu mẫu đa phần. Bất kỳ ngôn ngữ hoặc công cụ nào có thể thực hiện một yêu cầu HTTP có thể sử dụng API:
- Gửi khóa như
Authorization: Bearer sk-nymbot-…. - Gửi cơ quan JSON với
Content-Type: application/json. - Để phát trực tuyến, đọc câu trả lời như là sự kiện được gửi bởi máy chủ; với cURL, thêm
-NVì vậy, nó in chúng khi chúng đến. - Đọc chi phí từ
X-Nymbot-Cost-Satsheader, và giữ choX-Request-Idheader nếu bạn có thể cần hỏi về một yêu cầu.
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);