# Trò chuyện dựa trên tìm kiếm của Felo

POST /api/v1/data/chat

Gửi một câu hỏi và nhận về một câu trả lời được tạo cùng các nguồn web trong một phản hồi.

Tất cả ví dụ dùng `FELO_API_KEY` từ [tổng quan](https://openapi.felo.ai/vi/docs/data-api/guides/felo-overview.md). Các cuộc gọi sử dụng **số dư nền tảng**, không phải tín dụng Felo Pro. Các ví dụ phản hồi chỉ mang tính minh họa; nội dung thực tế và các trường tùy chọn sẽ thay đổi.

## Endpoint

`POST /api/v1/data/chat`

Đây là endpoint dùng số dư nền tảng. [Felo Search API](https://openapi.felo.ai/vi/docs/api-reference/chat.md) tại `/v2/chat` dùng tín dụng Pro và có khung phản hồi khác.

## Yêu cầu

| Trường | Kiểu | Bắt buộc | Ý nghĩa |
|---|---|---|---|
| `query` | string | Có | Câu hỏi, 1–2.000 ký tự |
| `accept_language` | string | Không | Ngôn ngữ trả lời ưu tiên, như `en`, `ja`, hoặc `zh-CN`; tối đa 64 ký tự |
| `stream` | boolean | Không | Phải là `false`; mặc định là `false` |

Dùng thẻ ngôn ngữ với mã ngôn ngữ 2–8 chữ cái và các phân nhóm tùy chọn nối bằng dấu gạch ngang, như `zh-TW`. Dịch vụ sẽ thêm tùy chọn này vào yêu cầu tạo. Nếu bỏ qua, dịch vụ upstream sẽ tự chọn ngôn ngữ; không có giá trị mặc định cố định, và câu hỏi bằng tiếng Anh không đảm bảo câu trả lời bằng tiếng Anh. Tùy chọn này áp dụng cho câu trả lời được tạo; tiêu đề nguồn và trích đoạn giữ nguyên ngôn ngữ gốc.

Endpoint này trả về JSON không streaming. Nó không hỗ trợ `stream: true`, SSE, mảng `messages` hoặc chọn model.

```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}'
```

## Phản hồi

HTTP 200 trả về `status: "ok"` và một đối tượng `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"]}
  }
}
```

| Trường | Ý nghĩa |
|---|---|
| `data.answer` | Câu trả lời được tạo |
| `data.resources` | Các trang nguồn với tiêu đề, liên kết và đoạn trích |
| `data.query_analysis` | Phân tích truy vấn tùy chọn; có thể là null |
| `data.id`, `data.message_id` | Định danh phản hồi |

Kiểm tra trạng thái HTTP trước, rồi đọc câu trả lời và nguồn. Đừng kiểm tra `status: 200` dạng số như bạn có thể làm với `/v2/chat`.

## Thanh toán

`chat` được tính phí theo từng yêu cầu, không theo token của model. Xem [giá hiện tại](https://openapi.felo.ai/api/v1/data/prices) và [Thanh toán và Lỗi](https://openapi.felo.ai/vi/docs/data-api/guides/felo-billing.md).
