2.1 KiB
Fitur moop (Model Option) untuk TUI: Pindahkan penyimpanan model dari config yaml ke database sqlite.
db_path default "~/.config/hendrik/moop.sqlite3" dan bisa di ubah di yaml. Jika db moop tidak ada di db_path, maka create baru.
referensi query ada di plan/moop.sql dan referensi diagram plantuml ada di plan/moop.puml.
List model yang sudah ada di default-config.yaml kalau mau di bersihin silahkan aja. Default list model-nya kosong aja.
Tipe-nya untuk saat ini baru llm, embedding, imagegen, imagevision aja.
Apa aja yang di migrasikan dari config yaml ke sqlite:
- LLM
- Image Vision
- Image Generate
- RAG (Embedding)
Use case:
- Bisa setting Providers, Model name, dan API Keys yang di bundle dalam 1 set
- Bisa milih default model set pada tipe tertentu. sekarang baru ada
llm,embedding,imagegen,imagevisionaja. Kalau default dari type tersebut kosong, masukin set+type pertama kali artinya otomatis default, supaya ga kosong. - Nampilin opsi model set yang ingin dipakai untuk switch model yang dipakai AI Agent
Tujuan utama:
- Bisa switch alternative API Key, Provider secara otomatis kalau gagal connect (bergantung pada priority) berdasarkan model set yang di gunakan.
Kapan itu switch?
- Koneksi gagal
- timeout
- Server error
- rate limit
- auth gagal
- 404
Apa prioritas auto switch-nya di model set:
- Key. setelah semua key gabisa baru deh:
- Model provider-nya
Aturan-aturan lainnya:
- Pengelolaan setting add edit delete untuk Providers dan Opsi model set-nya ada di TUI
- Service (XMPP, dan Telegram) pakai Default yang di sqlite itu.
- 1 set bisa multi-type (apalagi jika model-nya memungkinkan dan support banyak type)
- jika error 401/403 maka coba key berikutnya dulu (rotasi key)
- jika error lain (koneksi/timeout/5xx/429/404) maka langsung pindah ke model/provider berikutnya. skip sisa key, biar tidak timeout berulang di api yang sama.
Karena imagevision bisa termasuk di llm umum atau bisa tidak termasuk di llm umum, ekspektasi alur untuk imagevision sebagai berikut:
- pas panggil tools vision (imagevision model)
- result dapat dari tools tanpa fallback dari model imagevision
- switch ke model llm umum
- llm memberi fallback