Ruka hadi yaliyomo
Kurudi kwa Nymbot

Msingi wa maarifa Watengenezaji

Vifaa na SDKs

Kila kitu ambacho kinaweza kuzungumza na OpenAI au Anthropic kinaweza kuzungumza na Nymbot. Katika karibu kila kesi ni URL ya msingi, kifungo na jina la mfano.

Kila usanidi hapa chini unahitaji kifungo cha API, kilichofanywa katika programu Moto wa Menu ya (kutazama) Nyumba ya moto) na id ya mfano kutoka kwa Orodha ya mifanoMfano wa matumizi anthropic/claude-sonnet-5 kwa ajili ya usawa. nymbot/auto ni chaguo la bei nafuu juu ya usawa wa kawaida kwa mazungumzo ya kawaida, lakini haiwezi kuita zana, ambayo Goose inahitaji; kwa hiyo, chagua mfano wa orodha na capabilities.tools.

Kuweka kwa ajili ya vyombo vya coding kama Claude Code, Codex, Cline, Kilo Code na kuendelea ni kwenye ukurasa wake mwenyewe: Vifaa vya coding.

Kutoa kila chombo chake mwenyewe

Tengeneza kifungo kimoja kwa kila chombo, na kifungo. Wafanyabiashara wa coding hufanya wito wengi wa mfano kwa kazi moja, na kifungo kwenye kifungo ni njia rahisi zaidi ya kujua kiasi gani chombo kinaweza kutumia. Ikiwa chombo kinatokea vibaya, kufuta kifungo chake na hakuna kitu kingine kinaathiriwa.

Kuanza kwa SDK

Maktaba rasmi ya Python na JavaScript hufanya kazi bila mabadiliko. base_url Chat Mwisho, Majibu, picha, sauti na embeddings wote kazi kupitia yao.

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

maeneo ya Nymbot mwenyewe, kama vile plugins kwa ajili ya utafutaji wa wavuti, kwenda extra_body katika Python na moja kwa moja kwenye malengo ya ombi katika JavaScript. nymbot Malipo ya malipo katika jibu ni reply.model_extra["nymbot"] kwa Python na reply.nymbot katika JavaScript. vitabu ambavyo vinasoma OPENAI_BASE_URL na OPENAI_API_KEY Mabadiliko ya mazingira yanaweza kuelekezwa kwenye Nymbot na wale tu.

Mfumo wa Anthropic SDK

Matumizi ya vitabu vya Anthropic https://nymbot.ai/api kama URL ya msingi, bila /v1Kwa sababu wanaongeza /v1/messages Mifano yoyote ya katalogu inafanya kazi, si tu 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);

Msaada wa

Msaidizi anazungumza na server yoyote ya OpenAI inayofaa. Weka URL ya msingi na kifungo, na kuweka openai/ mbele ya id ya mfano hivyo Aider anajua ni aina gani ya seva ni:

Shell

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

Msaidizi anaweza kumwambia kwamba hawezi kujua ukubwa wa mazingira au bei ya mfano. --no-show-model-warnings Hivyo kujificha.

Mtandao wa Open

Katika mtandao wa Open WebUI, kufungua Paneli ya AdminBaada ya Mipangilio yaBaada ya Uhusiano wa, na kuongeza uhusiano wa API wa OpenAI:

  • Maelezo ya URL: https://nymbot.ai/api/v1
  • Key yako ya API

Open WebUI inasoma orodha ya mfano kutoka API, hivyo kila mfano wa mazungumzo huonekana katika picker yake. Wakati wa kuendesha katika Docker, inaweza kuweka sawa na variables ya mazingira OPENAI_API_BASE_URL na OPENAI_API_KEY.

Open WebUI inahifadhi mazungumzo yako kwenye seva yake mwenyewe. Nymbot haina kuhifadhi yao, lakini Open WebUI hufanya, popote unapoendesha.

ya goose

Kuendesha goose configureya kuchagua Muundo wa wauzajiPick ya ya kufungua, na kuwapa thamani hizi wakati wa kuuliza. Vivyo hivyo inaweza kuwekwa katika mazingira:

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 huita zana karibu kila hatua, hivyo chagua mfano na capabilities.tools katika orodha ya mifano; nymbot/auto kukataa matumizi ya zana.

Maelezo ya HTTP

Hakuna kitu kinachohitaji SDK. Kila kiwango cha mwisho ni JSON juu ya HTTPS, isipokuwa upakiaji wa faili, ambayo ni fomu za sehemu nyingi. Lugha yoyote au chombo ambacho kinaweza kufanya ombi la HTTP kinaweza kutumia API:

  • Tumia kifungo kama Authorization: Bearer sk-nymbot-….
  • Kutoa vifaa vya JSON kwa Content-Type: application/json.
  • Kwa streaming, soma majibu kama matukio yaliyotumwa na seva; na cURL, kuongeza -N Wao hufanya hivyo wakati wa kuwasili.
  • Soma gharama kutoka kwa X-Nymbot-Cost-Sats header, na kuweka juu ya X-Request-Id header ikiwa unahitaji kuuliza kuhusu ombi.

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