# Python · Belge asistanı

FastAPI/ASGI üzerinde retrieval, model girdisi, çıktı ve kaynak bilgisini izleyin.

## 1. Wheel paketini yükleyin

Python 3.10+ kullanın. Portalın servis için verdiği wheel’i kurumunuzun izin verdiği ortamda yükleyin.

```bash
python -m pip install ./packages/sigillum_finans_sdk-0.11.0-py3-none-any.whl
python -m pip install fastapi uvicorn
```

HTTPX, OpenTelemetry ve cryptography SDK bağımlılıklarıdır; kurumun paket aynası üzerinden çözümlenebilir.

## 2. ASGI uygulamasını sarın

`start(Path(...).resolve())` ile tek SDK nesnesi oluşturun. Route’ları tanımladıktan sonra `app = sdk.wrap_asgi(api)` kullanın. SDK standart ASGI HTTP mesaj sınırını ve kapsam içindeki HTTPX çağrılarını gözler. WebSocket, keyfi socket veya bütün Python kütüphaneleri için otomatik yakalama iddiası yoktur.

## 3. Belge asistanı senaryosu

Demo **POST /assist** isteğinde kısa bir soru alır. Üç yerel sentetik belgeden basit kelime eşleşmesiyle kaynak seçer; deterministik bir örnek cevap üretir. Gerçek LLM değildir. Retrieval kaynak içeriği, açıklama, iş sonucu ve kaynak eki ayrı gözlemler olarak eklenir.

## 4. JSON, ekler ve referanslar

`JsonData.raw` geçerli bir JSON nesnesini `str` veya değişmez `bytes` olarak alır. `Attachment` özgün içeriği taşır. `References` ve `ExternalReference` kişi/oturum/iş referanslarını ekler. JSON içindeki büyük sayıları gözlem için gereksiz parse/serialize döngüsünden geçirmeyin.

## 5. Gerçek model çağrısına geçiş

`sdk.call_ai` ve `call_ai_async` gerçek çağrıyı bir kez çalıştırır. Çıktı ham JSON değilse `output=` seçicisi özgün JSON’u verir. Stream’i örnek almak için önceden tüketmeyin; gerçek tüketim sırasında gözlem üretin.

## 6. Örneği çalıştırın

ZIP içindeki README’ye göre `.sigillum/config.json` dosyasını yerleştirin. `uvicorn app:app --host 127.0.0.1 --port 5110` ile başlatın. Portal başlangıcı **POST /assist** olmalı. `/sdk-status` yanıtını gözlem kanıtı yerine kullanmayın; gerçek `/assist` isteği gönderin.