# Felo Chat oparty na wyszukiwaniu

POST /api/v1/data/chat

Wyślij pytanie i otrzymaj w jednej odpowiedzi wygenerowaną odpowiedź ze źródłami internetowymi.

Wszystkie przykłady używają `FELO_API_KEY` z [przeglądu](https://openapi.felo.ai/pl/docs/data-api/guides/felo-overview.md). Wywołania korzystają z **salda platformy**, a nie z kredytów Felo Pro. Przykłady odpowiedzi mają charakter poglądowy; rzeczywista treść i opcjonalne pola mogą się różnić.

## Punkt końcowy

`POST /api/v1/data/chat`

To jest punkt końcowy salda platformy. [Felo Search API](https://openapi.felo.ai/pl/docs/api-reference/chat.md) pod `/v2/chat` używa kredytów Pro i ma inny format otoczki odpowiedzi.

## Żądanie

| Pole | Typ | Wymagane | Znaczenie |
|---|---|---|---|
| `query` | string | Tak | Pytanie, 1–2 000 znaków |
| `accept_language` | string | Nie | Preferowany język odpowiedzi, taki jak `en`, `ja` lub `zh-CN`; maks. 64 znaki |
| `stream` | boolean | Nie | Musi być `false`; domyślnie `false` |

Użyj tagu językowego z 2–8-literowym kodem języka i opcjonalnymi podtagami oddzielonymi myślnikami, takimi jak `zh-TW`. Usługa dodaje to ustawienie do żądania generowania. Jeśli nie zostanie podane, usługa nadrzędna wybiera język; nie ma stałej wartości domyślnej, a pytanie po angielsku nie gwarantuje odpowiedzi po angielsku. Preferencja dotyczy wygenerowanej odpowiedzi; tytuły źródeł i fragmenty zachowują swój oryginalny język.

Ten punkt końcowy zwraca JSON bez strumieniowania. Nie obsługuje `stream: true`, SSE, tablicy `messages` ani wyboru modelu.

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

## Odpowiedź

HTTP 200 zwraca `status: "ok"` oraz obiekt `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"]}
  }
}
```

| Pole | Znaczenie |
|---|---|
| `data.answer` | Wygenerowana odpowiedź |
| `data.resources` | Strony źródłowe z tytułami, linkami i fragmentami |
| `data.query_analysis` | Opcjonalna analiza zapytania; może mieć wartość null |
| `data.id`, `data.message_id` | Identyfikatory odpowiedzi |

Najpierw sprawdź status HTTP, a następnie odczytaj odpowiedź i źródła. Nie testuj liczbowego `status: 200`, jak mógłbyś to zrobić w `/v2/chat`.

## Rozliczenia

`chat` jest rozliczany za żądanie, a nie według tokenów modelu. Zobacz [bieżące ceny](https://openapi.felo.ai/api/v1/data/prices) oraz [Rozliczenia i błędy](https://openapi.felo.ai/pl/docs/data-api/guides/felo-billing.md).
