Oturumlar API'si
/sessions altındaki sunucu tarafı konuşma durumu — oluşturma, mesaj akışı, geçmiş, özetleme ve yalnızca JWT kabul eden koruyucu.
- Sürüm: 0.4
- Rol: admin_user, normal_user
- Tür: başvuru
Oturum, CID222'nin sizin adınıza tuttuğu konuşma durumudur: mesaj geçmişi, kümülatif token kullanımı ve modele gönderilen, otomatik olarak özetlenmiş bir bağlam. Siz her seferinde tek bir mesaj gönderirsiniz, geçmişi CID222 sağlar.
Warning
Her /sessions rotası yalnızca JWT doğrulamasıyla korunur. Bir ağ geçidi API anahtarı
(cid_key_…) burada, nasıl gönderilirse gönderilsin, 401 döndürür.
POST /auth/login ile alınmış bir token kullanın.
Uç noktalar
| Metot | Yol | Döndürür | Açıklama |
|---|---|---|---|
| POST | /sessions | JSON | Boş bir oturum oluşturur |
| GET | /sessions | JSON | Kiracının sohbet oturumlarını listeler |
| GET | /sessions/:id | JSON | Tam geçmişiyle tek bir oturum |
| PATCH | /sessions/:id | JSON | Bir oturumu yeniden adlandırır |
| POST | /sessions/:id/messages | SSE | Mesaj gönderir ve yanıtı akıtır |
| DELETE | /sessions/:id | JSON | Bir oturumu siler |
POST /sessions ve POST /sessions/:id/messages birer yazma işlemidir ve auditor rolü için 403
ve ROLE_NOT_FOR_CHAT ile reddedilir. Okuma ve silme işlemleri çağıranın kendi kiracısıyla
sınırlıdır.
Oturum oluşturma
POST /sessions
| Alan | Tür | Zorunlu | Notlar |
|---|---|---|---|
session_name | string | Hayır | Etiket. Varsayılanı Chat Session - <yerel zaman damgası> |
user_id | string | Hayır | Atıf için sakladığınız kendi son kullanıcı tanımlayıcınız |
Model ve sağlayıcı, oluşturma anında değil, mesaj başına seçilir.
updated_at alanı yoktur. Güncellik bilgisini last_used_at taşır.
Mesaj gönderme
POST /sessions/:id/messages text/event-stream döndürür.
| Alan | Tür | Zorunlu | Notlar |
|---|---|---|---|
content | string | Evet | Kullanıcının mesaj metni |
model | string | Evet | Bu tur için model |
provider | string | Hayır | İki sağlayıcının sunduğu bir model adını ayırt eder |
temperature | number | Hayır | 0 ile 2 arası |
max_tokens | number | Hayır | 1 veya daha büyük |
top_p | number | Hayır | 0 ile 1 arası |
imageBase64 | string | Hayır | Görüntü modeli için base64 görüntü; model görmeden önce redakte edilir |
imageAnalysisSummary | object | Hayır | Önceki bir görüntü analizinin sonucu; yeniden filtrelemeyi atlar |
documentAnalysisSummary | object | Hayır | Önceki bir belge analizinin sonucu; yeniden filtrelemeyi atlar |
Akış
Sözleşme POST /chat/completions ile aynıdır — arabelleğe alınmış, yanıtın
tamamı tek bir filtered-response olayında ve ardından data: [DONE] — iki farkla.
user_message_processed burada iletilir. Oturum yolu bu kontrol olayını geçirir; böylece bir
arayüz, model görmeden önce istemde neyin maskelendiğini gösterebilir:
Ön filtre reddi farklı bir biçim taşır. Oturumun kendi girdi filtresi mesajı sohbet servisi
çağrılmadan önce reddettiğinde olayda error alanı bulunmaz:
Daha aşağıda, sohbet servisi içinde oluşan bir reddetme, Sohbet API'si sayfasında belgelenen
{"error":…,"type":"content_rejected","entities":[…]} biçimini kullanır. İkisini de ele alın:
error alanının varlığına değil, type === "content_rejected" koşuluna bakın.
Diğer her şey — user_locked, security_warning, token_usage, output_content_rejected,
output_content_warning, [DONE] — /chat/completions üzerindeki gibi davranır. hallucination
diye bir olay yoktur.
Tek bir oturumu alma
GET /sessions/:id, oturumu eksiksiz context alanıyla döndürür.
context içindeki her kayıt ayrıca timestamp, content_hash, had_detections,
detection_summary, filter_duration_ms, llm_duration_ms, is_rejected, rejection_reason ve
imageBase64 taşıyabilir.
Yanıt türü ayrıca context_window_usage alanını tanımlar, ancak oturum rotaları bu alanı
doldurmaz. Varlığına güvenmeyin.
Oturumları listeleme
GET /sessions, kimliği doğrulanmış kiracıya ait her sohbet oturumunu last_used_at alanına göre
azalan sırada döndürür.
Note
Bu uç nokta hiçbir sorgu parametresi kabul etmez ve sayfalama yapmaz. page ve limit, yönetim
liste uç noktaları içindir; burada yok sayılırlar.
Liste satırları geçmişi kasıtlı olarak dışarıda bırakır — bir oturum megabaytlarca base64 görüntü
tutabilir. Her satır context alanını boş bir dizi olarak ve yanında bir message_count
döndürür:
Yalnızca sohbet türündeki oturumlar listelenir. Görüntü taramaları ve oturumsuz API trafiği için örtük olarak oluşturulan oturumlar listede yer almaz; bunun yerine tespitler altında görünür.
Oturumu yeniden adlandırma
PATCH /sessions/:id, en fazla 100 karakterlik bir session_name alır ve güncellenmiş oturumu
döndürür.
Oturumu silme
DELETE /sessions/:id oturumu kaldırır. İlişkili tespit kayıtları basamaklı silme ile birlikte
kaldırılır.
Bağlam yönetimi
- Tam geçmiş
contextalanında saklanır veGET /sessions/:idtarafından döndürülür. - Model bağlamı ayrıdır. CID222 ikinci, özetlenmiş bir bağlam tutar ve sağlayıcıya onu gönderir.
- Özetleme eşiğe bağlıdır, modele değil. Özetlenmiş bağlam
context_summarization_threshold_tokensdeğerine — varsayılan4000— ulaştığında CID222 eski mesajları özetler ve olayısummarization_historyiçine kaydeder. Tetikleyici, modelin bağlam penceresi değil, yapılandırılmış bu token sayısıdır. Kapatmak içincontext_summarization_enableddeğerinifalseyapın. - Token kullanımı oturum başına birikir:
token_usage.total_tokensvetoken_usage.total_cost. - Halüsinasyon uyarıları oturuma yazılır. Arka plandaki bağlam doğrulama kontrolü
has_hallucination_warningalanını yazar vehallucination_warningsdizisine ekleme yapar. Akışta hiçbir zaman görünmez.
Hatalar
| Durum | Nedeni |
|---|---|
| 400 | Gövde doğrulamayı geçemedi; örneğin 100 karakteri aşan bir session_name |
| 401 | Eksik veya geçersiz JWT — burada hiçbir zaman kabul edilmeyen ağ geçidi API anahtarı dahil |
| 403 | Yazma işleminde auditor için ROLE_NOT_FOR_CHAT, her değişiklikte viewer için READ_ONLY_ROLE |
| 404 | Çağıran kiracıya ait, o kimliğe sahip bir oturum yok |
İlgili
- Sohbet API'si — durumsuz eşdeğeri ve SSE olay listesinin tamamı.
- Kimlik doğrulama — bu rotaların ihtiyaç duyduğu JWT'yi alma.
- API genel bakış — her yüzeyde temel yollar ve hata biçimleri.
Son güncelleme