বিষয়বস্তু এড়িয়ে যান
ফিরে আসুন Nymbot

জ্ঞানের ভিত্তি বিকাশকারী

সরঞ্জাম এবং এসডিকে

OpenAI বা Anthropic এর সাথে কথা বলতে পারে এমন কিছুই Nymbot এর সাথে কথা বলতে পারে. প্রায় প্রতিটি ক্ষেত্রে এটি একটি বেস URL, একটি কী এবং একটি মডেল নাম।

নিম্নলিখিত প্রতিটি সেটআপের একটি API কী প্রয়োজন, যা অ্যাপ্লিকেশনের আগুন মেনু দেখুন অগ্নি চাবি) এবং একটি মডেল আইডি থেকে মডেল তালিকাউদাহরণ ব্যবহার anthropic/claude-sonnet-5 পাশাপাশি ভারসাম্যের nymbot/auto সাধারণ চ্যাটের জন্য স্ট্যান্ডার্ড ভারসাম্যের উপর সস্তা পছন্দ, কিন্তু এটি সরঞ্জামগুলি কল করতে পারে না, যা Goose প্রয়োজন; এর জন্য, একটি ক্যাটালগ মডেল নির্বাচন করুন capabilities.tools.

Claude Code, Codex, Cline, Kilo Code এবং Continue এর মতো কোডিং এজেন্টের জন্য সেটিং নিজস্ব পৃষ্ঠায় রয়েছে: কোডিং সরঞ্জাম.

প্রতিটি সরঞ্জামের নিজস্ব চাবি দিন

প্রতিটি সরঞ্জামের জন্য একটি ক্যাপ সহ আলাদা কী তৈরি করুন। কোডিং এজেন্টরা একটি কাজের জন্য অনেক মডেল কল করে এবং কী-এর উপর একটি ক্যাপ একটি সরঞ্জামের সবচেয়ে বেশি ব্যয় করতে পারে তা জানার সহজ উপায়। যদি কোনও সরঞ্জাম খারাপ আচরণ করে তবে তার কী প্রত্যাহার করুন এবং অন্য কিছুই প্রভাবিত হয় না।

ওপেনএআই এসডিকে

অফিসিয়াল Python এবং JavaScript লাইব্রেরিগুলি অপরিবর্তিতভাবে কাজ করে। base_url চ্যাট সম্পন্ন, উত্তর, ইমেজ, অডিও এবং 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 নিজেরাই। যে কোনও ক্যাটালগ মডেল কাজ করে, কেবল ক্লড নয়।

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-সংযুক্ত সার্ভারে কথা বলবে. বেস ইউআরএল এবং কী সেট করুন, এবং সেট করুন openai/ মডেল আইডি এর সামনে যাতে সাহায্যকারী জানে এটি কোন ধরনের সার্ভার:

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 লুকিয়ে রাখে।

ওয়েবইউআই খুলুন

ওপেন ওয়েবইউআই-এ, ওপেন করুন অ্যাডমিন প্যানেল, তারপর সেটিংস, তারপর সংযোগগুলি, এবং একটি ওপেনএআই এপিআই সংযোগ যোগ করুনঃ

  • ইউআরএলঃ https://nymbot.ai/api/v1
  • অ্যাপ্লিকেশন: API Key

ওপেন ওয়েবইউআই এপিআই থেকে মডেল তালিকা পড়ে, তাই প্রতিটি চ্যাট মডেল তার পিকারের মধ্যে উপস্থিত হয়। ডকারে এটি চালানোর সময়, পরিবেশগত পরিবর্তনশীলগুলির সাথে সেট করা যেতে পারে। 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

গুস প্রায় প্রতিটি পদক্ষেপে কল সরঞ্জামগুলি ব্যবহার করে, তাই এর সাথে একটি মডেল বেছে নিন capabilities.tools মডেলের তালিকায় nymbot/auto সরঞ্জাম প্রত্যাখ্যান

শুধু HTTP

কোনও জিনিসের একটি এসডিকে প্রয়োজন নেই. প্রতিটি এন্ডপয়েন্ট JSON over HTTPS হয়, ফাইল আপলোডগুলি ব্যতীত, যা একাধিক অংশ ফর্ম।

  • চাবি পাঠান যেমন Authorization: Bearer sk-nymbot-….
  • সঙ্গে জে. এস. ও. এন-এর দেহগুলি পাঠান Content-Type: application/json.
  • স্ট্রিমিংয়ের জন্য, সার্ভার-প্রেরিত ইভেন্ট হিসাবে প্রতিক্রিয়াটি পড়ুন; সি. ইউ. আর. এল সহ, যোগ করুন -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);