ഉള്ളടക്കത്തിലേക്ക് പോകുക
തിരിച്ചു Nymbot

വിജ്ഞാന അടിത്തറ വികസനക്കാർ

ചാറ്റ്, പ്രതികരണങ്ങൾ, സന്ദേശങ്ങൾ

ഒരു മോഡൽ എന്തെങ്കിലും ചോദിക്കാൻ മൂന്നു വഴികൾ, മൂന്നു ഫോർമാറ്റുകളിൽ ക്ലയന്റുകൾ ഇപ്പോൾ സംസാരിക്കുന്നു, ഒരേ മോഡലുകളിൽ പ്രവർത്തിക്കുകയും ഒരേ രീതിയിൽ ചെലവഴിക്കുകയും ചെയ്യുന്നു.

ചാറ്റ് പൂർത്തീകരണങ്ങൾ

OpenAI chatting format, and the one almost every tool supports. ഇപ്പോഴത്തെ സംസാരം അയക്കുക, അടുത്ത സന്ദേശം തിരികെ ലഭിക്കുക.

POST https://nymbot.ai/api/v1/chat/completions - ഒരു API കീ ആവശ്യമാണ്.

വെറും model ഒപ്പം messages ആവശ്യമുള്ളവയാണ്. തിരഞ്ഞെടുത്ത മോഡൽ എടുക്കാത്ത ഒരു സാമ്പിൾ പാരാമീറ്റർ ഒരു പിശക് കൂടാതെ ഉപേക്ഷിക്കുന്നു, അതിനാൽ ഒരു അഭ്യർത്ഥന ബോഡി മോഡലുകളിലുടനീളം പ്രവർത്തിക്കുന്നു. മോഡൽ ലിസ്റ്റ് ഓരോ മോഡലിന്റെയും സവിശേഷതകൾ നൽകുന്നു. supported_parametersതള്ളിക്കളയുന്നതിനേക്കാൾ തള്ളിക്കളയുന്നതെല്ലാം മോഡൽ ചെയ്യാൻ കഴിയില്ല: കാണാൻ കഴിയാത്ത മോഡലിന്റെ ചിത്രങ്ങൾ, വിളിക്കാൻ കഴിയാത്ത മോഡലിന്റെ ഉപകരണങ്ങൾ.

ഫീൽഡ്തരംആവശ്യംവിശദീകരണം
modelസ്ട്രിംഗ്അതെnymbot/auto (അല്ലെങ്കിൽ auto) Nymbot ന്റെ സ്റ്റാൻഡേർഡ് ബാലൻസിൽ റൂട്ട് ചെയ്യുന്നതിനായി, അല്ലെങ്കിൽ ഒരു ടാറ്റോളോൾ മോഡൽ ഇഡി പോലുള്ള anthropic/claude-sonnet-5 പ്രോ ബാഹ്യയിൽ. ആപ്ലിക്കേഷന്റെ ലളിതമായ പേരുകളും അപ്പീസുകളും അംഗീകരിക്കപ്പെടുന്നു. മതി.
messagesArrayഅതെസംസാരം - Roles system, developer (സിസ്റ്റമായി കണക്കാക്കപ്പെടുന്നു), user, assistant ഒപ്പം toolഉള്ളടക്കം എന്നത് ഒരു സ്ട്രിംഗ് അല്ലെങ്കിൽ ലിസ്റ്റ് ആണ് text ഒപ്പം image_url ഭാഗങ്ങൾ; ഉപയോക്താക്കളുടെ സന്ദേശങ്ങളിൽ മാത്രം ചിത്രങ്ങൾ. input_audio കൂടാതെ ഫയലിന്റെ ഭാഗങ്ങൾ നിരസിക്കപ്പെടുന്നു.
streamബൂലൻഇല്ല.എഴുതിയതുപോലെ ഉത്തരം അയയ്ക്കുക. Streaming.
stream_optionsവസ്തുതഇല്ല.{"include_usage": true} ഒടുവിൽ ഒരു ടോക്ക് ടോക്ക് ടോക്ക് ടോക്ക് ടോക്ക് ടോക്ക്
max_tokens
max_completion_tokens
പൂർണ്ണസംഖ്യഇല്ല.ഏറ്റവും കൂടുതൽ ടോക്കൺ എഴുതാൻ. ഉയർന്നാൽ മോഡലിന്റെ മിക്കവാറും കുറയ്ക്കുക. കൂടാതെ നിങ്ങളുടെ ബാങ്കിൽ നിന്ന് എത്രമാത്രം നിലനിർത്തിയിരിക്കുന്നു, അതിനാൽ ചെറിയ ഒരു നമ്പർ ആരംഭിക്കാൻ കുറഞ്ഞ ക്രെഡിറ്റ് ആവശ്യമാണ്.
temperature
top_p
നമ്പർഇല്ല.സാമ്പിൾ നിയന്ത്രണങ്ങൾഃ temperature 0 മുതൽ 2 വരെ, top_p 0 മുതൽ 1 വരെ.
stopstring അല്ലെങ്കിൽ arrayഇല്ല.ഉത്തരം അവസാനിക്കുന്ന ടെക്സ്റ്റ്: ഒരു സീൻ അല്ലെങ്കിൽ ഏറ്റവും കൂടുതൽ 4 സീൻസ്, ഓരോ 256 പേർ വരെ. nymbot/auto.
seedപൂർണ്ണസംഖ്യഇല്ല.മോഡൽ അത് പിന്തുണയ്ക്കുന്നു എവിടെയാണ് repetable sampling.
presence_penalty
frequency_penalty
നമ്പർഇല്ല.ഓരോ റിക്രൂട്ടർ ഓരോ റിക്രൂട്ടർ ഇത് നിങ്ങളുടെ ജോലി തിരയൽ വളരെ ലളിതമാക്കും.
response_formatവസ്തുതഇല്ല.{"type": "json_object"} അല്ലെങ്കിൽ {"type": "json_schema", "json_schema": {…}}, എവിടെ മോഡൽ അതിനെ പിന്തുണയ്ക്കുന്നു. ഉപയോഗിക്കുന്നില്ല nymbot/auto.
tools
tool_choice
parallel_tool_calls
ശ്രേണി, സ്ട്രിംഗ് അല്ലെങ്കിൽ ഒബ്ജക്റ്റ്, ബൂലിയൻഇല്ല.ഫംഗ്ഷൻ കോളിംഗ്. കാണുക ടൂൾ ഫോൺഎ. web_search ടൈം മാറുന്നു വെബ് തിരയൽമിക്കവാറും 128 ഉപകരണങ്ങളും 512 KB അർത്ഥങ്ങൾ, മിക്കവാറും 64 വിഭാഗങ്ങളിലേക്കുള്ള അളവ്; കൂടുതൽ 400.
reasoning_effort
reasoning
സ്ട്രിംഗ്, ഒബ്ജക്റ്റ്ഇല്ല."minimal", "low", "medium" അല്ലെങ്കിൽ "high"അല്ലെങ്കിൽ {"effort": "high"}. "none" അല്ലെങ്കിൽ {"enabled": false} അത് അടച്ചു നോക്കുക. വിചാരം.
pluginsArrayഇല്ല.[{"id": "web", "max_results": 5}] എല്ലായ്പ്പോഴും ആദ്യം വെബിൽ തിരയുക. 10 ഫലങ്ങൾ വരെ.
nപൂർണ്ണസംഖ്യഇല്ല.മറ്റ് എന്തും തിരികെ വരും 400.
logit_bias
user
metadata
വസ്തുത , String , Objectഇല്ല.സ്വീകരിച്ചു, അയച്ചില്ല. logit_bias പരമാവധി 300 ടോക്കൺ ഐഡികൾ-100 മുതൽ 100 വരെയുള്ള സംഖ്യകളിലേക്ക് മാപ്പ് ചെയ്യുന്നു. user പരമാവധി 256 അക്ഷരങ്ങൾ; metadata പരമാവധി 16 സ്ട്രിംഗ് മൂല്യങ്ങൾ, 64 പ്രതീകങ്ങൾ വരെയുള്ള കീകൾ, 512 വരെയുള്ള മൂല്യങ്ങൾ എന്നിവ കൈവശം വയ്ക്കുന്നു.

