מחברים את הכלים שלכם ל-API של Reeva AI בחמש דקות
מאת צוות Reeva · 2 באוקטובר 2026 · עודכן 15 באוקטובר 2026
ה-API למודלי AI של Reeva מדבר את ה-API של OpenAI. אם כלי או ספרייה יודעים לדבר עם OpenAI, הם יודעים לדבר גם עם Reeva: משנים שתי הגדרות ובוחרים מודל. ככה זה עובד.
מה צריך
- מפתח API של Reeva AI. בחרו חבילה בעמוד ה-API למודלי AI. המפתח הראשון מונפק ברגע שהתשלום ב-PayPal עובר.
- כתובת הבסיס (base URL):
https://api.reeva.me/v1 - שם מודל:
deepseek-v4.1-flashלצ׳אט, לטקסט, לקוד ולסוכנים, אוqwen-imageלתמונות. - זמין גם:
qwen3.6-35b-a3b(Qwen 3.6), מודל קל למשימות קצרות ומהירות. - Embeddings, ב-Pro וב-Scale:
nemotron-embed-8bלמסמכים ו-nemotron-embed-8b-queryלשאלות חיפוש.
צרו מפתח נפרד לכל כלי, עם שם שתזהו. אפשר עד 10, וביטול של אחד לא משפיע על האחרים. שמרו את
המפתחות במשתנה סביבה, לא בקוד. הדוגמאות כאן קוראות את המפתח מ-REEVA_API_KEY.
Python
התקינו את הספרייה הרשמית של OpenAI עם pip install openai, וכוונו אותה ל-Reeva:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.reeva.me/v1",
api_key=os.environ["REEVA_API_KEY"],
)
r = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user",
"content": "Summarize this email in three bullets"}],
)
print(r.choices[0].message.content)
Node.js
התקינו את הספרייה עם npm install openai, שמרו את הקוד הזה בשם index.mjs והריצו אותו עם
node index.mjs:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.reeva.me/v1",
apiKey: process.env.REEVA_API_KEY,
});
const r = await client.chat.completions.create({
model: "deepseek-v4.1-flash",
messages: [{ role: "user", content: "Write a Python function that checks a number with the Luhn algorithm." }],
});
console.log(r.choices[0].message.content);
curl
בקשת צ׳אט:
curl https://api.reeva.me/v1/chat/completions \
-H "Authorization: Bearer $REEVA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [{"role": "user", "content": "Translate to French: Same-day repairs, guaranteed."}]
}'
תמונה:
curl https://api.reeva.me/v1/images/generations \
-H "Authorization: Bearer $REEVA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image",
"prompt": "A winter campaign banner in pink and purple, no text",
"n": 1
}'
תמונה לוקחת יותר זמן לחזור מאשר תשובת טקסט.
כלי קוד
opencode, Cline, Continue, Aider ו-Roo Code יכולים כולם לעבוד עם ספק תואם OpenAI. לכל אחד מהם מסך הגדרות או קובץ הגדרות משלו, אבל בכולם מגדירים את אותם דברים:
- ספק: OpenAI-compatible, או OpenAI עם base URL מותאם
- Base URL:
https://api.reeva.me/v1 - מפתח API: המפתח שלכם מ-Reeva
- מודל:
deepseek-v4.1-flashלקוד, לסוכנים, לעריכות מהירות ולצ׳אט
ב-Aider, למשל, צריך שני משתני סביבה ושם מודל:
export OPENAI_API_BASE=https://api.reeva.me/v1
export OPENAI_API_KEY=$REEVA_API_KEY
aider --model openai/deepseek-v4.1-flash
Embeddings (Pro ו-Scale)
חבילות Pro ו-Scale כוללות embeddings בנתיב /v1/embeddings, עם Nemotron-3-Embed-8B של nvidia. למודל יש
שני מזהים, וחיפוש צריך את שניהם: nemotron-embed-8b למסמכים שאתם שומרים ו-nemotron-embed-8b-query
לשאלות שאתם מחפשים בהן. שימוש במזהה אחד לשניהם לא מחזיר שגיאה, אבל החיפוש מדרג את התוצאות הרבה יותר גרוע.
docs = ["Invoices are due 30 days after issue.",
"Refunds go back to the original card."]
d = client.embeddings.create(model="nemotron-embed-8b", input=docs)
q = client.embeddings.create(model="nemotron-embed-8b-query",
input="When is an invoice due?")
# The vectors are normalized: a dot product is the cosine similarity.
qv = q.data[0].embedding
scores = [sum(a * b for a, b in zip(qv, x.embedding)) for x in d.data]
print(docs[scores.index(max(scores))])
לווקטורים יש 4096 ממדים. בקשה מקבלת עד 64 קלטים ו-120,000 תווים בסך הכול. כל קלט מומר עד 4,096 טוקנים,
וטקסט ארוך יותר נחתך בלי שגיאה (השדה usage.prompt_tokens בתשובה נעצר ב-4,096), לכן חלקו מסמכים ארוכים
למקטעים לפני ההמרה. מגבלת גודל הבקשה של החבילה שלכם היא לצ׳אט ולא חלה כאן, אבל טוקני ה-embeddings נספרים
בדיוק כמו טוקני צ׳אט.
מגבלות ושגיאות
הטוקנים ללא הגבלה, אבל כל חבילה קובעת מגבלות לדקה, לבקשות במקביל ולבקשה. זה מה שקורה כשעוברים אחת מהן.
- HTTP 429, יותר מדי בקשות לדקה. החלון מתאפס כל דקה, אז נסו שוב תוך דקה. ב-Mini אפשר 5 בקשות לדקה, ב-Starter 20, ב-Pro 60 וב-Scale 120.
- יותר מדי בקשות במקביל: הבקשה מחכה. היא מתחילה ברגע שאחת הבקשות שלכם שרצות מסתיימת. אם לא התפנה מקום תוך שתי דקות, היא נדחית עם HTTP 429. ב-Mini רצה בקשה אחת בכל פעם, ב-Starter 2, ב-Pro 4 וב-Scale 8.
- HTTP 429, יותר מדי תמונות בבקשה אחת. בקשה אחת יכולה לבקש עד 3 תמונות (
n) ב-Mini, 10 ב-Starter ו-16 ב-Pro וב-Scale.nגדול יותר נדחה מיד; בקשו פחות. - שימוש הוגן. שימוש כבד מאט את הבקשות שלכם. רק שימוש קיצוני שנמשך יממה שלמה מושהה עד שהוא נרגע. בזמן ההשהיה הבקשות מקבלות HTTP 429.
- HTTP 400,
request_too_large. הבקשה גדולה ממה שהחבילה שלכם מאפשרת: 32k טוקנים ב-Mini ו-128k ב-Starter וב-Pro. ל-Scale אין מגבלה משלה, רק ההקשר של DeepSeek v4.1, עד 256k טוקנים. הגודל כולל את הפרומפט ועוד ה-max_tokensשאתם מבקשים, והבדיקה נעשית לפני שהבקשה רצה. קצרו את הפרומפט או הורידו אתmax_tokens. ל-Qwen 3.6 יש מגבלה משלו של 32k טוקנים לבקשה בכל החבילות; גם בקשה גדולה ממנה נדחית עם HTTP 400.gpt-oss-20bהוצא משימוש, ובקשות שמציינות אותו נדחות. השתמשו ב-deepseek-v4.1-flashלקוד ולסוכנים. - HTTP 401. המפתח לא תקף, למשל כי הוא בוטל.
ה-SDK-ים של OpenAI ל-Python ול-Node.js מנסים שוב אחרי 429 בעצמם, עם המתנה שהולכת וגדלה (backoff).
הצעדים הבאים
בחרו חבילה בעמוד ה-API למודלי AI, או קראו את הודעת ההשקה להשוואה המלאה בין החבילות.