דילוג לתוכן
New

DeepSeek V4.1 Flash free for 7 days: 10M tokens a day after a top-up of $10 or more. Until Nov 30.

How it works

ה-API של NotHoly נכנס לקוד OpenAI או Anthropic שלך

מחליפים את ה-base URL, את המפתח ואת ה-ID של המודל. ה-SDK של OpenAI או Anthropic שכבר יש לכם, והכלים שמעליו, ממשיכים לעבוד מול NotHoly.

ביניים2 דקות קריאהמאת NotHoly

מעבר בין ספקי מודלים כמעט תמיד אומר כתיבה מחדש: קליינט אחר, שדות בקשה אחרים, streaming אחר. העלות הזאת היא מה שמשאיר צוות אצל ספק הרבה אחרי שיש לו סיבה לעזוב. NotHoly מורידה את העלות בכך שהיא מדברת את שתי צורות ה-API שהקוד שלכם כבר משתמש בהן.

ה-API תואם גם לפורמט של OpenAI וגם לזה של Anthropic. אתם מחליפים את ה-base URL, את המפתח ואת ה-ID של המודל, וספריית הקליינט, גופי הבקשה, הגדרות הכלים וה-streaming שכבר כתבתם ממשיכים לעבוד. אותו חשבון ואותו מפתח מגיעים לשתי הצורות. מפתחות, תקציבים ורשימת המודלים נמצאים בחשבון אחד, כך שצוות יכול להעביר שירות אחד בכל פעם.

צורת OpenAI

כוונו את ה-SDK של OpenAI ל-NotHoly ובחרו ID של מודל מהקטלוג. שום דבר אחר בקריאה לא משתנה, כולל כלי הפונקציה שאתם מעבירים והדרך לקרוא תשובה ב-stream.

python
from openai import OpenAI

client = OpenAI(base_url="https://api.notholy.com/v1", api_key="nh_live_...")

r = client.chat.completions.create(
    model="MODEL_ID",
    messages=[{"role": "user", "content": "List the auth checks this endpoint is missing."}],
    max_tokens=800,
)
print(r.choices[0].message.content)

GET /v1/chat/completions, /v1/completions ו-/v1/responses עונים בצורה הזאת, עם server-sent events כשמדליקים stream, כל אירוע שורת data: שמסתיימת ב-data: [DONE]. גם Authorization: Bearer וגם x-api-key מתקבלים, כך שקליינט ששולח כל אחד מהם עובד בלי שינוי.

צורת Anthropic

ה-SDK של Anthropic משתמשים ב-https://api.notholy.com כ-base URL, בלי /v1, וקוראים ל-POST /v1/messages. אתם שומרים על max_tokens ושומרים על ה-reasoning: thinking עם תקציב טוקנים, או output_config.effort לרמה בשם שממופה לקרובה ביותר שיש למודל. התורות user ו-assistant נושאים בלוקים text, tool_use ו-tool_result באותה צורה.

bash
curl https://api.notholy.com/v1/messages \
  -H "x-api-key: $NOTHOLY_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"model": "MODEL_ID", "max_tokens": 800, "thinking": {"type": "enabled", "budget_tokens": 2000}, "messages": [{"role": "user", "content": "Explain this stack trace and name the likely bug class."}]}'

התשובה היא צורת ההודעה של Anthropic, השגיאות משתמשות בסוגי השגיאה של Anthropic, ו-stream מחזיר אירועים של Anthropic. POST /v1/messages/count_tokens מעריך את גודל הקלט לפני השליחה, בלי לקרוא למודל.

הכלים שאתם כבר מריצים

מכיוון שהצורות תואמות, גם הספריות שמעליהן תואמות. ה-SDK של OpenAI ושל Anthropic בכל שפה מצביעים על NotHoly בהגדרה בלבד, וכך גם סוכני הקוד שמדברים את הפרוטוקולים האלה. ה-CLI כותב את ההגדרה הזאת לסוכנים כמו Claude Code, Codex ו-OpenCode, כך שאתם לא עורכים כל אחד ביד. מדריך ההגירה הוא הגרסה הקצרה: base URL, מפתח, מודל. השימוש נמדד לפי טוקן בתעריף המפורסם של כל מודל בכל אחד מה-endpoints האלה, כך שההחלפה לא משנה איך אתם חושבים על עלות. ה-harness להערכה, ה-wrapper ללוגים ולוגיקת ה-retry שלכם שומרים על המשמעות, כי הבקשה והתשובה שהם עוטפים לא השתנו.

איפה זה לא מתאים

חלק מהדברים לא עוברים יחד. ה-API של Responses הוא חסר מצב, אז previous_response_id מחזיר 400. cache_control מתקבל ומתעלמים ממנו, כי ה-caching רץ לבד. ב-endpoints הגולמיים השרת לא מריץ שום כלי משלו; הוא מריץ רק את כלי הפונקציה שאתם שולחים, והקוד שלכם מריץ אותם. n חייב להיות 1. אין עדיין מודל embedding, ואין endpoint של batch, fine-tuning, assistants, אודיו או יצירת תמונה. מקור document מסוג PDF בצורת Messages מחזיר 400, אז שלחו קבצים דרך הצ׳אט או דרך endpoint הקבצים.

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

מקורות

  1. NotHoly, Migration from OpenAI and Anthropic
  2. NotHoly, Chat completions
  3. NotHoly, Messages (Anthropic)
  4. OpenAI, API reference
  5. Anthropic, Messages API

עוד בנושא מודלי LLM ו-API

מודלי LLM ו-API

מעבר מ-Verboo ל-NotHoly: מה משתנה ומה נשאר

איך מעבירים זרימת עבודה תואמת OpenAI מ-Verboo, מ-Venice AI או מ-Drael ל-NotHoly: base URL, מפתח, מזהי מודל, חיוב, רישיון וכלים.

ביניים5 דקות קריאה