Curiosidad: creación de una herramienta de búsqueda AI similar a Perplexity mediante LangGraph

Introducción general

Curiosity es un proyecto diseñado para explorar y experimentar, principalmente utilizando el LangGraph y FastHTML, con el objetivo de construir una plataforma Perplejidad AI del producto de búsqueda. El núcleo del proyecto es un sencillo ReAct Agente, utilizando el Tavily Curiosity es compatible con una variedad de modelos de lenguaje de gran tamaño (LLMs), incluyendo gpt-4o-mini de OpenAI, llama3-groq-8b-8192-tool-use-preview de Groq, y el Ollama El proyecto no sólo se centra en la implementación técnica, sino que también dedica mucho tiempo al diseño front-end para garantizar una experiencia visual e interactiva de alta calidad.

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

 

Lista de funciones

  • Uso de LangGraph y la pila tecnológica FastHTML
  • Búsqueda Tavily integrada Generación de texto mejorada
  • Compatibilidad con múltiples LLM, incluidos gpt-4o-mini, llama3-groq y llama3.1
  • Proporciona capacidades de conmutación back-end flexibles
  • El front-end está construido con FastHTML y soporta WebSockets streaming.

 

Utilizar la ayuda

Pasos de la instalación

  1. Almacén de clonación:
    git clone https://github.com/jank/curiosity
    
  2. Asegúrate de que tienes el último intérprete de Python3.
  3. Configure el entorno virtual e instale las dependencias:
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    
  4. establecer .env y establezca las siguientes variables:
    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. Ejecuta el proyecto:
    python curiosity.py
    

Normas de uso

  1. Inicio de proyectos: Ejecutar python curiosity.py A continuación, el proyecto se iniciará y ejecutará en el servidor local.
  2. Seleccione LLMSeleccione el LLM adecuado (por ejemplo, gpt-4o-mini, llama3-groq o llama3.1) según sus necesidades.
  3. Buscar con TavilyEl agente ReAct mejora la generación de texto con la búsqueda Tavily.
  4. Interacción frontalEl front-end del proyecto está construido usando FastHTML y soporta WebSockets streaming para asegurar una respuesta en tiempo real.

problemas comunes

  • Cómo cambiar de LLM: en .env para configurar la clave API adecuada y seleccionar el LLM deseado al iniciar el proyecto.
  • Problemas de WebSockets: Si experimenta problemas con el cierre de WebSockets sin motivo aparente, se recomienda que compruebe su conexión de red y la configuración del servidor.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...