Hujjatlardan qidirish

Sahifa yoki bo‘lim nomini kiriting

Funksiyalar

Chat va streaming

Model tanlash, multimodal xabarlar, reasoning, tool qismlari va stream xulqi.

Chat oqimi

Foydalanuvchi faqat active va o‘ziga ruxsat etilgan public model aliaslarini ko‘radi. Yangi xabar conversation va user message’ni saqlaydi, inference’ni stream qiladi va assistant message’ni yakuniy usage bilan persist qiladi.

  • Model va kerak bo‘lsa reasoning darajasini tanlash.
  • Matn va verified fayllarni bitta promptga biriktirish.
  • Stream davomida tokenlarni inkremental ko‘rsatish va bekor qilish.
  • Source/citation, web-search, reasoning va tool-call qismlarini alohida render qilish.
  • Xatodan keyin suhbat kontekstini yo‘qotmasdan qayta urinish.

Model capability validatsiyasi

CapabilityTekshiruv
StreamingProvider adapter va model flag’i qo‘llashi kerak
Vision / file inputFayl turi va model input capability mos bo‘lishi kerak
ReasoningSo‘ralgan effort model/provider tomonidan qo‘llanishi kerak
Tools / web searchRequest va model capability mosligi oldindan tekshiriladi
Context windowEstimated input + reserved output limitdan oshmasligi kerak

Unified event format

Stream ketma-ketligi
response_started
text_delta* | reasoning_delta* | tool_call_delta* | web_search*
usage?
completed | error

Frontend providerning xom SSE formatiga bog‘lanmaydi. Adapter Azure/OpenAI-compatible javobni platforma eventlariga aylantiradi, shu sababli UI bitta renderer ishlatadi.

Provider kontrakti

Adapter mas’uliyati
type Provider interface {
    Generate(ctx context.Context, req Request) (*Response, error)
    Stream(ctx context.Context, req Request) (<-chan Event, error)
    ValidateRequest(req Request) error
    CountOrEstimateTokens(ctx context.Context, req Request) (Usage, error)
    TestConnection(ctx context.Context) error
    ListModels(ctx context.Context) ([]Model, error)
    NormalizeUsage(raw any) Usage
    NormalizeError(err error) error
}