ናብ ትሕዝቶ ዘልል
ናብ Nymbot ተመለስኩ

መሰረት ፍልጠት ደቨሎፐራዊት (ኣልጋእ ስራሕ)

መሳርሒታትን SDKታትን

ከOpenAI ወይ ጽምርAnthropic ምስ ዝዛረብ ዝኾነ ነገር ምስ Nymbot ክዛረብ ይኽእል እዩ። ኣብ መብዛሕትዮኡ ኩነታት መሰረታዊ URL፣ ቁልፊ (key) ከምኡውን ስም ሞዴል እዩ።

ኩሉ ኣብ ታሕቲ ዘሎ ኣተላበላው API key የድሊ፣ እቲ ዝተገብረ ድማ ኣብቲ ultimately Application እዩ። API መ меню (ተመልከትኩ) API ቁልፊታት), ከዚ ተሳቢ ናይ ሞዴል መታወቂያ ካብ ዝርዝር ሞዴልቲኣብቲ ኣብ መ)|ውሰን ዘሎ ኣብነት እዚ ተጠቂሙ ኣሎ anthropic/claude-sonnet-5 ኣብ Pro ሚዛን። nymbot/auto ንመቀላቀል ዝተፈላለየ ኣገልግሎት ንመደበኛ ዕጣታት (standard balance) ንተራ ዘይተሓላለኸ chat ዝሓሸን ርካብን ምርጫ እዩ፣ ግን እቲ Goose ዘድልዮ ኣገልግሎት (tools) ክሰርሕ ኣይኽእልን እዩ፤ ንኡቲ ኣገልግሎት ንምርካብ ግን እቲ ዘለዎ መመዝገቢ ሞዴል (catalog model) ምረጽ። capabilities.tools.

ከ Claude Code፣ Codex፣ Cline፣ Kilo Code ከማለትlo Continue ዝና መደብቲ (agents) ኮዲንግ ንምግባር ዝግጁ ምግባር ኣብ ናይ ገዛእኡ ገጽ ይርከብ፦ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መርበብ መር.

ነፍሲ ወከፍ መሳርሒ ናብ ራሳቡ ዝተኣዛዘበ መደብ (key) ክሃብዎ።

ንደኣከለ እኹል መሳርሒ ዝተፈላለየ መደብ (key) ምስ ገደብ ክትፈጥር፣ ንነፍሲ ወከፍ መሳርሒ ዝተኸልለ ዓቐን ክህልዎ ኣለዎ። ኮዲንግ ኤጀንትታት ንሓደ ስራሕ ብዙሓት ሞዴል ንዘውታውቲ (model calls) ዝጥቀሙ ስለ ዝኾኑ፣ ኣብቲ መደብ ዝተወሰነ ገደብ ምቕማጥ፡ ሓደ መሳርሒ ክሳብ ክንደይ ክኸፍል ከም ዝኽእል ንምፍላጥ ኣቐልታይ ኣካፋይ ኣገባብ እዩ። ሓደ መሳርሒ ጌጋ እንተገብረ፣ መደቡ ጥራይ ክትሰረዞ ትኽእል፣ ካልእ ነገር ድማ ኣይጎድእን እዩ።

OpenAI SDK

እቲ ኦፊሴላዊ ናይ Pythonን JavaScriptን ቤተ-መጻሕፍት (libraries) ብዘይተለወጠ ይሰርሑ ኣለዉ። Point base_url ኣብ Nymbot ቁልፎም ኣቕሪብ። Chat Completions፣ ምላሽታት፣ ምስልታት፣ ድምጺታትን 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);

