نسخه بتا · دانا به‌زودی عرضه می‌شود
مستندات

شروع سریع

از صفر تا نخستین پاسخ موفق API دانا در سه قدم، با نمونه curl و Python و Node.js

سه قدم تا نخستین پاسخ: کلید بسازید، در متغیر محیطی بگذارید، درخواست بفرستید.

۱. کلید API بسازید

در کنسول دانا روی ساخت کلید بزنید و نامی بگذارید که بعدا بشناسیدش. کلید با dn-live- شروع می‌شود و فقط همان یک بار کامل نشان داده می‌شود، پس همان‌جا کپی کنید.

۲. کلید را در محیط بگذارید

export DANA_API_KEY="dn-live-..."

۳. درخواست بفرستید

curl:

curl https://api.dana.expert/v1/chat/completions \
  -H "Authorization: Bearer $DANA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"dana-1","messages":[{"role":"user","content":"سلام دانا!"}]}'

Python (openai SDK):

import os

from openai import OpenAI

client = OpenAI(
    api_key=os.environ["DANA_API_KEY"],
    base_url="https://api.dana.expert/v1",
)

response = client.chat.completions.create(
    model="dana-1",
    messages=[{"role": "user", "content": "سلام دانا!"}],
)
print(response.choices[0].message.content)

Node.js (openai SDK):

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.DANA_API_KEY,
  baseURL: "https://api.dana.expert/v1",
});

const response = await client.chat.completions.create({
  model: "dana-1",
  messages: [{ role: "user", content: "سلام دانا!" }],
});
console.log(response.choices[0].message.content);

پاسخ موفق

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "model": "dana-1",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "سلام! چطور می‌توانم کمکتان کنم؟"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 8,
    "completion_tokens": 14,
    "total_tokens": 22
  }
}

اگر جواب نگرفتید

کدی که دیدیدمعنایشکار بعدی
401کلید نرسید یا شناخته نشدببینید $DANA_API_KEY واقعا مقدار دارد و فاصله اضافه ندارد
429نرخ، ظرفیت، سقف توکن یا اعتبارفیلد type را بخوانید؛ چهار علت جدا دارد
503 با code برابر coming_soonسرویس‌دهی مدل هنوز روشن نشدهصبر کنید؛ تلاش مجدد جواب را عوض نمی‌کند

فهرست کامل کدها و راه‌حل هرکدام در خطاها آمده است.

دو نکته که بیشتر از همه وقت می‌گیرند:

  • برای رابط OpenAI مقدار base_url باید /v1 داشته باشد. برای رابط Anthropic نباید داشته باشد.
  • هدر درست Authorization: Bearer <key> است. کلید خالی و بدون Bearer همان 401 را می‌دهد.

قدم بعدی