Luncat ka eusi
Kembali ka Nymbot

Dasar pangaweruh ngembangkeun

Alat jeung SDK

Sakabéh anu bisa ngobrol ka OpenAI atawa Anthropic bisa ngobrol ka Nymbot. Dina sapertos unggal kasus éta URL dasar, kunci jeung ngaran model.

Sakabéh setup di handap kudu API key, dijieun dina aplikasi Ngaronjatkeun Ngeunaan menu Nyambungkeun API, jeung model id ti Ngeunaan modelDemi sasatoan anu dimaksud nyaéta vertebrata. anthropic/claude-sonnet-5 Ieu téh pro keseimbangan. nymbot/auto mangrupakeun pilihan murah dina keseimbangan standar pikeun chat biasa, tapi eta teu bisa nelepon alat, nu Goose dibutuhkeun; pikeun ieu, milih model katalog kalawan capabilities.tools.

Setup pikeun agén coding kayaning Claude Code, Codex, Cline, Kilo Code jeung terus aya dina kaca sorangan: Alat coding téh.

Pikeun unggal alat nyadiakeun kunci sorangan.

Meunangkeun hiji kunci terpisah pikeun unggal alat, kalayan cap. Agen coding nyieun loba panggero model pikeun hiji tugas, jeung cap on key nyaéta cara paling gampang pikeun nyaho paling loba alat bisa nghabiskan.

Ngeunaan SDK

Bibliotek resmi Python jeung JavaScript ngoperasikeun tanpa ngarobah. base_url di Nymbot jeung nyadiakeun kunci Anjeun. Chat Lengkep, Jawaban, gambar, audio jeung embeddings sadaya gawé ngaliwatan aranjeunna.

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 sorangan wewengkon, kayaning plugins pikeun web search, ninggalkeun extra_body di Python jeung langsung kana obyek request dina JavaScript. nymbot Cost object dina respon nyaéta: reply.model_extra["nymbot"] Dina Python jeung reply.nymbot di JavaScript. Perpustakaan anu nelepon OPENAI_BASE_URL jeung OPENAI_API_KEY variabel lingkungan bisa dipikaresepkeun dina Nymbot ku anu ngan.

Ngeunaan SDK

Dina perpustakaan anthropic https://nymbot.ai/api Ku kituna url basa, tanpa /v1Ku kituna, nu nambahkeun /v1/messages Any catalog model works, teu ngan 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);

Anjeunna

Aider ngobrol ka mana wae OpenAI-kompatibel server. Set URL dasar jeung kunci, sarta nempatkeun openai/ di hadé id model jadi Aider nyaho naon jenis server eta:

Shell

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

Aider bisa nyarankeun yén eta teu nyaho ukuran konteks model atawa harga. --no-show-model-warnings Hideungkeun téh.

Anjeunna web

Dina Open WebUI, buka Panalungtikan PanelAnjeunna SetelanAnjeunna Sambungkeun, jeung nambahkeun sambungan OpenAI API:

  • url nu: https://nymbot.ai/api/v1
  • Ngeunaan API Key

Open WebUI nelepon daftar model ti API, jadi unggal model chat nembongkeun dina picker na. Nalika ngajalankeun eta di Docker, sarua bisa diatur ku variabel lingkungan OPENAI_API_BASE_URL jeung OPENAI_API_KEY.

Open WebUI nyimpen percakapan anjeun dina server sorangan. Nymbot teu nyimpen aranjeunna, tapi Open WebUI nyimpen, di mana anjeun ngajalankeun eta.

Anjeunna

Loba goose configureNgeunaan Ngeunaan providerAnjeunna pick Anjeunna, jeung nyadiakeun nilai ieu lamun diminta. Hal anu sarua bisa diatur dina lingkungan:

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 nelepon alat di sabudeureun unggal langkah, jadi milih model kalayan capabilities.tools Demi sasatoan anu dimaksud nyaéta vertebrata. nymbot/auto Ngaronjatkeun alat

Ngeunaan https

Sakabéh kudu hiji SDK. Sadaya titik ujung téh JSON leuwih HTTPS, di luar uploads file, nu mangrupakeun formulir multipart. Mana wae basa atawa alat nu bisa nyieun permintaan HTTP bisa ngagunakeun API:

  • Ngirimkeun kunci salaku Authorization: Bearer sk-nymbot-….
  • Ngirimkeun organ JSON ku Content-Type: application/json.
  • Pikeun streaming, maca respon salaku acara dikirimkeun ku server; kalawan cURL, nambahkeun -N Hal ieu dikaluarkeun ku ayana sasalad pangaweruh.
  • Ngeunaan biaya anu di X-Nymbot-Cost-Sats Header, jeung ngajaga X-Request-Id header lamun anjeun kudu ngobrol ngeunaan permintaan.

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