Ir al contenido
AdiosDocumentación
Explorar la documentación

Crear y desplegar búsqueda semántica con FastAPI y pgvector

Crea un buscador de base de conocimiento personal en el que los usuarios peguen párrafos y busquen por significado, no solo por palabras exactas.

El Stack

  • Python con FastAPI
  • Postgres con el pgvector extensión
  • API de Gemini para embeddings
  • Entorno de ejecución de Adios con secretos y conexión a bases de datos gestionadas

Por qué esta arquitectura encaja con la búsqueda semántica

Los backends de IA suelen importar bibliotecas Python más pesadas e inicializar clientes de API al arrancar. En Adios, tu app FastAPI se ejecuta como un servicio persistente normal, por lo que tu backend puede mantenerse preparado en lugar de reconstruir el estado en cada solicitud.

1. Crear la API

Pídele al agente de IA de Adios:

Build a FastAPI semantic search API. Add endpoints to insert documents and
search them using embeddings. Use Gemini for embeddings, Postgres pgvector for
similarity search, and /healthz for health checks.

2. Añadir adios.yaml

name: semantic-search
region: de
replicas: 1

build_cmd: python -m pip install -r requirements.txt
start_cmd: python -m uvicorn app.main:app --host 0.0.0.0 --port $PORT

runtime:
  name: python@3.13
  port: 8000
  health_path: /healthz
  memory_mb: 1024

env:
  DATABASE_URL: secret://DATABASE_URL
  GEMINI_API_KEY: secret://GEMINI_API_KEY

requires:
  - vector-db

Crea un recurso Postgres pgvector llamado vector-db, o establece DATABASE_URL manualmente si ya tienes uno.

3. Desplegar

adios secrets set GEMINI_API_KEY
adios up

Tu app obtiene una ruta generada de Adios con TLS, registros de ejecución y detalles de conexión a bases de datos gestionadas sin configurar un Dockerfile ni una consola de nube.

Revisa la Ruta de despliegue de FastAPI, el Comprobaciones de despliegue de pgvector, y el exacto plantilla de pgvector antes de adaptar este ejemplo a un corpus de documentos de producción.