# گفت‌وگوی مبتنی بر جستجوی Felo

POST /api/v1/data/chat

یک پرسش بفرستید و یک پاسخ تولیدشده همراه با منابع وب را در یک پاسخ دریافت کنید.

تمام نمونه‌ها از `FELO_API_KEY` از [نمای کلی](https://openapi.felo.ai/fa/docs/data-api/guides/felo-overview.md) استفاده می‌کنند. تماس‌ها از **موجودی پلتفرم** استفاده می‌کنند، نه اعتبارات Felo Pro. نمونه‌های پاسخ صرفاً نمایشی هستند؛ محتوای زنده و فیلدهای اختیاری متفاوت‌اند.

## پایانه

`POST /api/v1/data/chat`

این پایانه مبتنی بر موجودی پلتفرم است. [Felo Search API](https://openapi.felo.ai/fa/docs/api-reference/chat.md) در `/v2/chat` از اعتبارات Pro استفاده می‌کند و پوشش پاسخ متفاوتی دارد.

## درخواست

| فیلد | نوع | الزامی | معنا |
|---|---|---|---|
| `query` | string | بله | پرسش، 1 تا 2,000 نویسه |
| `accept_language` | string | خیر | زبان ترجیحی پاسخ، مانند `en`، `ja`، یا `zh-CN`; حداکثر 64 نویسه |
| `stream` | boolean | خیر | باید `false` باشد؛ پیش‌فرض `false` |

از یک برچسب زبانی با کد زبان 2 تا 8 حرفی و زیرتگ‌های اختیاری جداشده با خط تیره، مانند `zh-TW`، استفاده کنید. سرویس این ترجیح را به درخواست تولید اضافه می‌کند. اگر حذف شود، سرویس بالادستی زبان را انتخاب می‌کند؛ پیش‌فرض ثابتی وجود ندارد، و یک پرسش انگلیسی پاسخ انگلیسی را تضمین نمی‌کند. این ترجیح فقط روی پاسخ تولیدشده اعمال می‌شود؛ عنوان‌ها و گزیده‌های منبع زبان اصلی خود را حفظ می‌کنند.

این پایانه JSON غیرجریانی برمی‌گرداند. از `stream: true`، SSE، آرایه `messages` یا انتخاب مدل پشتیبانی نمی‌کند.

```bash
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/chat" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"Explain retrieval augmented generation and cite sources.","accept_language":"en","stream":false}'
```

## پاسخ

HTTP 200 مقدار `status: "ok"` و یک شیء `data` را برمی‌گرداند:

```json
{
  "status": "ok",
  "data": {
    "id": "example-chat-id",
    "message_id": "example-message-id",
    "answer": "Retrieval augmented generation adds retrieved context to a model request...",
    "resources": [
      {"title":"Example reference","link":"https://example.com/guide","snippet":"An overview of retrieval augmented generation."}
    ],
    "query_analysis": {"queries":["retrieval augmented generation"]}
  }
}
```

| فیلد | معنا |
|---|---|
| `data.answer` | پاسخ تولیدشده |
| `data.resources` | صفحات منبع با عنوان‌ها، پیوندها و گزیده‌ها |
| `data.query_analysis` | تحلیل اختیاری پرس‌وجو؛ ممکن است null باشد |
| `data.id`, `data.message_id` | شناسه‌های پاسخ |

ابتدا وضعیت HTTP را بررسی کنید، سپس پاسخ و منابع را بخوانید. مانند `/v2/chat` برای `status: 200` عددی آزمون نگیرید.

## صورتحساب

`chat` بر اساس هر درخواست صورتحساب می‌شود، نه بر اساس توکن‌های مدل. به [قیمت‌های فعلی](https://openapi.felo.ai/api/v1/data/prices) و [صورتحساب و خطاها](https://openapi.felo.ai/fa/docs/data-api/guides/felo-billing.md) مراجعه کنید.
