Demo LLM (Rag Pipeline) Веб-приложение работает локально с помощью Docker-Compose. Модели LLM и встраивания потребляются в качестве услуг от OpenAI.
Основная цель состоит в том, чтобы позволить пользователям задавать вопросы, связанные с хирургией LASIK, например , «Есть ли противопоказание для программистов, чтобы получить Lasik?»
Поиск конвейера по извлечению (RAG) получает наиболее актуальную информацию из набора данных, чтобы предоставить точные и соответствующие ответы на запросы пользователей.
Архитектура приложения представлена ниже:

Схема последовательности:
секвенированная
Пользователь->> Langserve API: запрос
ПРИМЕЧАНИЕ ПРЕДОСТАВЛЕНИЕ О пользователю: Есть ли противопоказание <br/> для компьютерных программистов <br/>, чтобы получить LASIK?
Langserve API->> Openai Enterdings: пользовательский запрос
Openai Entgeddings->> API Langserve: встраивание
Langserve API->> milvusdb: документы поиск (векторный поиск)
Milvusdb->> API Langserve: соответствующие документы
ПРИМЕЧАНИЕ ПРЕДОСТАВЛЕНИЕ ЛАНГСЕРЕВОЙ API: Подсказка <br/> Engineering ...
Langserve API->> Openai LLM: обогащенная подсказка
OpenAI LLM->> API Langserve: генерируемый ответ
UX:

Создайте приложение Docker Image:
make app-buildУстановите свой ключ API OpenAI в качестве переменной среды
export OPENAI_API_KEY= < your-api-key >Сверните Milvus DB:
make db-upЗаполняйте ДБ с набором данных о осложнениях с грибами LASIK:
make db-populate
Spin-Up API:
make app-run
Чатбот теперь доступен по адресу 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
Получен из LASIK (лазерная хирургия глаз) осложнения (Kaggle)

Milvus-это векторный двигатель с открытым исходным кодом, разработанный Zilliz, предназначенный для хранения и управления крупномасштабными векторными данными, такими как встроенные, функции и высокомерные данные. Он обеспечивает эффективные возможности хранения, индексации и поиска для задач поиска сходства вектора .

Langchain-это инструмент оркестровки LLM, он очень полезен, когда вам нужно создать контекстные приложения LLM.
Чтобы предоставить контекст LLM, мы должны обернуть исходный вопрос в быстром шаблоне

Вы можете проверить, какое призыв LLM действительно получил, нажав на «промежуточные шаги» в UX

Langserve помогает разработчикам развернуть Langchain Runnables и Chains в качестве API REST. Эта библиотека интегрирована с FASTAPI.
Чатбот не может ответить на вопросы, связанные с статистикой, например , «Есть ли недавние тенденции в хирургических осложнениях LASIK?» Должна быть другая модель, которая позволяет релевантному временному окне, чтобы рассмотреть для получения документов, а затем обогащать окончательную подсказку с помощью этого временного окна.
Алгоритмическая обратная связь с Лэнгсмитом. Это позволило бы протестировать надежность цепочки LLM автоматизированным образом.