Aqbeż għall-kontenut
Lura għal Nymbot

Bażi ta 'għarfien Żviluppaturi

Strumenti u SDKs

Kull ħaġa li tista' titkellem ma' OpenAI jew Anthropic tista' titkellem ma' Nymbot. F'kull każijiet, kwaqluba, huwa URL tal-bażi, ċav u ismi tal-mudell.

Kull setup taħt jeħtieġ API key, magħmul fl-app's API menu (xedi Keys tal-API), u ID tal-mudell minn il-lista tal-mudelli. L-eżempji jużaw anthropic/claude-sonnet-5 fuq il-bilanċ Pro. nymbot/auto huwa l-għażla aktar murah fuq il-bażi standard għal chat sempliċi, iżda ma jistax iċempel għodod, li l-Goose għandu bżonn; għal dik, agħżel mudell tal-katalogu b' capabilities.tools.

Is-setup għal aġenti tal-kodifikazzjoni bħal Claude Code, Codex, Cline, Kilo Code u Continue huwa fuq paġna separata: taħtim tal-kodifikazzjoni.

Agħti lil kull għodda l-klavijiet tagħha stess

Aqgħad klave separata għal kull għodda, b'limitu. L-aġenti tal-kodiċi jagħmlu ħafna sejħiet tal-mudell għal task wieħed, u limit fuq il-klavi huwa l-mod aktar sempliċi biex tkun taf l-massimu li għodda tista' tuża. Jekk għodda ma taġixxix kif suppost, revoka l-klavi tagħha u ebda ħaġa oħra ma tiġi affettwata.

OpenAI SDK

Il-libreriji uffiċjali tal-Python u tal-JavaScript jaħdmu mingħajr bidla. Punt base_url f' Nymbot u passa l-klavijiet tiegħek. Chat Completions, Responses, immaġni, awdjo u embeddings kollu jaħdem permezz tagħhom.

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

Il-kampijiet ta' Nymbot stess, bħal plugins għal tfittixra fuq il-web, nidħol extra_body f'Python u direttament fl-oġġett tal-request f'JavaScript. Il- nymbot il-kost l-oġġett f'risposta huwa reply.model_extra["nymbot"] f'Python u reply.nymbot f'JavaScript. Libreriji li jaqraw il- OPENAI_BASE_URL u OPENAI_API_KEY il-variabbli tal-ambjent jistgħu jiġu mixpontati lejn Nymbot b'dawk waħaddhom.

Anthropic SDK

Il-libreriji Anthropic jużaw https://nymbot.ai/api bħala l-URL tal-bażi, mingħajr /v1, għaliex huma jżidu /v1/messages narhom. Kull mudell tal-katalogu jaħdem, mhux biss 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);

Għajnuna

Aider jitkellem ma' kull server kompatibbli ma' OpenAI. Issettja l-URL tal-bażi u l-key, u poġġi openai/ għal quddiem l-id tal-mudell biex Aider ikun jaf li tip ta' server huwa:

Shell

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

Aider jista' iwfar li ma jafx id-daqs tal-kuntest tal-mudell jew il-prezz. L-avvertiment mhuwiex perikoluż; --no-show-model-warnings iħabbitu.

Open WebUI

F'Open WebUI, buka Panell tal-Amministrazzjoni, imbagħad Settings, imbagħad Konnessjonijiet, u żżid konnessjoni OpenAI API:

  • URL: https://nymbot.ai/api/v1
  • Ċwiev: il-klavijiet tal-API tiegħek

L-Open WebUI taqra l-lista tal-modelli mill-API, għalhekk kull mudell ta' chat jidher fil-għażla tiegħu. Meta tkun qed taġixixih f'Docker, l-istess jista' jiġi settat bl-attributi tal-ambjent OPENAI_API_BASE_URL u OPENAI_API_KEY.

L-Open WebUI żżomm il-konversazzjonijiet tiegħu fuq is-server tiegħu stess. Nymbot ma jaħżinx, iżda l-Open WebUI jaħżanhom, fejn ma jkunx qed taġixxiha.

Ganza

Ħoloq goose configure, agħżel Konfigura l-Providers, għażel OpenAI, u agħtihha dawn il-valuri meta titlobha. L-istess jista' jiġi sett mill- ambjent:

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 jsejjaħ għodod fuq kważi kull pass, għalhekk agħżel mudell b' capabilities.tools fil- lista tal-mudelli; nymbot/auto jirrifjuta l-għodod.

HTTP Komuni

L-ebda ħsieġ għal SDK. Kull endpoint huwa JSON fuq HTTPS, ħlief l-upwaloat tal-fajls, li huma multipart forms. Kull lingwaġġ jew għodda li tista' tagħmel HTTP request tista' tuża l-API:

  • Ibgħat il-klav bħala Authorization: Bearer sk-nymbot-….
  • Ibgħat korpi JSON bil- Content-Type: application/json.
  • Għat-streaming, aqra r-risposta bħala server-sent events; bil-cURL, żżid -N hekk ji stampaġhom kif jaslu.
  • Aqra l-kost mill- X-Nymbot-Cost-Sats header, u żżomm il- X-Request-Id titlu jekk tkollak bżonn tistaqsi dwar talba.

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