DEMO LLM (خط أنابيب RAG) ويب يعمل محليًا باستخدام Docker-Cormse. يتم استهلاك نماذج LLM ودمجها كخدمات من Openai.
الهدف الأساسي هو تمكين المستخدمين من طرح الأسئلة المتعلقة بجراحة الليزك ، مثل "هل هناك موانع لمبرمجي الكمبيوتر للحصول على LASIK؟"
يسترجع خط أنابيب الجيل المعزز للاسترجاع (RAG) أحدث المعلومات من مجموعة البيانات لتوفير ردود دقيقة وذات صلة باستعلامات المستخدم.
تم عرض بنية التطبيق أدناه:

مخطط التسلسل:
Sequencediagram
المستخدم->> Langserve API: الاستعلام
ملاحظة يمين المستخدم: هل هناك موانع <br/> لمبرمجي الكمبيوتر <br/> للحصول على LASIK؟
Langserve API->> Openai Embeddings: استعلام المستخدم
Openai Operdings->> Langserve API: التضمين
Langserve API->> MilvusDB: استرجاع المستندات (البحث المتجه)
Milvusdb->> API Langserve: الوثائق ذات الصلة
ملاحظة يمين Langserve API: موجه <br/> الهندسة ...
Langserve API->> Openai LLM: موجه مخصب
Openai LLM->> Langserve API: إجابة تم إنشاؤها
UX:

بناء صورة Docker App:
make app-buildاضبط مفتاح Openai API كمتغير للبيئة
export OPENAI_API_KEY= < your-api-key >تدور Milvus DB:
make db-upتملأ DB مع مجموعة بيانات مضاعفات جراحة العيون في LASIK:
make db-populate
واجهة برمجة تطبيقات الدوران:
make app-run
يتوفر Chatbot الآن على http: // localhost: 8000/lasik_complications/playground/
عرض جميع الأوامر المتاحة مع:
make help 
تنظيف
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
مصادر من مضاعفات الليزر (جراحة العين بالليزر) (Kaggle)

Milvus هو محرك قاعدة بيانات متجه مفتوح المصدر تم تطويره بواسطة Zilliz ، مصمم لتخزين وإدارة بيانات المتجهات على نطاق واسع ، مثل التضمينات والميزات والبيانات عالية الأبعاد. يوفر قدرات تخزين وفهرسة واسترجاع فعالة لمهام بحث تشابه المتجه .

Langchain هي أداة تنسيق LLM ، وهي مفيدة للغاية عندما تحتاج إلى إنشاء تطبيقات LLM المدركة للسياق.
من أجل توفير السياق إلى LLM ، يتعين علينا أن نلف السؤال الأصلي في قالب موجه

يمكنك التحقق من ما هو موجه LLM الذي تم استلامه بالفعل من خلال النقر على "الخطوات المتوسطة" في UX

يساعد Langserve المطورين على نشر Langchain Rundables and Chains كأوpوع REST. تم دمج هذه المكتبة مع Fastapi.
لا يمكن لـ chatbot الإجابة على الأسئلة المتعلقة بالإحصائيات ، على سبيل المثال "هل هناك أي اتجاهات حديثة في مضاعفات جراحة الليزك؟" ، يجب أن يكون هناك نموذج آخر يصيب النافذة الزمنية ذات الصلة للنظر في استرداد المستندات ثم إثراء المطالبة النهائية مع هذا النافذة الزمنية.
ردود الفعل الخوارزمية مع Langsmith. هذا من شأنه أن يسمح لاختبار متانة سلسلة LLM بطريقة آلية.