Lompat ke konten
Intura

Memakai model

Versi dan cache

Versi mana yang dipilih load, cara mengunci satu versi atau mengambil yang terbaru, letak cache, dan cara mengunduh model ke folder pilihan Anda.

Versi mana yang dipilih load

Membeli model memberi Anda semua versinya. Versi diberi nomor v1.0, v1.1, v2.0, dan seterusnya. load memutuskan versi mana yang dipakai seperti ini:

PanggilanYang dimuatJaringan
load(slug)Versi terbaru yang sudah ada di cache. Jika belum ada, versi yang direkomendasikan, diunduh lebih dulu.Hanya jika cache kosong
load(slug, version="v1.0")Tepat versi itu, diunduh jika belum adaHanya jika versi itu belum ada
load(slug, refresh=True)Menanyakan versi yang direkomendasikan saat ini dan mengunduhnya jika Anda belum punyaSelalu (satu panggilan kecil, ditambah unduhan jika versinya baru)

Jadi begitu model ada di cache, load(slug) berjalan offline dan tanpa kunci. Tidak ada yang diperbarui diam-diam. Jalankan dengan refresh=True (atau intura-ai predict --refresh) saat Anda ingin yang terbaru. Versi lama tetap di cache, jadi Anda bisa kembali menetapkannya dengan version=.

Memberikan version= dan refresh=True sekaligus memunculkan ValueError: tetapkan satu versi atau ambil yang terbaru, jangan keduanya. Versi yang tidak Anda miliki, atau yang tidak ada, memunculkan NotFound.

python
model = client.models.load("chat-commerce-intent-id", version="v1.0")   # pinned
model = client.models.load("chat-commerce-intent-id", refresh=True)     # the latest

client.library.list() mencantumkan semua versi dari setiap model yang Anda miliki. Caranya ada di Library Anda.

Letak cache

Cache disusun <cache>/<slug>/<version>/. Lokasinya adalah yang pertama diatur dari daftar ini:

  1. load(..., cache_dir="./models")
  2. $INTURA_CACHE_DIR
  3. $XDG_CACHE_HOME/intura
  4. ~/.cache/intura

Untuk mengosongkan ruang, hapus folder versi, atau seluruh cache.

Unduhan yang terputus

Model yang baru sebagian terunduh tidak pernah dianggap lengkap. Setiap unduhan masuk ke folder staging tersembunyi di samping tujuannya. Folder itu baru diganti namanya menjadi <version>/ setelah setiap berkas tiba dengan ukuran yang dilaporkan bucket. Jika unduhan terputus (koneksi putus, Ctrl-C, disk penuh), tidak ada folder versi yang tertinggal, dan load berikutnya mengulang dari awal.

Mengunduh ke folder pilihan Anda

Untuk menaruh model di folder pilihan Anda, misalnya di image container atau di mesin tanpa akses internet, pakai download, lalu muat folder itu:

python
from intura_ai import Intura, LocalModel

client = Intura()
path = client.models.download("guardrails-pii-detection-id", "./models", version="v1.0")
# ./models/guardrails-pii-detection-id/v1.0/
model = LocalModel.load(path)

client.models.download(slug, dest=".", *, version=None, overwrite=False) menulis setiap berkas model ke <dest>/<slug>/<version>/ dan mengembalikan folder itu. Tanpa version, ia mengunduh versi yang direkomendasikan.

download juga atomik seperti load. Bundle lengkap yang sudah ada dibiarkan, kecuali Anda memberikan overwrite=True.

Hal yang sama dari shell:

bash
intura-ai download guardrails-pii-detection-id --dir ./models --version v1.0

Di dalam container

Jalankan intura-ai download (atau client.models.download) saat membangun image, lalu muat foldernya saat container berjalan. Container yang berjalan tidak butuh kunci maupun jaringan:

python
from intura_ai import LocalModel

model = LocalModel.load("/models/guardrails-pii-detection-id/v1.0")

Memakai pengunduh sendiri

client.models.links(slug, version=None) mengembalikan URL bertanda tangan tanpa mengunduh apa pun:

python
links = client.models.links("guardrails-pii-detection-id")
links.slug, links.version, links.expires_at
for file in links.files:
    print(file.name, file.size)    # file.url is the signed link

Hasilnya ModelDownload dengan slug, version, files (masing-masing ModelFile dengan name, size, dan url), expires_at, dan size, total byte. Tautannya berlaku 15 menit dan tidak bisa dicabut, jadi perlakukan seperti kredensial. Karena itu url tidak ikut dicetak.