Skip to content

يوفر Ollama توافقًا مع أجزاء من واجهة برمجة تطبيقات OpenAI لمساعدتك في ربط التطبيقات الحالية بـ Ollama.

الاستخدام

مثال بسيط لـ /v1/chat/completions

مثال بسيط لـ /v1/responses

مثال /v1/chat/completions مع الرؤية الحاسوبية

نقاط النهاية

/v1/chat/completions

الميزات المدعومة

  • [x] إكمالات المحادثة
  • [x] البث المتدفق
  • [x] وضع JSON
  • [x] مخرجات قابلة للتكرار
  • [x] الرؤية
  • [x] الأدوات
  • [x] التحكم في الاستدلال/التفكير (للنماذج التي تدعم التفكير)
  • [ ] Logprobs

حقول الطلب المدعومة

  • [x] model
  • [x] messages
    • [x] محتوى نصي
    • [x] محتوى صورة
      • [x] صورة مشفرة بتنسيق Base64
      • [ ] عنوان URL للصورة
    • [x] مصفوفة من أجزاء المحتوى
  • [x] frequency_penalty
  • [x] presence_penalty
  • [x] response_format
  • [x] seed
  • [x] stop
  • [x] stream
  • [x] stream_options
    • [x] include_usage
  • [x] temperature
  • [x] top_p
  • [x] max_tokens
  • [x] tools
  • [x] reasoning_effort ("high", "medium", "low", "max", "none")
  • [x] reasoning
    • [x] effort ("high", "medium", "low", "max", "none")
  • [ ] tool_choice
  • [ ] logit_bias
  • [ ] user
  • [ ] n

/v1/completions

الميزات المدعومة

  • [x] الإكمالات
  • [x] البث المتدفق
  • [x] وضع JSON
  • [x] مخرجات قابلة للتكرار
  • [ ] Logprobs

حقول الطلب المدعومة

  • [x] model
  • [x] prompt
  • [x] frequency_penalty
  • [x] presence_penalty
  • [x] seed
  • [x] stop
  • [x] stream
  • [x] stream_options
    • [x] include_usage
  • [x] temperature
  • [x] top_p
  • [x] max_tokens
  • [x] suffix
  • [ ] best_of
  • [ ] echo
  • [ ] logit_bias
  • [ ] user
  • [ ] n

ملاحظات

  • prompt يقبل حالياً سلسلة نصية فقط

/v1/models

ملاحظات

  • created يتوافق مع تاريخ آخر تعديل للنموذج
  • owned_by يتوافق مع اسم مستخدم ollama، والقيمة الافتراضية هي "library"

/v1/models/{model}

ملاحظات

  • created يتوافق مع تاريخ آخر تعديل للنموذج
  • owned_by يتوافق مع اسم مستخدم ollama، والقيمة الافتراضية هي "library"

/v1/embeddings

حقول الطلب المدعومة

  • [x] model
  • [x] input
    • [x] سلسلة نصية
    • [x] مصفوفة من السلاسل النصية
    • [ ] مصفوفة من الرموز
    • [ ] مصفوفة من مصفوفات الرموز
  • [x] encoding format
  • [x] dimensions
  • [ ] user

/v1/images/generations (تجريبي)

ملاحظة: هذه النقطة النهائية تجريبية وقد تتغير أو تُزال في الإصدارات المستقبلية.

إنشاء الصور باستخدام نماذج إنشاء الصور.

حقول الطلب المدعومة

  • [x] model
  • [x] prompt
  • [x] size (مثال: "1024x1024")
  • [x] response_format (فقط b64_json مدعوم)
  • [ ] n
  • [ ] quality
  • [ ] style
  • [ ] user

/v1/responses

ملاحظة: أُضيفت في إصدار Ollama v0.13.3

تدعم Ollama OpenAI Responses API. فقط النوع غير محفوظ الحالة مدعوم (أي لا يوجد دعم لـ previous_response_id أو conversation).

الميزات المدعومة

  • [x] البث المتدفق
  • [x] الأدوات (استدعاء الدوال)
  • [x] ملخصات الاستدلال (للنماذج التي تدعم التفكير)
  • [ ] طلبات محفوظة الحالة

حقول الطلب المدعومة

  • [x] model
  • [x] input
  • [x] instructions
  • [x] tools
  • [x] stream
  • [x] temperature
  • [x] top_p
  • [x] max_output_tokens
  • [ ] previous_response_id (الطلبات محفوظة الحالة لـ v1/responses غير مدعومة)
  • [ ] conversation (الطلبات محفوظة الحالة لـ v1/responses غير مدعومة)
  • [ ] truncation

النماذج

قبل استخدام أي نموذج، اسحبه محلياً باستخدام الأمر ollama pull:

shell
ollama pull llama3.2

أسماء النماذج الافتراضية

للأدوات التي تعتمد على أسماء نماذج OpenAI الافتراضية مثل gpt-3.5-turbo، استخدم الأمر ollama cp لنسخ اسم نموذج موجود إلى اسم مؤقت:

shell
ollama cp llama3.2 gpt-3.5-turbo

بعد ذلك، يمكن تحديد اسم النموذج الجديد في حقل model:

shell
curl http://localhost:11434/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "gpt-3.5-turbo",
        "messages": [
            {
                "role": "user",
                "content": "Hello!"
            }
        ]
    }'

ضبط حجم السياق

واجهة برمجة تطبيقات OpenAI لا تحتوي على طريقة لضبط حجم السياق للنموذج. إذا كنت بحاجة إلى تغيير حجم السياق، أنشئ ملف Modelfile بالشكل التالي:

FROM <some model>
PARAMETER num_ctx <context size>

استخدم الأمر ollama create mymodel لإنشاء نموذج جديد بحجم السياق المُحدث. استدع واجهة برمجة التطبيقات باستخدام اسم النموذج المُحدث:

shell
curl http://localhost:11434/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "mymodel",
        "messages": [
            {
                "role": "user",
                "content": "Hello!"
            }
        ]
    }'