ഉത്തരം സാധാരണയാണ് chat.completion, ചെലവിൽ usage.cost ഡോളറുകളിൽ (In Dollars) nymbot ഒബ്ജക്റ്റ്. model പരിഹരിച്ച മോഡൽ ഐഡിയാണോ, അതിനാൽ ഒരു ചെറിയ പേര് പൂർണ്ണമായി തിരികെ വരുന്നു. ഉത്തരം നൽകുന്നതിനുമുമ്പ് മോഡൽ ന്യായവാദം ചെയ്താൽ, അതിൻറെ ന്യായവാദം ഇപ്രകാരമാണ് message.reasoning_content, ഉത്തരത്തിൽ നിന്ന് വേറിട്ട്.

പ്രതികരണം

{
  "id": "chatcmpl-5f1c0a9e27d84b3c",
  "object": "chat.completion",
  "created": 1790726400,
  "model": "anthropic/claude-sonnet-5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "A Lightning invoice is a one-time payment request..."
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1240,
    "completion_tokens": 380,
    "total_tokens": 1620,
    "prompt_tokens_details": { "cached_tokens": 0 },
    "completion_tokens_details": { "reasoning_tokens": 0 },
    "cost": 0.01895
  },
  "nymbot": {
    "balance": "pro",
    "charged_credits": 0.162,
    "charged_sats": 16.2,
    "balance_credits": 412.425,
    "balance_sats": 41242.5
  }
}

finish_reason ദാതാക്കൾ ഇത് വ്യത്യസ്തമായി റിപ്പോർട്ട് ചെയ്യുന്നതിനാൽ തിരികെ വന്നതിൽ നിന്ന് ഇത് നിർണ്ണയിക്കപ്പെടുന്നുഃ tool_calls ഉപകരണങ്ങള് ആവശ്യപ്പെട്ടാല് , length ഉത്തരം അനുവദിക്കപ്പെട്ട എല്ലാ ടോക്ക് ഉപയോഗിച്ചപ്പോൾ (അല്ലെങ്കിൽ മോഡൽ അവയെല്ലാം ചിന്തിക്കുകയും ഉത്തരം എഴുതിയിട്ടില്ല), content_filter ദാതാവ് വിസമ്മതിച്ചപ്പോൾ, ഒപ്പം stop അല്ലാത്തപക്ഷം. usage.completion_tokens_details.reasoning_tokens എപ്പോഴും 0 ആണ്: Hidden reasoning tokens are counted, and charged. completion_tokens.

സ്റ്റാറ്റസ്എപ്പോൾ
400ഇല്ല. model അല്ലെങ്കിൽ messages (missing_required_parameter); ഒരു ഓഡിയോ അല്ലെങ്കിൽ ഫയൽ ഭാഗം, അല്ലെങ്കിൽ അവ കാണാൻ കഴിയാത്ത ഒരു മോഡലിന്റെ ചിത്രങ്ങൾ (unsupported_content); 20-ലധികം ചിത്രങ്ങൾ (too_many_images); തെറ്റായ തരത്തിലുള്ള അല്ലെങ്കിൽ പരിധിക്ക് പുറത്തുള്ള ഒരു സാമ്പിൾ പാരാമീറ്റർ (invalid_value); ഒരു ഫോട്ടോഗ്രാഫിക് ലിങ്ക് ഇത് പൊതുവായി അല്ല (invalid_image_url); അവയെ വിളിക്കാൻ കഴിയാത്ത ഒരു മോഡലിലെ ഉപകരണങ്ങൾ (unsupported_tool); n 1 ഒഴികെ; എ :thinking ന്യായീകരിക്കാൻ കഴിയാത്ത ഒരു മാതൃകയിലെ പ്രത്യയം (model_not_foundപ്രൊഫഷണൽ ഉപഭോക്താക്കൾ (upstream_rejected).
402മോഡൽ ചെലവഴിക്കുന്ന ബാധ്യത നിലനിൽക്കാൻ കഴിയില്ല.
403ഏറ്റവും മോശമായ സാഹചര്യത്തിൽ ക്ലിക്ക് കപ്പൽ ശരിയാവില്ല (key_limit_reached) താഴെ max_tokens അല്ലെങ്കിൽ തൊപ്പി ഉയർത്തുക.
404ഈ പേരിൽ ഒരു മോഡൽ ഇല്ല (model_not_found).
429കീയുടെ നിരക്ക് പരിധി, അല്ലെങ്കിൽ ദാതാവിൻറെ (upstream_rate_limited).
502, 503ദാതാവ് പരാജയപ്പെട്ടു (upstream_error) അല്ലെങ്കിൽ അമിതഭാരമുള്ളതാണ് (upstream_overloadedകൂടെ Retry-After). ഈ ശ്രമത്തിന് ദാതാവ് ബിൽ ഈടാക്കുന്നില്ലെങ്കിൽ ഒന്നും ഈടാക്കില്ല.

ഓരോ എൻഡ് പോയിന്റ് ഷെയറുകളും സ്റ്റാറ്റസ് കോഡുകൾ ചുവടെ പട്ടികപ്പെടുത്തിയിരിക്കുന്നു തെറ്റുകൾ.

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": "system", "content": "Answer in one short paragraph."},
      {"role": "user", "content": "What is a Lightning invoice?"}
    ],
    "max_tokens": 400
  }'

Python

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": "system", "content": "Answer in one short paragraph."},
        {"role": "user", "content": "What is a Lightning invoice?"},
    ],
    max_tokens=400,
)
print(reply.choices[0].message.content)
print(reply.usage.cost)

JavaScript

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: "system", content: "Answer in one short paragraph." },
    { role: "user", content: "What is a Lightning invoice?" },
  ],
  max_tokens: 400,
});
console.log(reply.choices[0].message.content);
console.log(reply.usage.cost);

സ്ട്രീമിംഗ്

കൂടെ "stream": true മോഡൽ എഴുതുമ്പോൾ സെർവർ അയച്ച ഇവന്റുകളായാണ് ഉത്തരം വരുന്നത്. ഓരോ ഇവന്റും ഒരു chat.completion.chunk എ യിൽ data: Line, and the stream ends with ഒടുവിൽ data: [DONE]മനസ്സിൽ വരും delta.reasoning_contentഉത്തരം in delta.content.

ഏകദേശം 100 സെക്കൻഡിൽ കൂടുതൽ സമയമെടുക്കുന്ന എന്തും സ്ട്രീം ചെയ്യുക, അതായത് ഒരു നീണ്ട ഉത്തരം, ഒരു വലിയ ഉത്തരം. max_tokens ഉത്തരം പൂർത്തിയാക്കുന്നതുവരെ ഒരു അപേക്ഷ അയക്കില്ല, നിങ്ങൾക്കും നൈംബോട്ട് തമ്മിലുള്ള നെറ്റ്വർക്ക് ഏകദേശം 100 സെക്കൻഡുകൾക്ക് ശേഷം ഒരു നിശ്ചിത ബന്ധം പൂർത്തിയാക്കാൻ കഴിയും; മോഡൽ ഇപ്പോഴും പൂർത്തിയാക്കുന്നു, അവൻ എഴുതിയതെല്ലാം ചാർജ് ചെയ്യപ്പെടുന്നു, എന്നാൽ ഉത്തരം നഷ്ടപ്പെടുന്നു.

സ്ട്രീം