ናትኩዕ ኣከባቢታት ንምቦት፣ ከም... plugins ንዌብ ፍለጋ፡ ኣ enters extra_body ኣብ Python ከምኡ እውን ብቐጥታ ኣብ JavaScript ናብቲ request object። እቲ nymbot ወጋ (cost) ኣብ መልሲ ዝህልዎ ዓቐን (object) እዩ reply.model_extra["nymbot"] ኣብ Python ከምኡ ቴ reply.nymbot ኣብ JavaScript። ነቲ ዘንብብቲ ቤተፍሪታት (Libraries) OPENAI_BASE_URL እና OPENAI_API_KEY ብኣብነት እቶም environment variables ምስ Nymbot ብዚኦም ጥራይ ክዎንከቡ ይኽእሉ እዮም።

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

ሕገ pomoc

Aider ምስ ዝኾነ OpenAI-ተስማሚ ሰርቨር ይዛረብ። እቲ መሰረታዊ URLን keyን ኣቐሚጥካ፣ ኣቐምጥ openai/ ኣብ ቅድሚ model 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

Aider ክሳብ ሞዴሉ መጠን (context size) ወይ ዋጋ ዘይፈልጥ ከምኡ ክሕዘር ከምእኽበካ ክትንበይ ይኽእል እዩ። እቲ መጠንቀቕታ ሓደጋ የብሉን፤ --no-show-model-warnings ሕብአዮ።

ክፍት ዌብ ዩ-ኣይ

ኣብ Open WebUI፣ ክፈት መቆጻጸሪ ኣስተዳዳሪ፣ ድሕሪኡ ቅንብታት፣ ድሕሪኡ ኣገናኙነት, ከኣብነት OpenAI API ምስራዲት ይምCI:

  • URL: https://nymbot.ai/api/v1
  • ቁልፊ፡ ናይቲ API ቁልፊኻ

Open WebUI ዝርዝር ሞዴል ካብ API ይቆጽብ፣ ስለዚэ እያንዳንዱ ናይ ቸት ሞዴል ኣብ መረጣኡ ይርአ። ኣብ Docker ክትጥቀመሉ ከለኻ፣ እዚ ተመሳሳሊ ነገር እዚ ብኣካባቢያዊ ተለዋዋጥቲ (environment variables) ክግበር ይኽእል እዩ። OPENAI_API_BASE_URL እና OPENAI_API_KEY.

Open WebUI ንመወያያታትካ ኣብ ባዕሉ ሰርቨር ይሓዝበሎም። Nymbot ኣይሕዝቦምን እዩ፡ Open WebUI ግን፣ ኣብ ዝኾነ ቦታ እንተካየደቶ፣ ይሕዝቦ።

መኽላ (Geese)

ሩጥ goose configure፣ ኣተሚ መቕረብቲ (Providers) ኣዋቅር, ምረተ OpenAI, ከጸወተ ድማ ነዚ መሰረታት ክሓተካ ከሎ ሃብዎ። ንዚ ድማ ኣብቲ ኣৱውት ክግበር ይኽእል እዩ፦

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 ኣይደልዮን እዩ። ፋይልታት ናብቲ ሰርቫር ብዝዝርእው (multipart forms) ኣዘራርባ ወጻኢ፡ ኩሉ ኤንድፖይንት (endpoint) በ HTTPS ዝመሓላለፈ JSON እዩ። HTTP request ክገብር ዝኽእል ዝኾነ ቋንቋ ወይ መሳርሒ ነቲ API ክጥቀመሉ ይኽእል እዩ፦

  • እቲ ቁልፊ ከምዚ ከም ኣስምቶ ስደደዮ Authorization: Bearer sk-nymbot-….
  • JSON bodyታት ብዘሓዊ ስደድ Content-Type: application/json.
  • ን ስትሪሚንግ (streaming)፣ ምላሹ ከሰርቨር ብመጻእ ዝመላኽ ኩነታት (server-sent events) ከምቲ ዘሎ ኣንብቦ፤ ምስ cURL፣ ወስኽ -N edanme'etwet ከም ዝመጹ ይሕብኣም።
  • ካብቲ ዋጋ ኣንብብ X-Nymbot-Cost-Sats head, ከኡ የ kept 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);