ar ▾

توثيق واجهة برمجة التطبيقات لنقطة النهاية Ollama

ابدأ البناء باستخدام واجهة برمجة التطبيقات للذكاء الاصطناعي اللامقيدة في ثوانٍ. يغطي هذا الدليل عنوان URL الأساسي، المصادقة، وتكامل SDK لعمليات عمل واجهة برمجة التطبيقات المتوافقة مع OpenAI.

عنوان URL الأساسي والمصادقة

استخدم عنوان URL الأساسي ومفتاح API المقدمين لكل طلب. نقطة النهاية هي https://api.ollamaendpoint.com/v1المصادقة قيمة التوكن كـ Bearer token. يتم إنشاء هذا المفتاح فوراً بعد تسجيل الدخول باستخدام Google أو البريد الإلكتروني. المفتاح فريد لكل حساب ويستبدل أي مفتاح نشط سابق.

الطلب الأول

أرسل إكمال محادثة قياسي لتوليد النص. معرف النموذج هو uncensored ويقبل نفس المعاملات التي تقبلها عملاء OpenAI القياسية. هذا يعمل لمهام LLM NSFW أو توليد المحتوى غير المقيد.

  • الطريقة: POST
  • نقطة النهاية: /v1/chat/completions
  • النموذج: uncensored
curl https://api.ollamaendpoint.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Get the local ip address of this machine"}]
  }'

يعيد الاستجابة الناجحة النص المُولّد في مصفوفة choices. تحقق من usage الحقل لعرض عدد الرموز.

تكامل واجهة برمجة تطبيقات Python

ثبّت الحزمة الرسمية من OpenAI وقم بتكوين عنوان URL الأساسي. يتيح لك ذلك استخدام نموذج ollama غير الخاضع للرقابة مع كود بايثون المألوف. اضبط base_url و api_key قبل تهيئة العميل. يبقى الكود متوافقًا مع مكتبات OpenAI SDK الحالية.

from openai import OpenAI

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

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)

استدع chat.completions.create الطريقة تماماً كما تفعل مع GPT. هيكل الاستجابة يتطابق مع التوقعات القياسية. يمكنك التدفق أو الحصول على استجابات كاملة.

تكامل Node SDK

استخدم حزمة Node.js OpenAI للتفاعل مع واجهة برمجة التطبيقات. قم بتكوين العميل بعنوان URL الأساسي المخصص ومفتاح API الخاص بك. يعمل هذا النهج لتطبيقات الخادم أو الوظائف الطرفية. تتعامل الحزمة مع التسلسل وإعادة المحاولة تلقائيًا.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.ollamaendpoint.com/v1", apiKey: process.env.API_KEY });

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);

استدعِ نقطة النهاية التكميلية بالموجه الخاص بك. تُرجع المكتبة وعدًا (promise) يتم حله إلى كائن الاستجابة. تعامل مع الأخطاء وفقًا لرموز حالة HTTP القياسية.

استجابات البث مع SSE

فعّل البث عن طريق تعيين stream: true في طلبك. يعيد الخادم تدفق أحداث خادم المراسلة (SSE). يحتوي كل جزء على نص جزئي وبيانات استخدام الرموز. يتضمن الجزء الأخير إحصائيات الاستخدام الكاملة للفوترة. يقلل هذا من زمن الاستجابة المُدرَك للمخرجات الطويلة.

stream = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Tell the story in second person."}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

تجميع أجزاء المحتوى من كل جزء لإعادة بناء الاستجابة الكاملة. معالجة الأخطاء عند وصولها في التدفق. يؤكد الجزء الأخير عدد الرموز (tokens) لرصيدك المدفوع مسبقاً.

حدود المعدلات والقيود

يدعم كل مفتاح API 300 طلب في الدقيقة و8 طلبات متزامنة. الحد الأقصى لحجم جسم الطلب هو 8 ميجابايت. نافذة السياق هي 100,000 رمز لكل من النص الأولي والإكمال معًا. حدود الإخراج هي 16,000 رمز لكل طلب. لا تستهلك الأخطاء والرفضات الرصيد. يعني الخطأ 401 أن مفتاحك غير صالح. يشير الخطأ 402 إلى عدم كفاية الرصيد المدفوع مسبقًا. يعني الخطأ 429 أنك وصلت إلى حد معدل الطلب. اضبط التزامن للبقاء ضمن الحدود.

الأسئلة الشائعة

ما هو عنوان URL الأساسي لنقطة النهاية لـ ollama؟

عنوان URL الأساسي هو HTTPS://api.ollamaendpoint.com/v1. استخدم هذا لجميع مكالمات API. إنه متوافق مع عملاء OpenAI القياسيين.

كيف أتعامل مع استجابات البث؟

عيّن المعلمة stream إلى true. تُعيد الواجهة أحداث الإرسال الخادم. عالج كل شريحة لبناء النص النهائي. تتضمن الشريحة الأخيرة بيانات الاستخدام.

ماذا يحدث إذا تجاوزت حد معدل الطلب؟

تحصل على رمز حالة 429. الحد هو 300 طلب في الدقيقة لكل مفتاح. قلل من التزامن الخاص بك أو انتظر قبل إعادة المحاولة. الطلبات المتزامنة مقيدة بـ 8.

احصل على مفتاح API الخاص بك

سجّل الدخول، احصل على المفتاح، ووجّهه إلى عنوان URL الأساسي الجديد. انتهى الأمر.

ابدأ الآن