data: {"id":"chatcmpl-5f1c0a9e27d84b3c","object":"chat.completion.chunk","created":1790726400,"model":"anthropic/claude-sonnet-5","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]}

data: {"id":"chatcmpl-5f1c0a9e27d84b3c","object":"chat.completion.chunk","created":1790726400,"model":"anthropic/claude-sonnet-5","choices":[{"index":0,"delta":{"content":"A Lightning invoice"},"finish_reason":null}]}

: keep-alive

data: {"id":"chatcmpl-5f1c0a9e27d84b3c","object":"chat.completion.chunk","created":1790726400,"model":"anthropic/claude-sonnet-5","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: {"id":"chatcmpl-5f1c0a9e27d84b3c","object":"chat.completion.chunk","created":1790726400,"model":"anthropic/claude-sonnet-5","choices":[],"usage":{"prompt_tokens":1240,"completion_tokens":380,"total_tokens":1620,"cost":0.01895},"nymbot":{"balance":"pro","charged_credits":0.162,"charged_sats":16.2,"balance_credits":412.425,"balance_sats":41242.5}}

data: [DONE]
  • തുടങ്ങുന്ന വരികൾ : ഓരോ 15 സെക്കൻഡിലും മോഡൽ ചിന്തിക്കുന്ന സമയത്ത് അയക്കപ്പെടുന്നു.SSE ഉപഭോക്താക്കൾ അവയെ ഒഴുകുന്നു.
  • ചോദിക്കുക. "stream_options": {"include_usage": true} ഒരു ശൂന്യതയോടെ മുകളിലുള്ള അവസാന ഭാഗം ലഭിക്കാൻ choices, ടോക്കൺ കണക്കുകൾ, ചെലവ്, nymbot ഒബ്ജക്റ്റ്.
  • സ്ട്രീം അവസാനിച്ചതിനുശേഷം ചാർജ് നിശ്ചയിക്കുന്നു. നിങ്ങൾ കണക്ഷൻ നേരത്തെ അടയ്ക്കുകയാണെങ്കിൽ, മോഡൽ നിർത്തില്ലഃ നിമ്പോട്ട് ദാതാവിൻറെ ബാക്കി സ്ട്രീം 25 സെക്കൻഡ് വരെ വായിക്കുന്നു, അതിൻറെ ടോക്കൺ കൌണ്ട് ലഭിക്കാൻ, ദാതാവ് റിപ്പോർട്ട് ചെയ്യുന്നത് നിങ്ങൾ അടയ്ക്കുന്നു. അതില്ലാതെ നിങ്ങളുടെ ഇൻപുട്ടിൽ നിന്നും എഴുതിയതിൽ നിന്നും ചാർജ് കണക്കാക്കുന്നു, കൂടാതെ ഒരു മോഡലിൻറെ മുഴുവൻ ഔട്ട്പുട്ട് അലവൻസും.
  • ആദ്യത്തെ തെറ്റിദ്ധാരണ, ഉദാഹരണത്തിന് 401 അല്ലെങ്കിൽ 402, സാധാരണ JSON എന്ന നില കോഡ്, ഒരു സ്റ്റോം അല്ലെങ്കിൽ ഒരു സ്റ്റോം എന്ന നിലയിൽ തിരികെ വരും. data: {"error": {…}} ഇവന്റ്, കൂടാതെ സ്ട്രീം അവസാനിക്കുന്നു [DONE].
  • ഓപ്പൺഎഐയുടെ പ്രതികരണ ട്രാൻസ്പോർട്ടിലെ ഉപകരണങ്ങളും മോഡലുകളും ഉള്ള അഭ്യർത്ഥനകൾ ദാതാവിൽ നിന്ന് സ്ട്രീം ചെയ്യുന്നില്ല. ഉത്തരം പൂർത്തിയായിക്കഴിഞ്ഞാൽ അയച്ച സാധുവായ സ്ട്രീം ഉപയോഗിച്ച് അവർ ഉത്തരം നൽകുന്നു.

cURL

curl -N https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nymbot/auto",
    "stream": true,
    "stream_options": {"include_usage": true},
    "messages": [{"role": "user", "content": "Write a haiku about sats."}]
  }'

Python

import os
from openai import OpenAI

client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])

stream = client.chat.completions.create(
    model="nymbot/auto",
    stream=True,
    stream_options={"include_usage": True},
    messages=[{"role": "user", "content": "Write a haiku about sats."}],
)
for chunk in stream:
    if chunk.choices:
        print(chunk.choices[0].delta.content or "", end="", flush=True)
    elif chunk.usage:
        print("\ncost:", chunk.usage.cost)

JavaScript

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });

const stream = await client.chat.completions.create({
  model: "nymbot/auto",
  stream: true,
  stream_options: { include_usage: true },
  messages: [{ role: "user", content: "Write a haiku about sats." }],
});
for await (const chunk of stream) {
  if (chunk.choices.length) process.stdout.write(chunk.choices[0].delta.content || "");
  else if (chunk.usage) console.log("\ncost:", chunk.usage.cost);
}

ടോൾ ഫോൺ

Functions ൽ വിശദീകരണം tools മോഡലിന് ഉത്തരം നൽകുന്നതിനുപകരം ഒരാളെ വിളിക്കാൻ ആവശ്യപ്പെടാം. നിങ്ങൾ ഫംഗ്ഷൻ പ്രവർത്തിപ്പിക്കുന്നു, അതിന്റെ ഫലം ഒരു ആയി ചേർക്കുക tool അതേ സന്ദേശം tool_call_idNymbot നിങ്ങളുടെ പ്രവർത്തനങ്ങൾ ഒരിക്കലും പ്രവർത്തിപ്പിക്കുന്നില്ല; അത് മോഡലിന്റെ അപേക്ഷ നിങ്ങൾക്ക് തിരികെ നൽകുന്നു.

tool_choice എടുക്കുന്നു "auto", "none", "required" അല്ലെങ്കിൽ {"type": "function", "function": {"name": "…"}}മോഡൽ ലിസ്റ്റിൽ മോഡലുകൾ ഏത് ഉപകരണങ്ങൾ വിളിക്കാൻ കഴിയും (capabilities.tools). ഉപകരണങ്ങൾ നിരസിക്കപ്പെടുന്നു 400 unsupported_tool ഇൻ nymbot/auto കൂടാതെ ഓപ്പൺഎഐയുടെ റെസ്പോൺസസ് ട്രാൻസ്പോർട്ടിൽ പ്രവർത്തിക്കുന്ന കുറച്ച് കാറ്റലോഗ് മോഡലുകളിലും, നിംബോട്ടിന് ഉപകരണങ്ങൾ കൈമാറാൻ കഴിയില്ല.

കൂടെ "stream": trueടൂളുകളുള്ള ഒരു അഭ്യർത്ഥന ഒരു ഭാഗത്തിൽ പ്രവർത്തിക്കുകയും തുടർന്ന് ഒരു സാധാരണ ചങ്ക് സീക്വൻസായി അയയ്ക്കുകയും ചെയ്യുന്നുഃ റോൾ, ഓരോ ടൂൾ കോളും അതിന്റെ സൂചിക, ഐഡി, പേര്, ആർഗ്യുമെന്റുകൾ, ഫിനിഷ് ചങ്ക് എന്നിവ വഹിക്കുന്ന ഒരു ഭാഗം. സ്ട്രീം ചെയ്ത ടൂൾ കോളുകൾ വായിക്കുന്ന ക്ലയന്റുകൾ പതിവുപോലെ ഇത് കൈകാര്യം ചെയ്യുന്നു.

മറുപടി, ഭാഗികമായി

"choices": [
  {
    "index": 0,
    "message": {
      "role": "assistant",
      "content": null,
      "tool_calls": [
        {
          "id": "call_7d2e",
          "type": "function",
          "function": { "name": "get_invoice_status", "arguments": "{\"invoice_id\":\"a41f\"}" }
        }
      ]
    },
    "finish_reason": "tool_calls"
  }
]

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": "Has invoice a41f been paid?"}],
    "tools": [{
      "type": "function",
      "function": {
        "name": "get_invoice_status",
        "description": "Look up whether an invoice is paid.",
        "parameters": {
          "type": "object",
          "properties": {"invoice_id": {"type": "string"}},
          "required": ["invoice_id"]
        }
      }
    }]
  }'

Python

import json, os
from openai import OpenAI

client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])

tools = [{
    "type": "function",
    "function": {
        "name": "get_invoice_status",
        "description": "Look up whether an invoice is paid.",
        "parameters": {
            "type": "object",
            "properties": {"invoice_id": {"type": "string"}},
            "required": ["invoice_id"],
        },
    },
}]
messages = [{"role": "user", "content": "Has invoice a41f been paid?"}]

reply = client.chat.completions.create(model="anthropic/claude-sonnet-5", messages=messages, tools=tools)
call = reply.choices[0].message.tool_calls[0]
args = json.loads(call.function.arguments)

