İçeriğe atla
Nymbot’a Dönüş

Bilgi tabanı Geliştirici

Araçlar ve SDK

OpenAI veya Anthropic ile konuşabilen her şey Nymbot ile konuşabilir. neredeyse her durumda temel bir URL, anahtar ve model adıdır.

Aşağıdaki her kurulum bir API anahtarına ihtiyaç duyar, uygulamanın Ateş Menü - Görüntüleme Ateş anahtarları) ve bir model id Model ListesiÖrnekler Kullanımı anthropic/claude-sonnet-5 Eşitlik için pro. nymbot/auto basit sohbet için standart dengede daha ucuz bir seçimdir, ancak Goose'un ihtiyacı olan araçları çağıramaz; bunun için, capabilities.tools.

Claude Code, Codex, Cline, Kilo Code ve Continue gibi kodlama ajanları için kurulum kendi sayfasındadır: kodlama araçları.

Her cihazın kendi anahtarını verin

Kodlama ajanları bir görev için birçok model çağrı yapar ve anahtarın üzerinde bir kapak, bir araçın ne kadar harcayabileceğini bilmenin en basit yoludur.

Açık SDK

Resmi Python ve JavaScript kütüphaneleri değişmeden çalışıyor. base_url Chat Tamamlamaları, Cevaplar, resimler, ses ve eklentiler hepsi onların aracılığıyla çalışır.

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'un kendi alanları, örneğin plugins İnternette arama yapın, içeri girin extra_body Python'da ve doğrudan JavaScript'te talep nesnesine. nymbot Cevapla Cevapla Cevapla Cevapla reply.model_extra["nymbot"] Python ve reply.nymbot Kütüphane: Kütüphaneyi Okuyan Kitaplar OPENAI_BASE_URL Ve OPENAI_API_KEY Çevre değişkenleri sadece bunlarla Nymbot'a işaret edilebilir.

Antropolojik SDK

Antropik Kütüphaneler Kullanımı https://nymbot.ai/api Bazı URL’ler ise, /v1Çünkü ekledikleri /v1/messages Herhangi bir katalog modeli işe yarıyor, sadece Claude değil.

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

Yardımcı

Aider, OpenAI uyumlu herhangi bir sunucuya konuşur. temel URL'yi ve anahtarı ayarlayın ve openai/ Model id önünde, böylece Aider hangi tür sunucu olduğunu biliyor:

Shell

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

Yardımcı, modelin bağlam boyutunu veya fiyatını bilmediğini uyarabilir. --no-show-model-warnings Onu saklayın

Açık Web

Açık Web, Açık admin paneliO zaman ayarlarıO zaman Bağlantılar, ve OpenAI API bağlantısı ekleyin:

  • Url Hakkında: https://nymbot.ai/api/v1
  • Etiket: API Anahtarı

Open WebUI, API'den model listesini okuyor, böylece her sohbet modeli seçicinde görünür. Docker'da çalıştırıldığında, aynı şey çevre değişkenleri ile ayarlanabilir OPENAI_API_BASE_URL Ve OPENAI_API_KEY.

Open WebUI, sohbetlerinizi kendi sunucusuna saklar.Nymbot bunları saklamaz, ancak Open WebUI bunu nerede çalıştırırsanız yapar.

Goş

koş goose configureSeçiniz Konfigürasyon sağlayıcılarıPick Hakkında Açık, ve sorulduğunda bu değerleri verin. aynı zamanda ortamda ayarlanabilir:

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 neredeyse her adımda araç arar, bu yüzden bir model seçin capabilities.tools model listesinde bulunan; nymbot/auto Aletleri reddetmek

Açık HTTP

Hiçbir şey bir SDK gerektirmez. Her son nokta, dosya yüklemeleri hariç, HTTPS üzerinden JSON'dur. HTTP isteğini yapabilen herhangi bir dil veya araç API'yi kullanabilir:

  • anahtarı nasıl gönderirim Authorization: Bearer sk-nymbot-….
  • JSON Vücutları Gönder Content-Type: application/json.
  • Streaming için, cevabı sunucu gönderilen olay olarak okuyun; cURL ile, ekleyin -N Onlar geldiği gibi onları basıyorlar.
  • Fiyatını okuyacak olursak X-Nymbot-Cost-Sats header, ve tutun X-Request-Id Başvuru yapmanız gerekirse header'ı kullanın.

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