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:

    pip install -r requirements.txt
    
  2. Asegurarse de que el servidor Flask est茅 corriendo:

    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:

{
    "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:

{
    "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:

{
    "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:

{
    "query": "驴Qu茅 sabes de Amanda?"
}

Respuesta Exitosa:

{
    "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:

{
    "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:

{
    "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:

{
    "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.