messages.append(reply.choices[0].message)
messages.append({"role": "tool", "tool_call_id": call.id, "content": json.dumps({"paid": True})})

final = client.chat.completions.create(model="anthropic/claude-sonnet-5", messages=messages, tools=tools)
print(final.choices[0].message.content)

JavaScript

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });

const tools = [{
  type: "function",
  function: {
    name: "get_invoice_status",
    description: "Look up whether an invoice is paid.",
    parameters: {
      type: "object",
      properties: { invoice_id: { type: "string" } },
      required: ["invoice_id"],
    },
  },
}];
const messages = [{ role: "user", content: "Has invoice a41f been paid?" }];

const reply = await client.chat.completions.create({ model: "anthropic/claude-sonnet-5", messages, tools });
const call = reply.choices[0].message.tool_calls[0];
const args = JSON.parse(call.function.arguments);

messages.push(reply.choices[0].message);
messages.push({ role: "tool", tool_call_id: call.id, content: JSON.stringify({ paid: true }) });

const final = await client.chat.completions.create({ model: "anthropic/claude-sonnet-5", messages, tools });
console.log(final.choices[0].message.content);

ചിത്രങ്ങൾ ഒരു അപേക്ഷയിൽ

മോഡലുകൾ capabilities.vision ചിത്രങ്ങൾ വായിക്കാൻ കഴിയും. ഒരു ചേർക്കുക image_url ഒരു ഉപയോക്താവിന്റെ സന്ദേശം പങ്കിടുക, ഒരു ജനതയോടുകൂടെ https:// ലിങ്ക് A data:image/…;base64, എല് ഡിഎഫ് സര് ക്കാരിന്റെ ഓരോ ബജറ്റിലും കുടുംബശ്രീയുടെ പ്രവര് ത്തനത്തിന് ആവശ്യമായ പണം വകയിരുത്തുകയും എല്ലാ അര് ഥത്തിലും അതിനെ ശാസ്ത്രീയമായി പരിഷ്കരിക്കുകയും ചെയ്തു.400 invalid_image_url) ഒരു തിരഞ്ഞെടുപ്പിൽ detail ആണ് auto, low അല്ലെങ്കിൽ high.

കൂടെ nymbot/auto, അതിൽ ഒരു ചിത്രമുള്ള ഒരു അഭ്യർത്ഥന കാണാൻ കഴിയുന്ന ഒരു സ്റ്റാൻഡേർഡ് മോഡലിലേക്ക് വഴിതിരിച്ചുവിടുന്നു. കാറ്റലോഗ് മോഡൽ ഇല്ലാതെ capabilities.vision ചിത്രങ്ങള് തള്ളിക്കളയുക 400 unsupported_contentചിത്രങ്ങൾ ഉപയോക്താക്കളുടെ സന്ദേശങ്ങളിൽ മാത്രമേ ഉണ്ടാവുകയുള്ളൂ.ഒരു ലിങ്ക് ഒരു ജനപ്രിയ ഹോസ്റ്റിലേക്ക് ദൃശ്യമാക്കണം; Nymbot ചിത്രം മോഡലിന്റെ വിതരണത്തിലേക്ക് അയയ്ക്കുന്നു, അത് സൂക്ഷിക്കുന്നില്ല.

ഒരു ചിത്രം പ്രോഗ്രാം ബാക്കിയുള്ളതുപോലെ പ്രോഗ്രാമിന്റെ ഇൻസ്റ്റാൾ ടോക്കൺ പോലെ വിലയിരുത്തുകയും ചെയ്യുന്നു.

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": [
        {"type": "text", "text": "What is in this picture?"},
        {"type": "image_url", "image_url": {"url": "https://example.com/receipt.jpg"}}
      ]
    }]
  }'

Python

import base64, os
from openai import OpenAI

client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])

with open("receipt.jpg", "rb") as f:
    data_url = "data:image/jpeg;base64," + base64.b64encode(f.read()).decode()

reply = client.chat.completions.create(
    model="anthropic/claude-sonnet-5",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "What is in this picture?"},
            {"type": "image_url", "image_url": {"url": data_url}},
        ],
    }],
)
print(reply.choices[0].message.content)

JavaScript

import { readFile } from "node:fs/promises";
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });

const dataUrl = "data:image/jpeg;base64," + (await readFile("receipt.jpg")).toString("base64");

const reply = await client.chat.completions.create({
  model: "anthropic/claude-sonnet-5",
  messages: [{
    role: "user",
    content: [
      { type: "text", text: "What is in this picture?" },
      { type: "image_url", image_url: { url: dataUrl } },
    ],
  }],
});
console.log(reply.choices[0].message.content);

ന്യായവാദം

മോഡലുകൾ capabilities.reasoning ഉത്തരം നല് കുന്നതിന് മുമ്പ് ചിന്തിക്കാനാകും; കുറഞ്ഞോ കൂടുതല് ചോദിക്കണം. reasoning_effort ("minimal", "low", "medium" അല്ലെങ്കിൽ "high") അല്ലെങ്കിൽ "reasoning": {"effort": "high"}, അല്ലെങ്കിൽ ചേർക്കുക :thinking മോഡലിന്റെ പേരിലേക്ക്, അതായത് ഉയർന്ന പരിശ്രമം. യുക്തിയില്ലാതെ ഒരു മോഡലിൽ ക്രമീകരണം അവഗണിക്കപ്പെടുന്നു. nymbot/auto, :thinking അപേക്ഷ സാധാരണ റോഡിലേക്ക് അയയ്ക്കുന്നു.

Anthropic മോഡലുകളിലെ ശ്രമം ഏകദേശം 1,000, 2,000, 8,000 അല്ലെങ്കിൽ 16,000 ടോക്ക്നുകൾക്ക് ഒരു ചിന്താ ബജറ്റായി മാറുന്നു, ഒരിക്കലും അധികം max_tokens വിചാരം വിട്ടുപോകുന്നു; വിചാരം വിട്ടുപോകുന്നു tool_choice ഒരു ഉപകരണത്തെ ശക്തിപ്പെടുത്തുകയും, അപേക്ഷ തുടരുകയാണെങ്കിൽ (അവളുടെ അവസാന സന്ദേശം ഉപകരണത്തിന്റെ ഫലമാണ്), കാരണം Anthropic അതിനെ തുടരുകയ്ക്കു മുമ്പ് രേഖപ്പെടുത്തിയ ആശയവിനിമയം ആവശ്യമാണ്.

അഭിപ്രായം തിരികെ വരും message.reasoning_contentഅല്ലെങ്കിൽ delta.reasoning_content സ്ട്രീം ചെയ്യുമ്പോൾ, ഒരിക്കലും ഉത്തരത്തിൽ കലർത്തരുത്. റീസണിംഗ് ഔട്ട്പുട്ട് ആണ്, അകത്ത് അങ്ങനെ ചാർജ് ചെയ്യുന്നു completion_tokensചില ദാതാക്കൾ യുക്തിസഹമായ വാചകം തിരികെ നൽകുന്നില്ല, അത് ഇപ്പോഴും ചാർജ്ജ് ചെയ്തിരിക്കുന്നു.

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",
    "reasoning_effort": "high",
    "messages": [{"role": "user", "content": "Is 2^61 - 1 prime? Show why."}]
  }'

Python

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",
    reasoning_effort="high",
    messages=[{"role": "user", "content": "Is 2^61 - 1 prime? Show why."}],
)
message = reply.choices[0].message
print(getattr(message, "reasoning_content", None))
print(message.content)

JavaScript

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",
  reasoning_effort: "high",
  messages: [{ role: "user", content: "Is 2^61 - 1 prime? Show why." }],
});
console.log(reply.choices[0].message.reasoning_content);
console.log(reply.choices[0].message.content);

മോഡൽ suffixes

മോഡൽ പേരിൽ ഒരു ഫിഫ്ക്സ്, മറ്റൊരു ഫീൽഡ് ഇല്ലാതെ, അപേക്ഷയെ എങ്ങനെ കൈകാര്യം ചെയ്യുന്നുവെന്ന് മാറ്റിവയ്ക്കുന്നു.They work on full ids and short names alike. anthropic/claude-sonnet-5:online.

