LArzuaga
s1
c044047
|
Raw
History Blame Contribute Delete
4.06 kB
# Guía de Uso de la API Flask para Vector Store y RAG
Esta API en flask permite gestionar un Vector Store para consultas de Recuperación Aumentada Generativa (RAG) y procesamiento de documentos.
Ofrece endpoints para inicializar el Vector Store, cargar documentos, listar los archivos en el Vector Store,
y realizar consultas con o sin historial de conversación.
## Requisitos previos
1. Instalar las dependencias:
```bash
pip install -r requirements.txt
```
2. Asegurarse de que el servidor Flask esté corriendo:
```bash
python app.py
```
3. Configurar las credenciales necesarias:
- Crear un archivo `.env` en la raíz del proyecto con la siguiente configuración:
```
OPENAI_API_KEY=your_openai_api_key
```
4. Preparar el directorio `Docs` para inicializar el Vector Store con los documentos que desees procesar.
---
## Endpoints Disponibles
### **1. Inicializar el Vector Store**
**Endpoint:** `POST /initialize-vs`
**Descripción:** Inicializa el Vector Store con los archivos contenidos en el directorio `Docs`.
**Ejemplo de Uso:**
Enviar una solicitud `POST` sin cuerpo.
**Respuesta Exitosa:**
```json
{
"message": "Vector Store inicializado con éxito desde el directorio Docs."
}
```
---
### **2. Listar Archivos en el Vector Store**
**Endpoint:** `GET /list-files`
**Descripción:** Lista los archivos procesados en el Vector Store.
**Ejemplo de Uso:**
Enviar una solicitud `GET` sin cuerpo.
**Respuesta Exitosa:**
```json
{
"files": [
"documento1.txt",
"documento2.pdf",
"imagen.jpg"
]
}
```
---
### **3. Subir y Procesar un Archivo**
**Endpoint:** `POST /upload-file`
**Descripción:** Permite subir un archivo para procesarlo y añadirlo al Vector Store.
**Ejemplo de Uso:**
Configurar una solicitud `POST` con el archivo en formato `multipart/form-data`.
**Respuesta Exitosa:**
```json
{
"message": "Archivo procesado y añadido al Vector Store con éxito."
}
```
---
### **4. Consultar RAG (sin historial de conversación)**
**Endpoint:** `POST /rag-query`
**Descripción:** Realiza una consulta en el Vector Store y genera una respuesta utilizando un LLM sin historial previo.
**Ejemplo de Uso:**
Cuerpo de la solicitud:
```json
{
"query": "¿Qué sabes de Amanda?"
}
```
**Respuesta Exitosa:**
```json
{
"query": "¿Qué sabes de Amanda?",
"response": "Amanda es conocida por sus aventuras en un pueblo costero..."
}
```
---
### **5. Consultar RAG (con historial de conversación)**
**Endpoint:** `POST /rag-query`
**Descripción:** Realiza una consulta en el Vector Store y genera una respuesta utilizando un LLM considerando el historial de conversación.
**Ejemplo de Uso:**
Cuerpo de la solicitud:
```json
{
"query": "¿Qué pasó con el museo que Amanda creó?",
"conversation_history": [
{
"user_input": "¿Qué sabes de Amanda?",
"ai_response": "Amanda es conocida por sus aventuras en un pueblo costero..."
}
]
}
```
**Respuesta Exitosa:**
```json
{
"query": "¿Qué pasó con el museo que Amanda creó?",
"response": "El museo que Amanda creó se convirtió en un punto importante para la comunidad..."
}
```
### 6. Obtener Archivos y Contenido
**URL:** `/get-files`
**Método:** `GET`
**Descripción:** Devuelve cada archivo almacenado en el Vector Store en el formato `source: Content`.
**Respuesta:**
```json
{
"documento1.txt": "Este es el contenido del documento 1...",
"documento2.pdf": "Este es el contenido extraído del documento 2...",
"imagen.jpg": "Texto extraído de la imagen..."
}
```
---
## Notas Finales
- Asegúrate de que el directorio `Docs` contiene los documentos necesarios antes de inicializar el Vector Store.
- El LLM utiliza el modelo `gpt-4o-mini` para las respuestas.
- La API es extensible y puedes añadir nuevos endpoints según sea necesario.
¡Listo! Ahora puedes interactuar con la API Flask para gestionar tu Vector Store y realizar consultas RAG.