Allgemeine Einführung
Curiosity ist ein Projekt zur Erforschung und zum Experimentieren, das hauptsächlich die Technologiepakete LangGraph und FastHTML verwendet, mit dem Ziel, eine ähnliche Perplexität AI des Suchprodukts. Das Herzstück des Projekts ist eine einfache ReAct Curiosity unterstützt eine Vielzahl von großen Sprachmodellen (LLMs), darunter gpt-4o-mini von OpenAI, llama3-groq-8b-8192-tool-use-preview von Groq und das Ollama Das Projekt konzentriert sich nicht nur auf die technische Umsetzung, sondern verwendet auch viel Zeit auf das Front-End-Design, um ein hochwertiges visuelles und interaktives Erlebnis zu gewährleisten.
Funktionsliste
- Verwendung von LangGraph und dem FastHTML-Technologie-Stack
- Integrierte Tavily-Suche Verbesserte Texterstellung
- Unterstützung für mehrere LLMs, einschließlich gpt-4o-mini, llama3-groq und llama3.1
- Bietet flexible Back-End-Switching-Funktionen
- Das Frontend ist mit FastHTML aufgebaut und unterstützt WebSockets-Streaming.
Hilfe verwenden
Installationsschritte
- Klon-Lagerhaus:
git klonen. https://github.com/jank/curiosity
- Stellen Sie sicher, dass Sie den neuesten Python3-Interpreter haben.
- Richten Sie die virtuelle Umgebung ein und installieren Sie die Abhängigkeiten:
python3 -m venv venv Quelle venv/bin/aktivieren pip install -r anforderungen.txt
- einrichten.
.env
und setzen Sie die folgenden Variablen:OPENAI_API_KEY= GROQ_API_KEY= TAVILY_API_KEY= LANGCHAIN_TRACING_V2=true LANGCHAIN_ENDPOINT="https://api.smith.langchain.com" LANGSMITH_API_KEY= LANGCHAIN_PROJECT="Neugierde"
- Führen Sie das Projekt aus:
python neugier.py
Richtlinien für die Verwendung
- Initiierung von Projekten: Lauf
python neugier.py
Danach wird das Projekt auf dem lokalen Server gestartet und ausgeführt. - LLM wählenWählen Sie das geeignete LLM (z. B. gpt-4o-mini, llama3-groq oder llama3.1) entsprechend Ihren Bedürfnissen.
- Suche mit TavilyReAct Agent: Geben Sie eine Anfrage in einen Dialog ein und der ReAct Agent erweitert die Texterstellung um die Tavily-Suche.
- Front-End-InteraktionDas Frontend des Projekts wurde mit FastHTML erstellt und unterstützt WebSockets-Streaming, um Echtzeit-Reaktionen zu gewährleisten.
allgemeine Probleme
- Wie man den LLM wechselt: in
.env
Datei, um den entsprechenden API-Schlüssel zu konfigurieren und die gewünschte LLM beim Start des Projekts auszuwählen. - WebSockets-ProblemeWenn Sie Probleme mit dem Schließen von WebSockets ohne ersichtlichen Grund haben, sollten Sie Ihre Netzwerkverbindung und Ihre Serverkonfiguration überprüfen.