Skip to content

wild10/Rag_ChatbotAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agente Chatbot usando RAG

Pinecone, LangChain y Ollama, LLMs

Este proyecto implementa un chatbot basado en RAG (Retrieval-Augmented Generation), que combina documentos PDF con un modelo de lenguaje para responder consultas de manera contextualizada. Utiliza Pinecone como vector store(escalable y cloud free) y Ollama como modelo de embeddings y LLM base se usa LLAMA3 y alternativamente gpt-4.1-mini


Características

  • Indexación de documentos PDF para búsqueda semántica.
  • Uso de Pinecone como vector database serverless.
  • Creación de embeddings con OllamaEmbeddings.
  • Generación de respuestas mediante ChatOllama.
  • Interfaz interactiva con Gradio.
  • Soporte para prompts personalizados.

Tecnologías y librerías usadas

  • Python 3.10+
  • Pinecone — Vector database para búsqueda semántica.
  • LangChain — Framework para LLMs y RAG.
  • Ollama — Embeddings y chat models.
  • PyMuPDF — Lectura y procesamiento de PDFs.
  • Gradio — Interfaz web interactiva.
  • Librerías estándar: os, re.

Dependencias y versiones

El proyecto utiliza las siguientes librerías y versiones (según tu entorno llm_env):

Librería Versión
langchain 0.1.16
langchain-classic 1.0.0
langchain-community 0.0.32
langchain-core 0.2.43
langchain-ollama 1.0.0
langchain-pinecone 0.0.3
langchain-tests 0.3.15
langchain-text-splitters 0.0.2
pinecone-client 5.4.2
PyMuPDF (fitz) 1.25.4
gradio 5.22.0

Se recomienda usar estas versiones exactas en un entorno virtual para asegurar compatibilidad.


Configuración de Pinecone

  1. Crea una cuenta en Pinecone.
  2. Obtén tu API Key y guárdala en tu entorno:(usado en codigo, para fines demostrativos)
export PINECONE_API_KEY="tu_api_key"

Uso

Para ejecutar el chatbot, usa el siguiente comando:

source /home/wilderd/anaconda3/bin/activate
conda activate llm_env
python  main.py # chatbot llama3 free online local with ollama
python main_gpt.py # chatbot con api key chatg-gpt-4.1-mini

Demo

Demo del proyecto

Uso de Herramientas de IA

Durante el desarrollo del prototipo RAG, utilicé ChatGPT para apoyar varias tareas técnicas y asegurar calidad en el código:

  • Instalación y ambiente virtual:
    Sugerencias de comandos para crear el entorno Conda e instalar librerías sin conflictos de versiones.

  • Depuración y compatibilidad:
    Identificación de errores, optimización de fragmentos de código y aseguramiento de funcionamiento correcto.

  • Corrección de código:
    Actualización de sintaxis y métodos según versiones recientes de librerías, mejorando legibilidad y estabilidad.

  • Decisiones técnicas:
    Asistencia para integrar Pinecone en lugar de FAISS y construir la lógica de recuperación y generación de respuestas.

  • Mejora del prompting:
    ChatGPT ayudó a refinar prompts, incluyendo ejemplos claros para optimizar la generación de respuestas basadas en los documentos.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages