توليد الردود

نقطة واحدة لكل التوليد النصّي: POST /v1/chat/completions. الشكل مألوف عمدًا كي ينتقل تطبيقك بتغيير عنوان ومفتاح لا بإعادة كتابة.

حقول الطلب

الحقلالنوعالوصف
modelstringاسم النموذج المعلن. الافتراضي vfm-1 (توجيه تلقائي).
messagesarrayقائمة الرسائل بالترتيب. لكل رسالة role وcontent.
messages[].rolestringدور الرسالة: system أو user أو assistant.
messages[].contentstringنصّ الرسالة.
streambooleantrue يبثّ الرد أحداثًا متتابعة. الافتراضي false.
temperaturenumberتنوّع الإخراج بين 0 و2. الافتراضي 0.7.
max_tokensinteger | nullسقف توكنات الرد. اتركه فارغًا ليقرّر النموذج.
json
{
  "model": "vorix-pro",
  "messages": [
    { "role": "system", "content": "You answer in short bullet points." },
    { "role": "user", "content": "Summarise the attached report." }
  ],
  "stream": false,
  "temperature": 0.7,
  "max_tokens": 800
}

حدود الطلب: حتى 200 رسالة في النداء الواحد، وحتى 400 ألف محرف في الرسالة الواحدة، وحتى 32 ألف توكن في max_tokens.

شكل الرد

json
{
  "id": "req_9f4d1c8e2a7b5306d4e1f2a3",
  "object": "chat.completion",
  "created": 1769040000,
  "model": "vorix-pro",
  "served_by": "vorix-pro",
  "choices": [
    {
      "index": 0,
      "message": { "role": "assistant", "content": "- First point\n- Second point" },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 512,
    "completion_tokens": 128,
    "total_tokens": 640,
    "cost": "$0.001664",
    "cost_micros": 1664,
    "estimated": false
  }
}

حقل served_by يخبرك بالمستوى الذي خدم طلبك فعلًا — يهمّ خاصةً مع vfm-1 الموجَّه، لأنه المستوى الذي حُوسبت به.

حقل usage

cost نصّ للعرض، وcost_micros عدد صحيح للحساب والتخزين. وestimated يقول الحقيقة: true تعني أن عدّاد التوكنات تقديري لا مأخوذ من عدّادٍ دقيق.

أمثلة كاملة

javascript
const response = await fetch("https://<host>/v1/chat/completions", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.VORIX_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "vorix-pro",
    messages: [
      { role: "system", content: "You answer in short bullet points." },
      { role: "user", content: "Summarise the attached report." },
    ],
    temperature: 0.3,
    max_tokens: 800,
  }),
})

if (!response.ok) {
  const { error } = await response.json()
  throw new Error(`${error.code}: ${error.message}`)
}

const data = await response.json()
python
import os
import requests

response = requests.post(
    "https://<host>/v1/chat/completions",
    headers={"Authorization": f"Bearer {os.environ['VORIX_API_KEY']}"},
    json={
        "model": "vorix-pro",
        "messages": [
            {"role": "system", "content": "You answer in short bullet points."},
            {"role": "user", "content": "Summarise the attached report."},
        ],
        "temperature": 0.3,
        "max_tokens": 800,
    },
    timeout=120,
)

if response.status_code != 200:
    error = response.json()["error"]
    raise RuntimeError(f"{error['code']}: {error['message']}")

data = response.json()

قائمة النماذج المتاحة

نقطة GET /v1/models تعيد كل النماذج المعلنة بأسمائها وقدراتها وأسعارها — اقرأها بدل كتابة قائمة ثابتة في تطبيقك.

curl
curl https://<host>/v1/models \
  -H "Authorization: Bearer vx_live_..."
json
{
  "object": "list",
  "data": [
    {
      "id": "vorix-pro",
      "object": "model",
      "owned_by": "vorix",
      "display_name": "VORIX Pro",
      "description": "Balanced capability and cost — the default for most applications.",
      "context_window": 128000,
      "speed": "balanced",
      "capabilities": ["text", "vision", "tools", "files"],
      "pricing": {
        "input_per_million_tokens": "$2.50",
        "output_per_million_tokens": "$7.50",
        "mode": "fixed"
      }
    }
  ]
}

سطر الهوية — شفافية كاملة

تضيف المنصّة سطر تعليمات نظام واحدًا في بداية رسائلك، يخبر النموذج أنه مساعد VORIX وألّا يخوض في تفاصيل بنيته الداخلية. هذا السطر الوحيد هو كل ما نضيفه — رسائلك بعده تصل كما كتبتها حرفًا بحرف، بلا حقنٍ خفيّ يغيّر إخراجك أو يكسر تنسيقًا تعتمد عليه. نوثّقه هنا لأن ما يُضاف لطلبك يجب أن تعرفه.

السطر يُحتسب ضمن توكنات الدخل (بضع عشرات من التوكنات).

التاليالبثّ