ข้ามไปที่เนื้อหา
กลับไปที่ Nymbot

ฐานความรู้ ผู้พัฒนา

เครื่องมือและ SDKs

สิ่งใดที่สามารถพูดคุยกับ OpenAI หรือ Anthropic สามารถพูดคุยกับ Nymbot ในเกือบทุกกรณีมันเป็น URL ฐานคีย์และชื่อรุ่น

การติดตั้งแต่ละขั้นตอนด้านล่างต้องมีคีย์ API ที่ทําในแอพพลิเคชัน ไฟ MENU (ดู คีย์ไฟ) และรูปแบบ ID จาก รายการแบบจําลองตัวอย่างที่ใช้ anthropic/claude-sonnet-5 เกี่ยวกับ Pro Balance nymbot/auto เป็นตัวเลือกที่ถูกกว่าบนสมดุลมาตรฐานสําหรับแชทธรรมดา แต่ไม่สามารถโทรหาเครื่องมือซึ่ง Goose ต้องการ สําหรับนั้นเลือกรุ่นแคตตาล็อกที่มี capabilities.tools.

การตั้งค่าตัวแทนการเข้ารหัสเช่น Claude Code, Codex, Cline, Kilo Code และ Continue คือในหน้าของตัวเอง: เครื่องมือโค้ด.

ให้เครื่องมือแต่ละเครื่องมีกุญแจของตัวเอง

สร้างกุญแจแยกต่างหากสําหรับแต่ละเครื่องมือด้วยหมวก ตัวแทนการเข้ารหัสเรียกหลายรุ่นสําหรับงานเดียวและหมวกบนกุญแจเป็นวิธีที่ง่ายที่สุดในการทราบว่าเครื่องมือสามารถใช้จ่ายได้มากที่สุด หากเครื่องมือมีพฤติกรรมผิดยกเลิกกุญแจและไม่มีสิ่งอื่น ๆ ที่ได้รับผลกระทบ

OpenAI SDK

แพคเกจ Python และ JavaScript อย่างเป็นทางการทํางานอย่างไม่เปลี่ยนแปลง จุด base_url ที่ Nymbot และผ่านคีย์ของคุณ. การแชทเสร็จสิ้น, คําตอบ, รูปภาพ, เสียงและ embeddings ทั้งหมดทํางานผ่านพวกเขา

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 เช่น plugins สําหรับการค้นหาเว็บ ไปที่ extra_body ใน Python และตรงไปยังวัตถุคําขอใน JavaScript nymbot วัตถุค่าใช้จ่ายในคําตอบคือ reply.model_extra["nymbot"] ใน Python และ reply.nymbot ใน JavaScript. ห้องสมุดที่อ่าน OPENAI_BASE_URL และ OPENAI_API_KEY พารามิเตอร์สภาพแวดล้อมสามารถชี้ไปที่ Nymbot ด้วยคนเดียว

แอนติโพลี SDK

ห้องสมุด Anthropic ใช้ https://nymbot.ai/api ในฐานะที่เป็น URL ฐาน /v1เพราะพวกเขาเพิ่ม /v1/messages พวกเขาเอง. รูปแบบแคตตาล็อกใด ๆ ทํางานไม่เพียง แต่ 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);

สนับสนุน

ผู้ช่วยพูดคุยกับเซิร์ฟเวอร์ที่เข้ากันได้ OpenAI ใด ๆ กําหนด URL ฐานและคีย์และวาง openai/ ด้านหน้าของ id รุ่นเพื่อให้ Aider รู้ชนิดของเซิร์ฟเวอร์ที่มันคือ:

Shell

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

ผู้ช่วยอาจเตือนว่าเขาไม่ทราบขนาดพื้นฐานหรือราคาของรุ่น การเตือนไม่เป็นอันตราย --no-show-model-warnings ซ่อนมัน

เปิด WebUI

ใน Open WebUI, เปิด แผง Adminจากนั้น การตั้งค่าจากนั้น ความสัมพันธ์, และเพิ่มการเชื่อมต่อ OpenAI API:

  • URL : https://nymbot.ai/api/v1
  • คีย์ API ของคุณ

Open WebUI อ่านรายการรุ่นจาก API เพื่อให้แต่ละรุ่นแชทปรากฏในตัวเลือก เมื่อเรียกใช้ใน Docker สามารถตั้งค่าได้ด้วยตัวแปรสภาพแวดล้อม OPENAI_API_BASE_URL และ OPENAI_API_KEY.

Open WebUI เก็บการสนทนาของคุณบนเซิร์ฟเวอร์ของตัวเอง Nymbot ไม่จัดเก็บพวกเขา แต่ Open WebUI ทําได้ทุกที่ที่คุณเรียกใช้

โกส

แข่ง goose configureเลือก การกําหนดค่าผู้ให้บริการเลือก การเปิด, และให้ค่าเหล่านี้เมื่อถาม นอกจากนี้ยังสามารถตั้งค่าได้ในสภาพแวดล้อม:

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 เรียกเครื่องมือในเกือบทุกขั้นตอนดังนั้นเลือกรุ่นที่มี capabilities.tools ในรายการรูปแบบ nymbot/auto ห้ามเครื่องมือ

ง่าย HTTP

ไม่จําเป็นต้องใช้ SDK ทุกจุดสิ้นสุดคือ JSON over HTTPS นอกเหนือจากการอัปโหลดไฟล์ซึ่งเป็นแบบฟอร์มหลายส่วน ภาษาหรือเครื่องมือใด ๆ ที่สามารถสร้างคําขอ HTTP ได้สามารถใช้ API:

  • ส่งคีย์เป็น Authorization: Bearer sk-nymbot-….
  • ส่งตัวแทน JSON กับ Content-Type: application/json.
  • สําหรับการสตรีมมิ่งอ่านคําตอบเป็นเหตุการณ์ที่ส่งโดยเซิร์ฟเวอร์ ด้วย cURL เพิ่ม -N ดังนั้นจึงพิมพ์พวกเขาเมื่อพวกเขามาถึง
  • อ่านค่าใช้จ่ายจาก X-Nymbot-Cost-Sats header และเก็บไว้ X-Request-Id header ถ้าคุณอาจต้องการถามเกี่ยวกับคําขอ

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