documentmentor rag
1.0.0

记录仪是一个抹布(检索增强发电)系统,充当技术文档助理。使用RAG架构,该系统将OpenAI的GPT-3.5的力量与本地知识库相结合,以提供西班牙语技术文档的精确和上下文化的响应。
Python 3.10+ :项目基本语言
Langchain :建造抹布系统的主框架
Openai API :
抹布(检索增强一代) :
Documentor使用简化作为用户界面的框架,提供:
互动聊天:
文档管理:
控制面板:
documentmentor/
├── data/ # Datos y almacenamiento
│ ├── processed/ # Documentos procesados
│ ├── vector_store/ # Almacenamiento vectorial
│ │ ├── document_map.json # Mapeo de documentos
│ │ └── faiss.index # Índice FAISS
│ └── documentmentor.db # Base de datos SQLite
│
├── src/ # Código fuente
│ ├── core/ # Lógica principal
│ │ ├── __init__.py
│ │ ├── document_processor.py # Procesamiento de PDFs
│ │ ├── memory_manager.py # Gestión de memoria
│ │ └── qa_engine.py # Motor de Q&A
│ │
│ ├── data/ # Capa de datos
│ │ ├── __init__.py
│ │ ├── database.py # Operaciones SQLite
│ │ └── vector_store.py # Gestión vectorial
│ │
│ └── ui/ # Interfaz de usuario
│ └── app.py # Aplicación Streamlit
│
├── .env # Variables de entorno
├── .env.example # Ejemplo de configuración
├── .gitignore
├── main.py # Punto de entrada
├── README.md
└── requirements.txt # Dependencias
PDF负载:
索引:
用户问题:
语义搜索:
答案的产生:
准备:
咨询:
后续:
# Core LangChain dependencies
langchain == 0.3 . 12
langchain - core == 0.3 . 25
langchain - community == 0.3 . 12
langchain - openai == 0.2 . 12
openai == 1.57 . 4
# Document Processing
pypdf == 5.1 . 0
python - dotenv == 1.0 . 1
# Vector Store & Embeddings
sentence - transformers == 3.3 . 1
faiss - cpu == 1.9 . 0. post1
torch == 2.5 . 1
torchvision == 0.20 . 1
torchaudio == 2.5 . 1
# Database
SQLAlchemy == 2.0 . 36
# UI Framework
streamlit == 1.41 . 1
# Utils
numpy == 2.2 . 0
pandas == 2.2 . 3
pydantic == 2.10 . 3 git clone https://github.com/Jaolmos/documentmentor-rag.gitpython -m venv venv # Windows
venv S cripts a ctivate
# Linux/Mac
source venv/bin/activatepip install -r requirements.txt # Copiar el archivo de ejemplo
cp .env.example .env
# Editar el archivo .env usando .env.example como referencia
# y añadir tu API key de OpenAI
OPENAI_API_KEY=tu_api_keypython main.py main.py脚本执行以下任务:
.env加载变量负载OPENAI_API_KEY的存在data/processed/用于处理的文档data/vector_store/ for vector指数