Tsallake zuwa abun ciki
Sauke Nymbot

Tushen ilimi Wasanni

Tools da SDKs

Duk abin da za a iya magana tare da OpenAI ko Anthropic za a iya magana tare da Nymbot. A fiye da kowane hali, shi ne wani asali URL, key da model name.

Kowane setup a karkashin bukatar wani API key, kafa a cikin app Wasanni Menu (Gama) Wasanni Key), kuma wani model id daga Sabuwar ModelƘananan amfani anthropic/claude-sonnet-5 game da Pro Balance. nymbot/auto shi ne mafi kyau zabi a kan tsari na tsari don tsari, amma ba za a iya kira kayan aiki, wanda Goose bukatar; don haka, zabi wani catalog model tare da capabilities.tools.

Setup ga coding kayayyakin kamar Claude Code, Codex, Cline, Kilo Code da Continue ne a kan yanar gizo: Koda kayan aiki.

Sauke kowane kayan aiki da hankali

Sauke wani tsari don kowane kayan aiki, tare da wani cap. Ajiya na coding yi da yawa model calls don wani aiki, da wani cap a kan key ne mafi sauki hanyar don san abin da wani kayan aiki za a iya canza. Idan wani kayan aiki yana da matsaloli, canza shi na key kuma ba tare da abin da ke ba zai haifar da.

Sauke SDK

Shafin shafi: The official Python and JavaScript libraries work unchanged. base_url a kan Nymbot da kuma sauke your key. Chat Completes, Responses, images, audio da embeddings duk aiki ta hanyar su.

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

Nymbot 'yan kayayyakin, kamar plugins for website search, go a extra_body a cikin Python da kuma tsaye a cikin request object a JavaScript. The nymbot cost object a cikin wani yanayin ne reply.model_extra["nymbot"] a cikin Python reply.nymbot a cikin JavaScript. Libraries that read the OPENAI_BASE_URL kuma OPENAI_API_KEY girma yanayi za a iya nuna a Nymbot tare da waɗannan kawai.

Ƙananan SDK

The Anthropic library amfani https://nymbot.ai/api kamar yadda asali URL, ba tare da /v1Saboda haka, sun hada da /v1/messages Duk wani catalog model yana aiki, ba kawai 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);

Kasa

Aider yana magana tare da wani OpenAI-compatible server. Shigar asali URL da key, da kuma sauke openai/ a kan model id don haka Aider yana sani cewa irin server shi ne:

Shell

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

Ma'aikata za a iya alama cewa shi ba ya sani da ƙarfi na model ko farashin. A alama ne mai ban sha'awa. --no-show-model-warnings Sanya shi.

Yanar Gizo

a cikin Open WebUI, Open Tuntube PanelTare da WasanniTare da Tuntube mu, kuma sauke wani OpenAI API connectivity:

  • Tuntube mu: https://nymbot.ai/api/v1
  • Shafin shafi: Your API Key

Open WebUI ya sa model list daga API, don haka kowane chat model ya nuna a cikin picker. A lokacin da ya yi aiki a Docker, wannan yana iya kafa tare da yanayi variables OPENAI_API_BASE_URL kuma OPENAI_API_KEY.

Nymbot ba sa su, amma Open WebUI ya yi, kowane lokaci idan ka yi aiki da shi.

Kasa

Wasanni goose configureZabi Tuntube muhalliƘananan Wasanni, da kuma ba shi wadannan farashin a lõkacin da aka ce. Sama za a iya kafa a cikin yanayi:

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 ya ba da kayan aiki a duk wani mataki, don haka zabi wani model tare da capabilities.tools a cikin model list; nymbot/auto Zabi kayan aiki.

Sauke HTTP

Duk wani SDK ba da ake bukata. Duk wani endpoint ne JSON a kan HTTPS, ba tare da fayiloli da aka sauke, wanda ke da forms da yawa. Duk wani al'umma ko kayan aiki da za a iya sauke wani HTTP tambayoyi za a iya amfani da API:

  • Sauke key a matsayin Authorization: Bearer sk-nymbot-….
  • Sauke JSON bodies tare da Content-Type: application/json.
  • Ƙararrawa, karanta yanayin a matsayin matsaloli na server; tare da cURL, sauke -N kuma ya saita su a lokacin da su zo.
  • Sauke da farashin daga X-Nymbot-Cost-Sats Header, kuma ƙara X-Request-Id header idan za ka iya bukatar wani bukatun.

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