Aplikasi Web Demo LLM (Pipeline Rag) berjalan secara lokal menggunakan Docker-Compose. LLM dan model penyematan dikonsumsi sebagai layanan dari OpenAI.
Tujuan utamanya adalah untuk memungkinkan pengguna mengajukan pertanyaan yang terkait dengan operasi LASIK, seperti "Apakah ada kontraindikasi bagi pemrogram komputer untuk mendapatkan LASIK?"
Pipa Pengambilan Augmented Generation (RAG) mengambil informasi terkini dari dataset untuk memberikan tanggapan yang akurat dan relevan terhadap kueri pengguna.
Arsitektur aplikasi disajikan di bawah ini:

Diagram Urutan:
Sequencediagram
Pengguna->> API Langserve: Query
CATATAN Hak Pengguna: Apakah ada kontraindikasi <br/> untuk pemrogram komputer <br/> untuk mendapatkan lasik?
Langserve API->> Openai Embeddings: Kueri Pengguna
Openai Embeddings->> Langserve API: Embedding
Langserve API->> Milvusdb: Pengambilan Dokumen (Pencarian Vektor)
MILVUSDB->> Langserve API: Dokumen yang relevan
Catatan Hak Langserve API: Prompt <br/> Rekayasa ...
Langserve API->> OpenAI LLM: Prompt yang diperkaya
OpenAI LLM->> Langserve API: Jawaban yang dihasilkan
UX:

Bangun Aplikasi Gambar Docker:
make app-buildAtur tombol API OpenAI Anda sebagai variabel lingkungan
export OPENAI_API_KEY= < your-api-key >Putar Milvus DB:
make db-upPopulasikan DB dengan Dataset Komplikasi Bedah Mata LASIK:
make db-populate
API Spin-Up:
make app-run
Chatbot sekarang tersedia di http: // localhost: 8000/lasik_complications/playground/
Tampilkan semua perintah yang tersedia dengan:
make help 
Membersihkan
make clean ├── .github
│ ├── workflow
│ │ └── cicd.yml <- CI pipeline definition
├── data
│ └── laser_eye_surgery_complications.csv <- Kaggle dataset
|
├── docs
│ ├── diagrams <- Folder containing diagram definitions
│ └── img <- Folder containing screenshots
│
├── src
│ ├── config.py <- Config file with service host/ports or models to be used
│ ├── populate_vector_db.py <- Scripts that converts texts to embeddings and populates Milvus DB
│ └── server.py <- FastAPI/Langserve/Langchain
│
├── .gitignore
├── .pre-commit-config.yaml <- ruff linter pre-commit hook
├── docker-compose.yml <- container orchestration
├── Dockerfile <- App image definition
├── Makefile <- Makefile with commands like `make app-build`
├── poetry.lock <- Pinned dependencies
├── pyproject.toml <- Dependencies requirements
├── README.md <- The top-level README for developers using this project.
└── ruff.toml <- Linter config
Sumber dari LASIK (Laser Eye Surgery) Komplikasi (Kaggle)

Milvus adalah mesin basis data vektor open-source yang dikembangkan oleh Zilliz, yang dirancang untuk menyimpan dan mengelola data vektor skala besar, seperti embeddings, fitur, dan data dimensi tinggi. Ini menyediakan kemampuan penyimpanan, pengindeksan, dan pengambilan yang efisien untuk tugas pencarian kesamaan vektor .

Langchain adalah alat orkestrasi LLM, sangat berguna ketika Anda perlu membangun aplikasi LLM yang sadar konteks.
Untuk memberikan konteks kepada LLM, kita harus membungkus pertanyaan aslinya dalam templat yang cepat

Anda dapat memeriksa prompt apa LLM yang sebenarnya diterima dengan mengklik "Langkah Menengah" di UX

Langserve membantu pengembang menyebarkan runnables dan rantai Langchain sebagai API REST. Perpustakaan ini terintegrasi dengan FastAPI.
Chatbot tidak dapat menjawab pertanyaan yang terkait dengan statistik, misalnya "Apakah ada tren terbaru dalam komplikasi operasi LASIK?" , harus ada model lain yang menyimpulkan jendela waktu yang relevan untuk dipertimbangkan untuk mengambil dokumen dan kemudian memperkaya prompt akhir dengan window waktu ini.
Umpan balik algoritmik dengan Langssmith. Ini akan memungkinkan untuk menguji kekokohan rantai LLM dengan cara otomatis.