Saltatu edukira
Nymbot-era bueltan

Ezagutza oinarria Garapitzaileak

Tresna eta SDKak

OpenAI edo Anthropic-ekin komunikatzea dakien guztia Nymbot-ekin ere egin dezake. Kasu gehienetan, URL oinarrizko bat, gako bat eta modelo izen bat izatea da.

Beheko konfigurazio bakoitzak API gako bat behar du, aplikazioaren barruan sortua 🤖 API menua (ikusi API gakoak), eta modelo id baten iragana modeloen zerrenda. Adibideak erabiltzen dituzte anthropic/claude-sonnet-5 Pro saldoan. nymbot/auto chat soilagarako azimutzeko oreka estandarrean aukera merkeagoa da, baina ez du tresnak erabili ditzake, Goosek behar dituen; horretarako, hautatu katalogeko modelo bat... capabilities.tools.

Claude Code, Codex, Cline, Kilo Code eta Continue bezalako programazio agenten konfigurazioa bere orrian dago: kodatze tresnak.

Emaitze bakoitzari bere giltza eman

Tresna bakoitzerrat giltza berez bat egin, limitelagiarekin. Programakidosoek lan bat egiteko modelo-dei asko egiten dituzte, eta giltza baten limitea da tresna batek gehien gastatu dezakeen kopurua jakiteko modurik sinpleena. Tresna batek gaizki egiten badu lanik, bertako giltza anulatu egin daiteke eta beste ezer ez da eragingo.

OpenAI SDK

Python eta JavaScript liburutegi ofizialak aldatu gabe funtzionatzen dute. Puntu base_url at Nymbot eta zure gakoa pasatu. Chat Completions, Responses, irudiak, audioa eta embeddings guztiak haien bidez funtzionatzen dute.

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-en eremu propioak, adibidez plugins web bilaketaentzat, sartu extra_body Pythonen eta JavaScripten eskatze-objektura zuzenean. nymbot kostua erantzun baten objektua da reply.model_extra["nymbot"] Pythonen eta reply.nymbot JavaScript-en. Irakurtzen duten liburutegiak OPENAI_BASE_URL eta OPENAI_API_KEY Inguruko aldaketak Nymbotra bideratu daitezke horiek bakarrik erabiliz.

Anthropic SDK

Anthropic bibliotekek erabiltzen dituzte https://nymbot.ai/api URL oinarrizkoa bezala, gabe /v1, ezagutu baitituzte /v1/messages beren buruaz. Katalogo edozein modelo fungitzen du, ez bakarrik 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);

Lagundu

Aider OpenAI konpatibileko edozein zerbitzariari hitz egiten dio. Konfiguratu URL nagusia eta gakoa, eta jarri openai/ modeloaren IDaren aurrean, Aiderrek zer moduko zerbitzaria den jakin dezan:

Shell

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

Aider-k modellen testuinguruaren tamaina edo prezioa ez ezagutzearen inguruko ohartarria emateko aukera izan dezake. Ohartarria ez da txarrik; --no-show-model-warnings ezkutatzen du.

Open WebUI

Open WebUI-n, ireki Administratzailearen Panela, orduan Konfigurazioa, orduan Loturak, eta OpenAI API konektore bat gehitu:

  • URL: https://nymbot.ai/api/v1
  • Gakoa: zure API gakoa

Open WebUIk API bidez irakurtzen dio modeloen lista, beraz, chat modelo guztiek agertzen dira bere hautatzailean. Docker-rekin exekutatzean, inguruko bakoitzaren bidez ere ezdatu daiteke. OPENAI_API_BASE_URL eta OPENAI_API_KEY.

Open WebUI-k zure elkarrizketak bere serbitarikoan gordetzen ditu. Nymbot-ek ez ditu gordetzen, baina Open WebUI-k egiten du, non aurri bertan exekutatu ere.

Arraoa

Korrika egin goose configure, hautatu Konfiguratu Hornitzaileak, hautatu OpenAI, eta eskatu denean balio hauek eman dizkio. Bera ere ingurunean ez daiteke ezartzen:

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-k urrats bakoitzean ia tresnak deitzen ditu, beraz, honakoarekin aukeratu modelo bat: capabilities.tools modeloen zeranetan; nymbot/auto tresnak uko egiten die.

HTTP garbia

Ez dago SDK bakoitzek beharrik izateko. Endpoint bakoitza JSON da HTTPS bidez, fitxategi kargapenak izan ezik, formulario multipart hauek dira. HTTP eskaera bat egin dezakeen hizkuntza edo tresna edozeina izan arren, APIa erabili dezake:

  • Bidali giltza honela Authorization: Bearer sk-nymbot-….
  • Bidali JSON korpueak bidez Content-Type: application/json.
  • Streamingentzat, erantzuna server-sent events bezala irakurri; cURL-rekin, gehitu -N beraz dagerten bezala inprimatzen ditu.
  • Irakurri kostua honen…………………… X-Nymbot-Cost-Sats goibidea, eta mantendu X-Request-Id titulua eskako bati buruz galdetu behar izatean.

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