דלג לתוכן
בחזרה לNymbot

בסיס ידע מפתחים

כלים ו- SDKs

כל דבר שיכול לדבר עם OpenAI או Anthropic יכול לדבר עם Nymbot.

כל התקנה למטה צריכה מפתח API, שנעשה בתוך האפליקציה. אש תפריט (ראה מפתחות אש) ו- ID מודל מ רשימת המודלדוגמאות לשימוש anthropic/claude-sonnet-5 על חשבון האיזון. nymbot/auto הוא הבחירה הזולה יותר על האיזון הסטנדרטי עבור צ'אט רגיל, אבל זה לא יכול להתקשר כלים, אשר Goose צריך; בשביל זה, לבחור מודל קטלוג עם capabilities.tools.

הגדרת סוכני קוד כמו Claude Code, Codex, Cline, Kilo Code ו-Continue נמצאת בדף משלה: כלי קוד.

תן לכל כלי מפתח משלו

סוכני קודינג לבצע שיחות מודל רבות עבור משימה אחת, וסימון על המפתח הוא הדרך הפשוטה ביותר לדעת כמה יותר כלי יכול להוציא.

פתח SDK

הספריות הרשמיות של Python ו- JavaScript פועלות ללא שינוי. base_url צ'אט השלמות, תשובות, תמונות, אודיו ושילובים כולם עובדים דרך אותם.

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.Libraries that read the OPENAI_BASE_URL ו OPENAI_API_KEY משתנים סביבתיים יכולים להיות מצביעים על Nymbot עם אלה לבד.

אנתרופי SDK

הספריות האנתרופיות משתמשות https://nymbot.ai/api כמו URL הבסיס, ללא /v1כי הם מוסיפים /v1/messages כל מודל קטלוג עובד, לא רק קלוד.

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 מסתיר את זה.

אינטרנט פתוח

WEB WEB WEB WEB WEB WEB WEB WEB Admin פאנלאז הגדרותאז קישורים, ולהוסיף חיבור API OpenAI:

  • כתובת URL: https://nymbot.ai/api/v1
  • תגית: API Key

Open WebUI קורא את רשימת המודל מ-API, כך שכל מודל צ'אט מופיע ב-Picker שלו. 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 מעל HTTPS, למעט העברות הקובץ, אשר הן טפסים מרובים.

  • שלח את המפתח כמו Authorization: Bearer sk-nymbot-….
  • שלח גופים JSON עם Content-Type: application/json.
  • עבור סטרימינג, לקרוא את התשובה כאירועים שנשלחו על-ידי השרת; עם cURL, להוסיף -N אז הוא מדפיס אותם כשהם מגיעים.
  • קראו את העלות של X-Nymbot-Cost-Sats ג'ורג' ושמור על X-Request-Id כותרת אם אתה צריך לשאול על בקשה

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