മതിഫലം
:onlineഇന്റര് നെറ്റ് ആദ്യം തിരയുക, Like plugins: [{"id": "web"}]. നോക്കൂ. വെബ് തിരയൽ.
:thinkingഉയർന്ന യുക്തിസഹമായ ശ്രമം; nymbot/autoവിചാരണ ചെയ്യാത്ത രീതിയില് , വിചാരണ ചെയ്യാത്ത രീതിയില് , 400 model_not_found “ no endpoints found” എന്ന താളിൽ നിന്നും തിരിച്ചുവിട്ടതു പ്രകാരം
:nitro, :floor, :exacto, :extendedസ്വീകരിക്കപ്പെടുകയും അവഗണിക്കപ്പെടുകയും ചെയ്യുന്നു. ഓരോ കാറ്റലോഗ് മോഡലിനും ഒരു റൂട്ട് ഉണ്ട്, അതിനാൽ തിരഞ്ഞെടുക്കാൻ വേഗതയേറിയതോ വിലകുറഞ്ഞതോ നീളമുള്ളതോ ആയ ഒന്നില്ല; മറ്റ് സേവനങ്ങളിൽ നിന്ന് പകർത്തിയ മോഡൽ പേരുകൾ ഇപ്പോഴും പ്രവർത്തിക്കുന്നതിനാൽ സഫിക്സുകൾ അനുവദനീയമാണ്.

മറ്റേതെങ്കിലും സഫിക്സ് അവഗണിക്കപ്പെടുന്നു. മുഴുവൻ പേരും ആദ്യം പരീക്ഷിക്കുന്നു, അതിനാൽ യഥാർത്ഥത്തിൽ ഒരു കോളൻ അടങ്ങുന്ന ഒരു മോഡൽ ഇപ്പോഴും പ്രവർത്തിക്കുന്നു; അങ്ങനെയല്ലെങ്കിൽ, ഒരു മോഡൽ പൊരുത്തപ്പെടുന്നതുവരെ സഫിക്സ് ഒരു സമയം അവസാനത്തിൽ നിന്ന് നീക്കം ചെയ്യപ്പെടും. ഒരു മോഡലിന്റെ പേര് പരമാവധി 4 സഫിക്സ് ഉള്ള 200 അക്ഷരങ്ങൾ നീളമുള്ളതായിരിക്കാം; നീളമുള്ള ഒന്ന് നിരസിക്കപ്പെടുന്നു 400 invalid_value.

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:thinking",
    "messages": [{"role": "user", "content": "Plan a three-day trip to Lisbon."}]
  }'

Python

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:thinking",
    messages=[{"role": "user", "content": "Plan a three-day trip to Lisbon."}],
)
print(reply.choices[0].message.content)

JavaScript

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:thinking",
  messages: [{ role: "user", content: "Plan a three-day trip to Lisbon." }],
});
console.log(reply.choices[0].message.content);

Nymbot അവസാന ഉപയോക്താവിന്റെ സന്ദേശം (അവന്റെ ആദ്യ 2,000 പേജുകൾ) തിരയുന്നു, മികച്ച പേജുകൾ വായിക്കുന്നു, ചോദ്യം ഉൾപ്പെടെ മോഡൽ നൽകുന്നു, മോഡൽ നിന്ന് ഉപദേശം എടുക്കേണ്ടതില്ല എന്ന് പുറത്തുള്ള ഉള്ളടക്കം അടച്ചിരിക്കുന്നു.

  • എല്ലായ്പ്പോഴും തിരയുക: "plugins": [{"id": "web", "max_results": 5}]അല്ലെങ്കില് A :online മോഡലിൽ സഫിക്സ്.
  • സഹായിക്കുമ്പോൾ തിരയുക: "tools": [{"type": "web_search", "parameters": {"max_results": 5}}]അതും അംഗീകരിച്ചു web_search_preview അല്ലെങ്കിൽ openrouter:web_searchNymbot മാത്രമേ ചോദ്യം ഇപ്പോഴത്തെ വിവരങ്ങൾ ആവശ്യപ്പെടുന്നതുപോലെ കാണുമ്പോൾ തിരയുകയുള്ളൂ, ആപ്ലിക്കേഷൻ ഉപയോഗിക്കുന്ന ഒരേ ടെസ്റ്റ്.

max_results സ്ഥിരസ്ഥിതിയായി 5 ഉം പരമാവധി 10 ഉം ആണ്. ഉറവിടങ്ങൾ തിരികെ വരുന്നു nymbot.web_search.sourcesഓരോരുത്തരും A title, snippet ഒപ്പം urlഎന്നാൽ As url_citation സന്ദേശത്തിലെ വ്യാഖ്യാനങ്ങൾ.

ഓരോ തിരയൽ $ 0.008 ചെലവഴിക്കുന്നു, ടോക്കൺ മുകളിൽ, ടോക്കൺ മാർക്കറ്റിൽ മാർക്കറ്റിൽ മാർക്കറ്റിൽ മാർക്കറ്റിൽ മാർക്കറ്റിൽ മാർക്കറ്റിൽ മാർക്കറ്റിൽ മാർക്കറ്റിൽ മാർക്കറ്റിൽ മാർക്കറ്റിൽ മാർക്കറ്റിൽ മാർക്കറ്റിൽ മാർക്കറ്റിൽ മാർക്കറ്റിൽ മാർക്കറ്റിൽ മാർക്കറ്റിൽ മാർക്കറ്റിൽ മാർക്കറ്റിൽ.

മറുപടി, ഭാഗികമായി

"nymbot": {
  "balance": "pro",
  "charged_credits": 0.431,
  "charged_sats": 43.1,
  "balance_credits": 411.994,
  "balance_sats": 41199.4,
  "web_search": {
    "sources": [
      { "title": "Lightning Network - Wikipedia", "snippet": "The Lightning Network is a payment protocol...", "url": "https://en.wikipedia.org/wiki/Lightning_Network" }
    ]
  }
}

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",
    "plugins": [{"id": "web", "max_results": 5}],
    "messages": [{"role": "user", "content": "What changed in the latest Bitcoin Core release?"}]
  }'

Python

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": "What changed in the latest Bitcoin Core release?"}],
    extra_body={"plugins": [{"id": "web", "max_results": 5}]},
)
print(reply.choices[0].message.content)
for source in reply.model_extra["nymbot"]["web_search"]["sources"]:
    print(source["url"])

JavaScript

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",
  plugins: [{ id: "web", max_results: 5 }],
  messages: [{ role: "user", content: "What changed in the latest Bitcoin Core release?" }],
});
console.log(reply.choices[0].message.content);
for (const source of reply.nymbot.web_search.sources) console.log(source.url);

അഗ്നി മറുപടി

ഓപ്പൺഎഐ ഏജന്റ്സ് എസ്ഡികെ, കോഡെക്സ് എന്നിവ ഉപയോഗിക്കുന്ന ഓപ്പൺഎഐയുടെ പുതിയ ഫോർമാറ്റ്. ഇത് ചാറ്റ് പൂർത്തീകരണങ്ങളുടെ അതേ മോഡലുകളിലും ബില്ലിംഗിലും സവിശേഷതകളിലും പ്രവർത്തിക്കുന്നു.

POST https://nymbot.ai/api/v1/responses - ഒരു API കീ ആവശ്യമാണ്.

