Этот проект направлен на реализацию семантического поиска и тряпичного приложения LLM-чата в масштабе. Он состоит из трех основных компонентов:
1. Vector Store Database (chromadb_service): Manages and stores vector embeddings for efficient retrieval.
2. Backend LLM-Powered API Service (llm_service): Handles the core logic and interacts with the LLM model.
3. Frontend Application: Provides the user interface for interacting with the application.
Модульная конструкция позволяет каждому компоненту быть независимо масштабируемым, что позволяет системе обрабатывать большие объемы трафика по мере необходимости.
Для развертывания в реальном мире рекомендуется принять решение распределенной векторной базы данных вместо ChromADB. Кроме того, для обеспечения подготовки к производству приложений будут необходимы дальнейшие улучшения.
Эта настройка проекта-это только начало создания готового к производству приложений на основе чата.
Установите зависимости (используйте Python> = 3.10). Вам потребуется добавить переменную среды CMAKE_ARGS для успешной установки LLMA-CPP-Python. Для Apple Silicon Macbook, пожалуйста, используйте команду ниже. Пожалуйста, проверьте официальную документацию LLMA-CPP-Python для других конкретных инструкций. связь
CMAKE_ARGS="-DLLAMA_METAL=on"
pip install -r requirements.txt
Последствия, в следующей последовательности запустить каждую службу.
Это служба векторной базы данных, которая создает, изменяет и обновляет записи наборов данных. Следуйте этим инструкциям здесь
Эта служба API оснащена моделью Llama-2-7B для интерфейса чата и использует Chromadb_service для поиска контекста. Следуйте этим инструкциям здесь
Это фронтальное приложение (Streamlit), которое опирается на LLM_Service для питания чат-бота и семантических поисков.
Чтобы запустить приложение Frontend, запустить ниже команды.
streamlit run frontend/1_Product_Chat.py
Пожалуйста, обратитесь ко мне в LinkedIn для любых вопросов, связанных с реализацией и технологий. Не стесняйтесь открывать запросы для дальнейших улучшений. Спасибо!