Lumaktaw sa nilalaman
Pagbalik sa Nymbot

Batayan ng kaalaman mga developer

Mga Tool at SDK

Ang lahat ng bagay na maaaring mag-talk sa OpenAI o Anthropic ay maaaring mag-talk sa Nymbot. Sa halos lahat ng kaso ito ay isang base URL, isang key at isang modelo na pangalan.

Ang bawat pag-setup sa ibaba ay kinakailangan ng isang API key, na ginawa sa app ang fire Tingnan ang menu ang fire keys), at isang modelo id mula sa Ang modelo ng listahanAng mga halimbawa ng paggamit anthropic/claude-sonnet-5 Para sa balanse. nymbot/auto ay ang mas mahusay na pagpipilian sa standard balance para sa simpleng chat, ngunit ito ay hindi maaaring i-call ng mga tool, na kailangan ng Goose; para sa ito, piliin ang isang modelo ng catalog na may capabilities.tools.

Ang pag-setup para sa mga agent ng coding tulad ng Claude Code, Codex, Cline, Kilo Code at Continue ay sa kanyang sarili na pahina: Mga Tool ng Coding.

Magbigay ng bawat tool ang kanyang sarili na key

Gumawa ng isang partikular na key para sa bawat tool, na may isang cap. Ang mga agent ng coding ay gumawa ng maraming mga model calls para sa isang task, at isang cap sa key ay ang simplest paraan upang malaman ang karamihan ng isang tool ay maaaring i-spend.

Maghanap ng SDK

Ang mga opisyal na mga library ng Python at JavaScript ay gumagana nang walang pagbabago. base_url sa Nymbot at ipasok ang iyong key. Chat Completions, Responses, imahe, audio at embeddings lahat ng trabaho sa pamamagitan ng mga ito.

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);

Ang mga field ng Nymbot, tulad ng plugins Para sa paghahanap ng web, pumunta sa extra_body sa Python at direkta sa request object sa JavaScript. nymbot Ang cost object sa isang response ay reply.model_extra["nymbot"] Sa Python at sa reply.nymbot sa JavaScript. Libraries na makikita ang mga OPENAI_BASE_URL at OPENAI_API_KEY Ang mga variables ng environment ay maaaring i-point sa Nymbot sa pamamagitan ng mga lamang.

Ang anthropic SDK

Ang mga antropic libraries ay gumagamit https://nymbot.ai/api sa pamamagitan ng isang base URL, walang /v1Dahil sa mga sumusunod /v1/messages Lahat ng mga modelo ng catalog ay gumagana, hindi lamang 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);

sa tulong

Aider talks sa anumang OpenAI-compatible server. I-set ang base URL at key, at i-set openai/ malapit sa modelo id kaya Aider alam kung ano ang uri ng server ito ay:

Shell

export OPENAI_API_BASE=https://nymbot.ai/api/v1
export OPENAI_API_KEY=sk-nymbot-...
aider --model openai/anthropic/claude-sonnet-5

Ang mga manlalaro ay maaaring i-warn na ito ay hindi alam ang kontekstong size o presyo ng modelo. --no-show-model-warnings Ikaw ang hide.

Open ang web

Sa Open WebUI, Open Admin ng PanelAt pagkatapos ang settingsAt pagkatapos mga koneksyon, at magdagdag ng isang OpenAI API connection:

  • ang url: https://nymbot.ai/api/v1
  • Ang iyong API Key

Open WebUI makikita ang listahan ng modelo mula sa API, kaya ang bawat modelo ng chat ay matatagpuan sa kanyang picker. Kapag i-execute ito sa Docker, ang parehong ito ay maaaring i-set sa mga variables ng environment OPENAI_API_BASE_URL at OPENAI_API_KEY.

Ang Nymbot ay hindi i-save ang mga ito, ngunit ang Open WebUI ay gawin, kung saan mo i-execute ito.

ang goose

Paglalakbay goose configurePiliin ang Konfigurasyon ng mga ProvidersPick ang Open angAng mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod na mga sumusunod:

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 sumulat ng mga tool sa halos lahat ng step, kaya piliin ang isang modelo na may capabilities.tools sa listahan ng mga modelo; nymbot/auto Gawin ang mga tool.

Paggamit ng HTTP

Walang kailangan ng isang SDK. Ang lahat ng mga endpoint ay JSON sa pamamagitan ng HTTPS, kasama ang mga upload ng file, na kung saan ay multipart forms. Ang anumang wika o tool na maaaring gumawa ng isang HTTP request ay maaaring gamitin ang API:

  • I-send ang key as Authorization: Bearer sk-nymbot-….
  • I-send ang mga JSON bodies Content-Type: application/json.
  • Para sa pag-streaming, i-read ang reaksyon bilang server-send events; sa cURL, i-add -N Ipinanganak niya ang mga ito kapag dumating.
  • Tingnan ang gastos mula sa X-Nymbot-Cost-Sats Header, at ang mga ito ay X-Request-Id Header kung kailangan mo ng isang request.

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);