ഫീൽഡ്തരംആവശ്യംവിശദീകരണം
modelസ്ട്രിംഗ്അതെഅതിനെ സംബന്ധിച്ചിടത്തോളം ചാറ്റ് പൂർത്തീകരണങ്ങൾ, പ്രത്യയങ്ങൾ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.
inputstring അല്ലെങ്കിൽ arrayഅതെനമ്പർ, അല്ലെങ്കിൽ വസ്തുക്കളുടെ ലിസ്റ്റ്: സന്ദേശങ്ങൾ (Roles user, assistant, system, developer) കൂടെ input_text, input_image ഒപ്പം output_text ഭാഗങ്ങൾ, കൂടാതെ function_call ഒപ്പം function_call_output ഉപകരണങ്ങൾക്കുള്ള സാധനങ്ങൾ. input_image എണ്ണം image_url ലിങ്ക് അല്ലെങ്കിൽ ഡാറ്റ യുആർഎൽ, ഒരു ഫയൽ ഐഡിയല്ല. reasoning ഒപ്പം web_search_call ഉൽപ്പന്നങ്ങൾ വിതരണം ചെയ്യുന്നു; item_reference നിരസിക്കപ്പെടുന്നു.
instructionsസ്ട്രിംഗ്ഇല്ല.സിസ്റ്റം ഉപദേശം
max_output_tokensപൂർണ്ണസംഖ്യഇല്ല.എഴുതാൻ ഏറ്റവും കൂടുതൽ ടോക്സുകൾ
temperature
top_p
നമ്പർഇല്ല.മോഡലുകൾ എവിടെയാണ്, മോഡലുകൾ എവിടെയാണ്.
tools
tool_choice
parallel_tool_calls
ശ്രേണി, സ്ട്രിംഗ് അല്ലെങ്കിൽ ഒബ്ജക്റ്റ്, ബൂലിയൻഇല്ല.പ്രതികരണങ്ങളുടെ ആകൃതിയിലുള്ള പ്രവർത്തന ഉപകരണങ്ങൾ ({"type": "function", "name": …, "parameters": …}) A web_search അല്ലെങ്കിൽ web_search_preview ടൈം മാറുന്നു വെബ് തിരയൽ മറ്റ് ഉപകരണങ്ങൾ നിഷേധിക്കപ്പെടുന്നു.
reasoningവസ്തുതഇല്ല.{"effort": "minimal" | "low" | "medium" | "high"}. xhigh ഒപ്പം max അർത്ഥം high; none അത് ഓഫ് ചെയ്യുക.
text.format
response_format
വസ്തുതഇല്ല.ഒരു JSON Scheme അല്ലെങ്കിൽ ഒരു JSON Scheme json_object.
metadataവസ്തുതഇല്ല.മിക്കവാറും 16 string values, keys up to 64 characters and values up to 512.
streamബൂലൻഇല്ല.താഴെ വിവരിച്ചതുപോലെ സംഭാഷണങ്ങൾ Stream ചെയ്യുക.
storeബൂലൻഇല്ല.ഒന്നും ശേഖരിച്ചില്ല, ഉത്തരം എപ്പോഴും പറയുന്നു "store": false.
previous_response_id
conversation
background
String , Object , Booleanഇല്ല.സഹകരിച്ചില്ല : 400 unsupported_parameterഉത്തരം ശേഖരിച്ചില്ല, അതിനാൽ മുഴുവൻ സംസാരം അയക്കുക input ഓരോ തവണയും

പ്രതികരണം

{
  "id": "resp_8c1e4b0f9a2d4e61",
  "object": "response",
  "created_at": 1790726400,
  "status": "completed",
  "model": "anthropic/claude-sonnet-5",
  "output": [
    {
      "type": "message",
      "id": "msg_2b7f",
      "role": "assistant",
      "status": "completed",
      "content": [{ "type": "output_text", "text": "A Lightning invoice is...", "annotations": [] }]
    }
  ],
  "output_text": "A Lightning invoice is...",
  "usage": {
    "input_tokens": 1240,
    "input_tokens_details": { "cached_tokens": 0 },
    "output_tokens": 380,
    "output_tokens_details": { "reasoning_tokens": 0 },
    "total_tokens": 1620
  },
  "incomplete_details": null,
  "error": null,
  "instructions": null,
  "store": false,
  "previous_response_id": null,
  "metadata": {},
  "nymbot": { "balance": "pro", "charged_credits": 0.162, "charged_sats": 16.2, "balance_credits": 412.425, "balance_sats": 41242.5 }
}

Tool Request എന്ന താളിൽ നിന്നും തിരിച്ചുവിട്ട വിവരങ്ങൾ output എ എന്ന നിലയിൽ function_call ഉള്ള ഇനം call_id, name ഒപ്പം argumentsഫലം തിരിച്ചയക്കുക function_call_output ഉദാഹരണത്തിന് call_idറീസണിംഗ്, മോഡൽ അത് തിരികെ നൽകുമ്പോൾ, ഒരു reasoning ഉള്ള ഇനം reasoning_text ആദ്യം ലിസ്റ്റുചെയ്യുന്നത് status ആണ് incomplete ഉത്തരം കിട്ടുമ്പോൾ max_output_tokens അല്ലെങ്കില് ഉപഭോക്താക്കളെ തള്ളിപ്പറഞ്ഞു. incomplete_details.reason സെറ്റ് 2 max_output_tokens അല്ലെങ്കിൽ content_filterഉത്തരം OpenAI ചെയ്തതുപോലെ അപേക്ഷയുടെ ഇൻസ്റ്റാൾ (മറ്റീറ്റർ, ഉപകരണങ്ങൾ, ഉപകരണങ്ങൾ തിരഞ്ഞെടുക്കുകയും) തികച്ചും പ്രകടിപ്പിക്കുന്നു. nymbot വസ്തുത വില

സ്ട്രീമ്ഡ്, ഓരോ സംഭവവും ഒരു event: വരിയും അ. data: ഒരു വരിയിൽ sequence_numberഈ ക്രമത്തിൽഃ response.created, response.in_progress, response.output_item.added, response.content_part.added, ഏത് എണ്ണത്തിലും response.output_text.delta, response.output_text.done, response.content_part.done, response.output_item.doneഒടുവിൽ response.completed ശരാശരിയും ശരാശരിയും കുറയ്ക്കുകയും ചെയ്യുന്നു. response.incomplete പകരം, അരുവി ആരംഭിച്ചതിന് ശേഷമുള്ള ഒരു പരാജയം response.failedതന് റെ സ്വഭാവം തന് റെ സ്വഭാവം തന് റെ സ്വഭാവം response.reasoning_text.delta ഒപ്പം .doneടോൾ ഫോൺ സന്ദേശത്തിന് ശേഷം വരും, ഓരോരുത്തരും ഒരു എണ്ണം പോലെ response.function_call_arguments.delta ഒപ്പം .done.

സ്റ്റാറ്റസ്എപ്പോൾ
400ഇല്ല. model അല്ലെങ്കിൽ input; previous_response_id, conversation, background അല്ലെങ്കിൽ item_reference (unsupported_parameter); സഹകരിച്ചില്ലാത്ത ഉപകരണം അല്ലെങ്കിൽ ഉള്ളടക്കം തരം.
402, 403, 404, 429, 502, 503ചാറ്റ് പൂർത്തീകരണങ്ങളെ സംബന്ധിച്ചിടത്തോളം.

cURL

curl https://nymbot.ai/api/v1/responses \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-5",
    "instructions": "Answer in one short paragraph.",
    "input": "What is a Lightning invoice?"
  }'

Python

import os
from openai import OpenAI

client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])

response = client.responses.create(
    model="anthropic/claude-sonnet-5",
    instructions="Answer in one short paragraph.",
    input="What is a Lightning invoice?",
)
print(response.output_text)

JavaScript

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });

const response = await client.responses.create({
  model: "anthropic/claude-sonnet-5",
  instructions: "Answer in one short paragraph.",
  input: "What is a Lightning invoice?",
});
console.log(response.output_text);

ആന്ത്രോപിക് സന്ദേശങ്ങൾ

ആന്ത്രോപിക് എസ്ഡികെകൾക്കും ക്ലോഡ് കോഡിനും വേണ്ടിയുള്ള ആന്ത്രോപിക് ഫോർമാറ്റ്. കാറ്റലോഗിലെ എല്ലാ മോഡലുകളിലും ഇത് പ്രവർത്തിക്കുന്നു, ക്ലോഡ് മാത്രമല്ലഃ അഭ്യർത്ഥന വിവർത്തനം ചെയ്യുകയും ഒരേ പൈപ്പ്ലൈനിലൂടെ പ്രവർത്തിപ്പിക്കുകയും വീണ്ടും വിവർത്തനം ചെയ്യുകയും ചെയ്യുന്നു.

POST https://nymbot.ai/api/v1/messages ഒരു API Key ആവശ്യമാണ്. x-api-key അല്ലെങ്കിൽ Authorization: Bearer.

