Lompat ke konten
Intura

Memakai model

Async

AsyncIntura untuk program asyncio: unduhan di-await, prediksinya tetap LocalModel yang sama dan berjalan di CPU.

AsyncIntura

python
from intura_ai import AsyncIntura

async with AsyncIntura() as client:
    model = await client.models.load("chat-commerce-intent-id")

model.predict("ongkirnya berapa?")

AsyncIntura menerima argumen yang sama dengan Intura dan punya dua resource yang sama: client.models (load, list, links, download) dan client.library (list). Semuanya di-await.

Hanya panggilan API dan unduhan yang di-await. Membaca model dari disk terjadi sekali dan sinkron, dan predict adalah method LocalModel yang sama, terikat CPU, seperti di klien sinkron. Itu sebabnya model di atas dipakai setelah blok async with: model tidak menyimpan koneksi, jadi menutup klien tidak memengaruhinya.

Batch besar di dalam event loop

predict berjalan di CPU dan memblokir selama berjalan. Di dalam event loop, serahkan batch besar ke thread:

python
import asyncio

results = await asyncio.to_thread(model.predict_batch, texts)

async with menutup connection pool klien untuk Anda. Tanpanya, panggil await client.aclose() setelah selesai. Klien yang Anda beri httpx.AsyncClient milik Anda sendiri tidak pernah menutupnya; lihat Konfigurasi.