Dieses End-to-End-Projekt vereinfacht den Lebenszyklus von Large Language Model (LLM)-Anwendungen, einschließlich Entwicklung, Produktion und Bereitstellung. Das Repository enthält Ordner und Dateien als Komponenten des Projekts, wie Agenten, APIs, Ketten, Chatbots, GROQ (eine Abfragesprache), Hugging Face-Modelle, ObjectBox (eine eingebettete Datenbank), OpenAI-Modelle und Retrieval-Augmented Generation (RAG). ). ) Modelle. Ziel des Projekts ist es, eine umfassende Lösung für die Arbeit mit LLMs bereitzustellen, die Datenverarbeitung, Chatbot-Entwicklung und Integration mit verschiedenen Tools und Frameworks umfasst.
Dieses Projekt demonstriert die Erstellung eines Chatbots unter Verwendung sowohl kostenpflichtiger als auch Open-Source-LLMs (Large-Scale Language Models) über Langchain und Ollama. Es deckt den gesamten Lebenszyklus von LLM-Anwendungen ab, einschließlich Entwicklung, Produktion und Bereitstellung.
Ja. Alle APIs sind geheim, mit eingeschränktem Benutzerzugriff und anonymisierter .gitignore sowie einer weiteren Sicherheitsebene durch Github Secret Environments (Leider müssen Sie Ihre eigenen verwenden!)
conda create -p venv python==3.10 -y
venv S cripts a ctivate
pip install -r requirements.txt
Konfigurieren Sie die erforderlichen API-Schlüssel und Einstellungen in der Datei app.py
python app.py
Öffnen Sie einen Webbrowser und navigieren Sie zu (oder dem zugewiesenen progressiven Port auf Ihrem Computer). meiner ist das:
http://localhost:8502
Wir erstellen die Datei, indem wir die drei Hauptkettenfunktionen unseres Basis-Chatbots aufrufen.
Wir laden Anforderungen für Module und Bibliotheken:
Wir führen unsere app.py aus
Wir beenden die Konfiguration app.py
und führen es aus
Es gibt die Route zurück und öffnet den Host im Testbrowser
Local URL: http://localhost:8502
Network URL: http://192.168.100.30:8502
Schauen wir uns die Seite an:
Sehen wir uns das Projekt im Langchain-Framework an:
Schauen wir uns die Struktur der Ausgabe an, wie wir sie definieren:
Wir schauen uns den StrOutputParser im Detail an:
Wir werden Sie nach der „Bereitstellung von Python-Code, der zwei Werte austauscht“ fragen, um Kosten, Tokenisierung und Verzögerungszeit zu bewerten und die Frage zu lösen:
*proveeme de un código python que swapee 2 valores.*
:
# Definir los dos valores a intercambiar
a = 5
b = 10
print ( "Valores originales:" )
print ( "a =" , a )
print ( "b =" , b )
# Intercambiar los valores
temp = a
a = b
b = temp
print ( " n Valores intercambiados:" )
print ( "a =" , a )
print ( "b =" , b )
Abschließend generieren wir eine allgemeine Abfrage:
„Frage“: „Wann sollte man mit dem Zähneputzen von Welpen beginnen?“
Wir werden Llamama speziell laden, indem wir Llama2 auf unseren Computer herunterladen, um es in meiner lokalen Umgebung auszuführen
Ich öffne ein cmd
ollama run llama2
Wir laden llama2
herunter
Llama2
im Vergleich zu dem, der mit gpt3.5 turbo
generiert wurde, zu bewertenDas Projekt umfasst einen Vergleich zwischen OpenAIs GPT-3.5-turbo und dem lokal betriebenen Llama2-Modell:
Wir verwenden Langsmith auf Langchain, um Folgendes zu überwachen:
Beiträge zur Verbesserung des Chatbots oder zur Erweiterung seiner Fähigkeiten sind jederzeit willkommen. Bitte senden Sie Pull-Requests oder offene Probleme für etwaige Verbesserungen.
#### Willst du lernen? Schick mir eine DM!
Dieses Projekt ist Open Source und unter der MIT-Lizenz verfügbar.