Chat UI documentation

Arsitektur

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Arsitektur

Dokumen ini memberikan gambaran umum tingkat tinggi tentang basis kode Chat UI. Jika Anda ingin berkontribusi atau memahami cara kerja basis kode, ini adalah tempat yang tepat untuk Anda!

Ikhtisar

Chat UI menyediakan antarmuka sederhana yang menghubungkan LLM ke alat eksternal melalui MCP. Proyek ini menggunakan MongoDB dan SvelteKit dengan Tailwind.

Keputusan arsitektur utama:

  • Hanya kompatibel dengan OpenAI: Semua interaksi model menggunakan format API OpenAI
  • MCP untuk tools: Pemanggilan tool ditangani melalui server Model Context Protocol
  • Penemuan otomatis: Model ditemukan dari endpoint /models

Peta Kode

routes

Semua rute dirender dengan SSR melalui SvelteKit. Sebagian besar logika backend dan frontend berada di sini, dengan modul bersama di lib (klien) dan lib/server (server).

textGeneration

Menyediakan antarmuka standar untuk fitur chat, termasuk keluaran model, pemanggilan alat, dan streaming. Menghasilkan MessageUpdate untuk pembaruan status yang terperinci (token baru, hasil alat, dll.).

endpoints

Menyediakan antarmuka streaming untuk endpoint yang kompatibel dengan OpenAI. Model diambil dan di-cache dari ${OPENAI_BASE_URL}/models.

mcp

Menerapkan fungsionalitas klien MCP untuk penemuan dan eksekusi alat. Lihat Alat MCP untuk konfigurasi.

llmRouter

Logika routing cerdas yang memilih model terbaik untuk setiap permintaan menggunakan heuristik lokal (input gambar → rute multimodal, alat MCP aktif → rute agentic, selain itu default). Lihat LLM Router untuk detailnya.

migrasi

Migrasi MongoDB untuk menjaga kompatibilitas mundur di antara perubahan skema. Setiap perubahan skema harus menyertakan migrasi.

Pengembangan

npm install
npm run dev

Server dev berjalan di http://localhost:5173 dengan hot reloading.

Update on GitHub