Dieses Projekt zielt darauf ab, eine semantische Suche und eine LLM-CHAT-Anwendung von Lappen im Maßstab zu implementieren. Es besteht aus drei Hauptkomponenten:
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.
Mit dem modularen Design kann jede Komponente unabhängig skalierbar sein, sodass das System bei Bedarf große Verkehrsvolumina verarbeiten kann.
Für die reale Bereitstellung wird empfohlen, eine verteilte Vektor-Datenbanklösung anstelle von Chromadb zu übernehmen. Darüber hinaus sind weitere Verbesserungen erforderlich, um die Anwendungsproduktion zubereitet zu haben.
Dieses Projekt-Setup ist nur der Beginn der Erstellung einer produktionsbereiten Chat-basierten Anwendung.
Installieren Sie Abhängigkeiten (verwenden Sie Python> = 3.10). Für eine erfolgreiche LLMA-CPP-Python-Installation müssen Sie Umgebungsvariable addieren. Für Apple Silicon MacBooks verwenden Sie bitte den folgenden Befehl. Bitte überprüfen Sie die offizielle Dokumentation von LLMA-CPP-Python auf andere plattformspezifische Anweisungen. Link
CMAKE_ARGS="-DLLAMA_METAL=on"
pip install -r requirements.txt
Afterwords, in folgendem Sequenz, führen Sie jeden Dienst aus.
Dies ist ein Vektor -Datenbankdienst, der Datensatzeinträge erstellt, verändert und aktualisiert. Befolgen Sie hier diese Anweisungen
Dieser API-Dienst wird vom LLAMA-2-7B-Modell für die Chat-Schnittstelle angetrieben und verwendet chromadb_service für das Kontextabruf. Befolgen Sie hier diese Anweisungen
Dies ist eine Frontend-Anwendung (Streamlit), die sich auf LLM_Service stützt, um Chatbot- und Semantic-Suchfunktionen zu betreiben.
So starten Sie die Frontend -App, die unter dem Befehl unten ausgeführt wird.
streamlit run frontend/1_Product_Chat.py
Bitte wenden Sie sich an LinkedIn, um Fragen zur Implementierung und Techonlogies zu erhalten. Fühlen Sie sich frei, Pull-Requests für weitere Verbesserungen zu öffnen. Danke schön!