Holo i ka ʻike
Hoʻi i Nymbot

kahua ʻike Nā mea kūkulu polokalamu

Nā mea hana a me nā SDK

He mea aʻo ʻia kēlā me kēia hiki ke kamaʻilio me OpenAI a me Anthropic, hiki ia iā Nymbot. Ma kēlā me kēia manawa, he URL waiwai, he kī, a he inoa maʻamau ʻo ia.

ʻO nā hoʻonohono a pau i lalo kēia e pono ai kekahi API key, i hana ʻia ma loko o ka polokalamu API papa ʻaina (nānā Nā limawele API), a me ka helu hōʻike o ka māhele mai ka papa inoa o nā k的模型. Ke hoʻohana ʻia nā laʻaukoʻa anthropic/claude-sonnet-5 ma luna o ka pūʻaiʻai Pro. nymbot/auto he koepala ʻoi aku ʻelā ma luna o ka pūʻolo maʻamau no ka kamaʻilio wale ʻana, akā ʻaʻole hiki iā ia ke kāhea i nā mea hana, i mea e pono ai ʻo Goose; no kēlā, koho i kahi māhele kōkua me capabilities.tools.

Ke hoʻonohono ʻana no nā ʻōpio kōdu e like me Claude Code, Codex, Cline, Kilo Code a me Continue ʻana e loaʻa ana ma kekahi ʻaoʻao ponoʻī: mea hana polokalamu.

Hāʻawi i kēlā me kēia mea hana i kona pālua ponoʻī

Hoʻomākā i kekahi hola kūpono no kēlā me kēia mea hana, me kekahi palena. He nui nā uila kōkua ʻana o nā ʻōnaehana kōkoha ma o nā huakauna kōpala no kekahi hana hoʻokahi, a ʻo ka palena ma luna o ka hola ʻo ia ka ala maʻalahi loa e ʻike ai i ka nui loa o ka loaʻa o kekahi mea hana. Inā hapaheha kekahi mea hana, hoʻopau i kona hola a ʻaʻole i loli kekahi mea ʻē aʻe.

OpenAI SDK

Hana me ka ʻole o ka loli nā pahu Python a me JavaScript kūpono. Pō'ai. base_url e hoʻohana i Nymbot a hoʻolele i kou pohaku. Hana ʻia nā Chat Completions, Responses, nā kiʻi, ke leo, a me nā embeddings a pau ma o lākou.

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

Nā kahua ponoʻī o Nymbot, e like me plugins no ka ʻimi web, e hele i loko extra_body ma Python a koke i loko o ka ʻōlelo JavaScript request object. Ke nymbot ke kumuhana o kahi mea i loko o ka pane ʻia ʻia ʻo ia ia reply.model_extra["nymbot"] i loko o Python a me reply.nymbot i JavaScript. Nā pahu ʻoihana e heluhelu ai i ka OPENAI_BASE_URL a OPENAI_API_KEY Hiki ke hoʻonāpono ʻia nā manaʻo kaiapuni i ka Nymbot me kēlā wale nō.

Anthropic SDK

Ke hoʻohana ʻia nā pahu kīwī a Anthropic https://nymbot.ai/api ma ke ʻaoao URL kūpuna, ʻole /v1, no ka mea ua hoʻemi lā lāua /v1/messages ia lākou iho. Koe kēlā me kēia ʻano kapa e hana ana, ʻaʻole wale nō ʻo 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);

Kōkua

Ke ʻōlelo ʻana o Aider i kēlā me kēia hale kūlanakauhale e kūpono ana me OpenAI. Hoʻopono i ka URL waiwai a me ka pūnaewele, a e hoʻokapu openai/ ma mua o ka ʻano kumu i ʻoia ia e ʻike ai ʻo Aider he aha ka ʻano hale kūlana ia:

Shell

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

Hiki ke ʻōlelo ʻia e Aider he ʻike ʻole ia i ka nui o ka mea kūʻai ʻana a i ʻole ke kumukūʻai o ka māhele. ʻAʻole ʻino ka ʻōlelo ʻoluʻolu; --no-show-model-warnings huna ia.

Wālele WebUI

I Open WebUI, wehe Panela Hoʻokele, ma hope Nā Kiʻoʻoio, ma hope Hoʻokauka ʻana, a ka hoʻemi ʻana i kahi piluna API OpenAI:

  • URL: https://nymbot.ai/api/v1
  • Kī: kou kī API

Heluhelu ʻana o Open WebUI i ka papa inoa o nā mōhele mai ka API, no laila, ua hili kēia i kēlā me kēia mōhele pāpale i loko o kāna koho. Inā hoʻohana ʻia i loko o Docker, hiki ke hoʻonohonoho ʻia kēlā me kēia me nā polokalamu ʻaoao o ka huakaio OPENAI_API_BASE_URL a OPENAI_API_KEY.

Ke mālama nei ka Open WebUI i nā kamaʻilio ʻoe ma kona ulu mea hana ponoʻī. ʻAʻole Nymbot e mālama i ia mau kamaʻilio, akā ʻo Open WebUI e mālama ana, i nā wahi aʻe ʻoe e neʻe ai ia.

Anuenue

Kūʻole goose configure, pili Hoʻonohonoho i nā mea Waiwai, pili OpenAI, a e hāʻawi i kēia mau waiwai i ka wā e nānā ʻia ai. Hiki ke hoʻonohonoho ʻia pēlā i loko o ka kaiapuni:

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

Ke hoʻohana ʻana o Goose i nā mea hana ma kēlā me kēia ʻano ʻana, no laila e koho i kahi māhele me capabilities.tools i loko o ka Papa Inoa Model; nymbot/auto ʻaʻole e ʻae i nā mea hana.

HTTP maʻamau

ʻAʻohe mea e pono ai i kahi SDK. ʻO nā kumu hala a pau, ʻo JSON lā ma luna o ka HTTPS, ma waho o nā hoʻouna faila, ʻo nā mau ʻano multipart kēlā. He ʻōlelo a i ʻole kahi mea hana ʻo ia e hiki ai ke hana i kahi ʻoiʻi HTTP, hiki ia ia ke hoʻohana i ka API:

  • Hoʻouna i ka pūnaewele e like me Authorization: Bearer sk-nymbot-….
  • Hoʻouna i nā JSON body me Content-Type: application/json.
  • No ka unuhi ʻana, heluhelu i ka pane ma ke ʻano he hana ʻike i hoʻouna ʻia mai ka luna; me cURL, hoʻemi -N no laila, e paʻi ana ia lākou i ka hiki ʻana mai.
  • Puke i ka kumuhana mai ka X-Nymbot-Cost-Sats ululani, a e mālama i ka X-Request-Id kumu inā pono ʻoe e nīnau e pili ana i kahi koho.

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