ദി. anthropic-version ഒപ്പം anthropic-beta Antropic model names are matched to the catalog, so Claude Code and the SDKs work with the names they already use.

  • കാറ്റലോഗിന് അറിയാവുന്ന ഒരു പേര്, ഉദാഹരണത്തിന് claude-sonnet-5 അല്ലെങ്കിൽ anthropic/claude-opus-5ഇതെങ്ങനെയാണ് ഉപയോഗിക്കുന്നത്.
  • അല്ലെങ്കിൽ ഒരു തീയതി (-20260514), -latestപോലുള്ള ഒരു Version Tag -v1, ഇതുപോലുള്ള ഒരു ബ്രാക്കറ്റുള്ള ടാഗ് [1m] ഒരു anthropic/ അല്ലെങ്കിൽ anthropic. പ്രിഫിക്സ് നീക്കം ചെയ്യുകയും പതിപ്പിലെ ഡോട്ടുകളും ഡാഷുകളും രണ്ട് വഴികളിലും പരീക്ഷിക്കുകയും ചെയ്യുന്നു (claude-haiku-4-5 കണ്ടെത്തലുകൾ claude-haiku-4.5).
  • അത് ഇപ്പോഴും ഒന്നിനോടും പൊരുത്തപ്പെടുന്നില്ലെങ്കിൽ, കാറ്റലോഗിന്റെ പതിപ്പ് ആവശ്യപ്പെടുന്നതിനേക്കാൾ സമാനമോ പുതിയതോ ആയിരിക്കുന്നിടത്തോളം കുടുംബം (ഓപസ്, സോണറ്റ് അല്ലെങ്കിൽ ഹൈക്കു) ഉപയോഗിക്കുന്നു.
  • ഒന്നിനും ചേരാത്ത ഒരു പേര് തിരിച്ചുവരും 404 not_found_error.
ഫീൽഡ്തരംആവശ്യംവിശദീകരണം
modelസ്ട്രിംഗ്അതെഒരു പ്രൊഫഷണൽ മോഡൽ ID, അല്ലെങ്കിൽ ഒരു ആൻഡ്രോപ്പ് മോഡൽ പേര്.
max_tokensപൂർണ്ണസംഖ്യഅതെഎഴുതാൻ ഏറ്റവും കൂടുതൽ ടോക്സുകൾ
messagesArrayഅതെuser ഒപ്പം assistant തിരികെ, കൂടെ text, image (base64 അല്ലെങ്കിൽ URL source) tool_use ഒപ്പം tool_result ബ്ലോക്കുകൾ. thinking മുമ്പത്തെ തിരിവുകളിൽ നിന്നുള്ള ബ്ലോക്കുകൾ സ്വീകരിക്കുകയും ഉപേക്ഷിക്കുകയും ചെയ്യുന്നു.
systemstring അല്ലെങ്കിൽ arrayഇല്ല.സിസ്റ്റം പ്രോംപ്റ്റ്, ഒരു സ്ട്രിംഗ് അല്ലെങ്കിൽ ടെക്സ്റ്റ് ബ്ലോക്കുകളായി.
temperature
top_p
നമ്പർഇല്ല.മോഡലുകൾ എവിടെയാണ്, മോഡലുകൾ എവിടെയാണ്. top_k അംഗീകരിക്കുകയും ഉപേക്ഷിക്കപ്പെടുകയും ചെയ്തു.
stop_sequencesArray of Strings എന്ന താളുകൾഇല്ല.ഉത്തരം അവസാനിപ്പിക്കുന്ന ടെക്സ്റ്റ്: ഏകദേശം 4 സീറ്റുകൾ, ഏകദേശം 256 പേർ വരെ.
tools
tool_choice
ഉൽപ്പന്നം, objectഇല്ല.ഉപകരണങ്ങൾ With name, description ഒപ്പം input_schemaഎ. web_search സെർവർ ഉപകരണം ഓണാക്കുന്നു വെബ് തിരയൽ; Anthropic ന്റെ മറ്റ് ഉൾപ്പെടെ ഉപകരണങ്ങൾ (ബേസ്, ടെക്സ്റ്റ് എഡിറ്റർ, കമ്പ്യൂട്ടർ ഉപയോഗം) unsupported_tool. tool_choice എടുക്കുന്നു auto, any, tool അല്ലെങ്കിൽ none, കൂടാതെ disable_parallel_tool_use.
thinkingവസ്തുതഇല്ല.{"type": "enabled", "budget_tokens": 8192}, {"type": "adaptive"} അല്ലെങ്കിൽ {"type": "disabled"}കുറഞ്ഞത് 2,048 ൽ താഴെ, കുറഞ്ഞത് 2,048 ൽ നിന്ന്, ഇടത്തരം 8,192 ൽ നിന്ന്, ഉയർന്ന 16,384 ൽ നിന്ന്. അഡാപ്റ്റീവ് ഉപയോഗങ്ങൾ. output_config.effortഅല്ലെങ്കിൽ ഉയർന്ന
streamബൂലൻഇല്ല.Anthropic’s event format എന്ന താളിൽ നിന്നും തിരിച്ചുവിട്ടതു പ്രകാരം
metadataവസ്തുതഇല്ല.അംഗീകരിച്ചും മറന്നും

പ്രതികരണം

{
  "id": "msg_01c7a2f93e5b4d08",
  "type": "message",
  "role": "assistant",
  "model": "anthropic/claude-sonnet-5",
  "content": [{ "type": "text", "text": "A Lightning invoice is..." }],
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 1240,
    "output_tokens": 380,
    "cache_read_input_tokens": 0,
    "cache_creation_input_tokens": 0
  },
  "nymbot": { "balance": "pro", "charged_credits": 0.162, "charged_sats": 16.2, "balance_credits": 412.425, "balance_sats": 41242.5 }
}

content നിലനിൽക്കാൻ കഴിയും tool_use ബ്ലോക്ക് A thinking ബ്ലോക്ക്, ആരുടെ signature ശൂന്യമാണ് stop_reason ആണ് end_turn, max_tokens, tool_use അല്ലെങ്കിൽ refusalഒരേ രീതിയിൽ പ്രവർത്തിക്കുന്നു finish_reason ഇൻ ചാറ്റ് പൂർത്തീകരണങ്ങൾ; stop_sequence എല്ലായ്പ്പോഴും null, ഒരു സ്റ്റോപ്പ് സീക്വൻസ് ഉത്തരം അവസാനിപ്പിച്ചാലും. input_tokens രണ്ടാമത്തേത് രണ്ടാമത്തേത് രണ്ടാമത്തേത് രണ്ടാമത്തേത് രണ്ടാമത്തേത് രണ്ടാമത്തേത് രണ്ടാമത്തേത് രണ്ടാമത്തേത് രണ്ടാമത്തേത് nymbot വസ്തുവും X-Nymbot-Cost-Sats ഹെഡർ

ശിവലിംഗം ഒരു ചെറിയ കാര്യല്ല, അതിനെക്കുറിച്ച് പുരാണങ്ങളിൽ കാണുന്ന ചില തമാശകൾ ഇതാ:- message_start, content_block_start, ping, content_block_delta (text_delta, input_json_delta അല്ലെങ്കിൽ thinking_delta), content_block_stop, message_delta അതേസമയം, ഉപയോക്താക്കൾ, ഉപയോക്താക്കൾ nymbot വസ്തുത വിലയും, message_stopഎ. ping മോഡൽ പ്രവർത്തിക്കുമ്പോൾ ഓരോ 15 സെക്കൻഡിലും ഇത് അയയ്ക്കപ്പെടുന്നു. ടെക്സ്റ്റിന് ശേഷം ടൂൾ കോളുകൾ വരുന്നു, ഓരോന്നിനും tool_use പൂർണ്ണമായ അളവ് ഒരു തുകയിൽ input_json_delta.

ഈ എൻഡ് പോയിന്റിലെ പിശകുകൾ ആന്ത്രോപിക് ഫോർമാറ്റ് ഉപയോഗിക്കുന്നുഃ {"type": "error", "error": {"type": "not_found_error", "message": "…"}}ഒരു ഹ്രസ്വ ബാലൻസ് ആണ് 402 billing_errorOverloaded വിതരണക്കാരൻ 503 overloaded_errorതുടങ്ങുന്നതിനുശേഷം ഒരു പരാജയം ഒരു ഫയലായി അയക്കുന്നു. error സംഭവം

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": "What is a Lightning invoice?"}]
  }'

