Curiosité : construction d'un outil de recherche IA de type Perplexity à l'aide de LangGraph

Introduction générale

Curiosity est un projet conçu pour explorer et expérimenter, principalement à l'aide du logiciel LangGraph et FastHTML, dans le but de construire un système de gestion de l'information qui soit à la pointe de la technologie. Perplexité AI du produit de recherche. Au cœur du projet se trouve un simple ReAct à l'aide de l'agent Tavily Curiosity prend en charge une variété de grands modèles de langage (LLM), notamment gpt-4o-mini d'OpenAI, llama3-groq-8b-8192-tool-use-preview de Groq, et le modèle Ollama Le projet se concentre non seulement sur la mise en œuvre technique, mais consacre également beaucoup de temps à la conception de la partie frontale afin de garantir une expérience visuelle et interactive de haute qualité.

Curiosity:使用LangGraph构建类似 Perplexity 的AI搜索工具

 

Liste des fonctions

  • Utilisation de LangGraph et de la pile technologique FastHTML
  • Recherche Tavily intégrée Génération de textes améliorés
  • Prise en charge de plusieurs LLM, y compris gpt-4o-mini, llama3-groq et llama3.1
  • Fournit des capacités de commutation flexibles en arrière-plan
  • Le front-end est construit avec FastHTML et prend en charge le streaming WebSockets.

 

Utiliser l'aide

Étapes de l'installation

  1. Entrepôt de clonage :
    git clone https://github.com/jank/curiosity
    
  2. Assurez-vous que vous disposez de la dernière version de l'interpréteur Python3.
  3. Configurer l'environnement virtuel et installer les dépendances :
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    
  4. établir .env et définir les variables suivantes :
    OPENAI_API_KEY=<your_openai_api_key>
    GROQ_API_KEY=<your_groq_api_key>
    TAVILY_API_KEY=<your_tavily_api_key>
    LANGCHAIN_TRACING_V2=true
    LANGCHAIN_ENDPOINT="https://api.smith.langchain.com"
    LANGSMITH_API_KEY=<your_langsmith_api_key>
    LANGCHAIN_PROJECT="Curiosity"
    
  5. Exécuter le projet :
    python curiosity.py
    

Lignes directrices pour l'utilisation

  1. Lancement de projets: Run python curiosity.py Ensuite, le projet démarrera et s'exécutera sur le serveur local.
  2. Sélectionner le LLMSélectionnez le LLM approprié (par exemple, gpt-4o-mini, llama3-groq, ou llama3.1) en fonction de vos besoins.
  3. Recherche avec TavilyL'agent ReAct : Saisissez une requête dans un dialogue et l'agent ReAct enrichit la génération de texte avec la recherche Tavily.
  4. Interaction frontaleL'interface du projet est construite en utilisant FastHTML et prend en charge le flux WebSockets pour assurer une réponse en temps réel.

problèmes courants

  • Comment changer de LLM ?: en .env pour configurer la clé API appropriée et sélectionner le LLM souhaité lors du démarrage du projet.
  • Questions relatives aux WebSocketsSi vous rencontrez des problèmes de fermeture des WebSockets sans raison apparente, il est recommandé de vérifier votre connexion réseau et la configuration de votre serveur.
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...