Python

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": "What is a Lightning invoice?"}],
)
print(message.content[0].text)

JavaScript

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: "What is a Lightning invoice?" }],
});
console.log(message.content[0].text);

ടോക്കൻസുകൾ

ഒരു സന്ദേശ അഭ്യർത്ഥന എത്ര ഇൻപുട്ട് ടോക്കണുകൾ ഉപയോഗിക്കും എന്നതിന്റെ ഒരു കണക്ക്, അതിനാൽ ഒരു ക്ലയന്റിന് അയയ്ക്കുന്നതിന് മുമ്പ് പരിശോധിക്കാൻ കഴിയും. ഇത് സൌജന്യമാണ്, പക്ഷേ അപ്പോഴും ഒരു കീ ആവശ്യമാണ്.

POST https://nymbot.ai/api/v1/messages/count_tokens ഒരു API Key വേണം.

ശരീരം അതേ പോലെയാണ് സന്ദേശങ്ങൾഇല്ലാതെ max_tokens; മോഡൽ പേര് പരിഹരിക്കേണ്ടതുണ്ട്. കോൺഗ്രസ് ഒരു വിലയിരുത്തൽ ആണ്: സിസ്റ്റം കോൺഗ്രസ്, സന്ദേശങ്ങൾ, ടൂൾ കോൺഗ്രസ്, ടൂൾ കോൺഗ്രസ് അർത്ഥങ്ങൾ നാലുപേർ പങ്കിടുന്നു, ഓരോ ചിത്രത്തിനായി 1,600.

പ്രതികരണം

{ "input_tokens": 318 }

cURL

curl https://nymbot.ai/api/v1/messages/count_tokens \
  -H "x-api-key: $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "messages": [{"role": "user", "content": "What is a Lightning invoice?"}]
  }'

Python

import os
import anthropic

client = anthropic.Anthropic(base_url="https://nymbot.ai/api", api_key=os.environ["NYMBOT_API_KEY"])

count = client.messages.count_tokens(
    model="claude-sonnet-5",
    messages=[{"role": "user", "content": "What is a Lightning invoice?"}],
)
print(count.input_tokens)

JavaScript

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({ baseURL: "https://nymbot.ai/api", apiKey: process.env.NYMBOT_API_KEY });

const count = await client.messages.countTokens({
  model: "claude-sonnet-5",
  messages: [{ role: "user", content: "What is a Lightning invoice?" }],
});
console.log(count.input_tokens);

മോഡൽ ലിസ്റ്റുകൾ

ഓരോ മോഡലും ജനറേറ്ററും എപിഐ സ്വീകരിക്കുന്നു, അതിൻറെ വിലയ്ക്കനുസരിച്ചാണ്. ആപ്ലിക്കേഷൻ തിരഞ്ഞെടുക്കുന്ന ആളുടെ അതേ തത്സമയ കാറ്റലോഗിൽ നിന്നാണ് പട്ടിക വായിക്കുന്നത്, അതിനാൽ സെർവർ എല്ലായ്പ്പോഴും അത് പ്രവർത്തിപ്പിക്കും.

GET https://nymbot.ai/api/v1/models - താക്കോൽ ആവശ്യമില്ല. അഞ്ച് മിനിറ്റ് കാഷെ ചെയ്തു.

GET /api/v1/models/{id} ഒരു എൻട്രി നൽകുന്നു.

ഫീൽഡ്തരംആവശ്യംവിശദീകരണം
typeസ്ട്രിംഗ് (അന്വേഷണം)ഇല്ല.chat (എന്നാല് അക്രമം image, video, audio, embedding അല്ലെങ്കിൽ allപലതും ഇങ്ങനെ നൽകാം. image,video.

വിലകൾ നിങ്ങൾ ചെലവഴിക്കുന്നതുമാണ്, പലിശയും മാർഗ്ഗവും ഇപ്പോഴത്തെ ബിറ്റ്കോയിൻ വിലയിൽ ഡോളറുകളിലാണ്. balance ഏത് മോഡൽ ചെലവഴിക്കുന്നുവെന്ന് പറയും. nymbot_key ആപ്ലിക്കേഷനിലെ മോഡലിന്റെ കുറഞ്ഞ പേര് created എപ്പോഴും 0 ആണ്, കാരണം കാറ്റലോഗ് ഒരു മോഡൽ ചേർന്നത് എപ്പോഴാണെന്ന് രേഖപ്പെടുത്തുന്നില്ല. per_request പകരം.

nymbot/auto എപ്പോഴും ആദ്യം, വില variable, a routes ഓരോ റിക്രൂട്ടർ ഇത് നിങ്ങളുടെ ജോലി തിരയൽ വളരെ ലളിതമാക്കുന്നു, നിങ്ങളുടെ ജോലി തിരയൽ വളരെ ലളിതമാക്കും.

GET /api/v1/models/{id} അതേ പേരുകളും അപരനാമങ്ങളും ഒരു അഭ്യർത്ഥനയായി സ്വീകരിക്കുകയും അവർ തീരുമാനിക്കുന്ന മോഡലിന്റെ എൻട്രി തിരികെ നൽകുകയും ചെയ്യുന്നു.

പ്രതികരണം

{
  "object": "list",
  "data": [
    {
      "id": "anthropic/claude-sonnet-5",
      "object": "model",
      "type": "chat",
      "owned_by": "anthropic",
      "name": "Claude Sonnet 5",
      "created": 0,
      "context_length": 1000000,
      "max_output_tokens": 64000,
      "architecture": { "input_modalities": ["text", "image"], "output_modalities": ["text"] },
      "supported_parameters": ["max_tokens", "temperature", "tools", "tool_choice", "reasoning", "response_format", "stop"],
      "capabilities": { "vision": true, "video": false, "tools": true, "reasoning": true, "web_search": true },
      "balance": "pro",
      "pricing": {
        "type": "per_token",
        "currency": "USD",
        "input_per_1M_tokens": 4.725,
        "output_per_1M_tokens": 23.625,
        "cache_read_per_1M_tokens": 0.4725,
        "sats_input_per_1M_tokens": 4038,
        "sats_output_per_1M_tokens": 20192
      },
      "description": "...",
      "nymbot_key": "claude-sonnet"
    }
  ]
}

മറ്റു തരം :

  • ചിത്രം എൻട്രികൾ ഉണ്ട് capabilities (accepts_image_url, requires_image_url, edit) ഒരു വിലയും per_generation.
  • വീഡിയോ എൻട്രികൾ ഉണ്ട് max_duration_seconds ഒപ്പം resolutions, കൂടാതെ ഒരു വിലയും per_second ഓരോ തീരുമാനങ്ങളിലും
  • ഓഡിയോ എൻട്രികൾ ഉണ്ട് audio_type speech അല്ലെങ്കിൽ transcription, വില per_1k_chars അല്ലെങ്കിൽ per_minute.
  • ഉൾച്ചേർക്കൽ എൻട്രികൾ ഉണ്ട് dimensions, context_length, max_inputs 1 മില്ല്യണ് ടോക്കുകള് ക്ക് വില

വില അടയാളങ്ങൾ "estimated": true വില പ്രസിദ്ധീകരിക്കാത്ത ഒരു ജനറേറ്ററിനായുള്ള ആപ്ലിക്കേഷന്റെ എസ്റ്റിമേറ്റാണ്. അജ്ഞാതമായത് type തിരിച്ചുവരവ് 400.

cURL

curl "https://nymbot.ai/api/v1/models?type=chat"

Python

import requests

models = requests.get("https://nymbot.ai/api/v1/models", params={"type": "chat"}).json()["data"]
for m in models:
    print(m["id"], m["balance"], m["pricing"].get("input_per_1M_tokens"))

JavaScript

const res = await fetch("https://nymbot.ai/api/v1/models?type=chat");
const { data } = await res.json();
for (const m of data) console.log(m.id, m.balance, m.pricing.input_per_1M_tokens);