Construir e implantar a pesquisa semântica com FastAPI e pgvector
Crie um mecanismo de busca para uma base de conhecimento pessoal em que os usuários colem parágrafos e pesquisem pelo significado, não apenas por palavras exatas.
A stack
- Python com FastAPI
- Postgres com a
pgvectorextensão - API Gemini para embeddings
- Ambiente de execução Adios com segredos e conexão a banco de dados gerenciado
Por que esta arquitetura se encaixa em busca semântica
Backends de IA costumam importar bibliotecas Python mais pesadas e inicializar clientes de API na partida. No Adios, seu aplicativo FastAPI funciona como um serviço persistente comum, permitindo manter o backend pronto em vez de reconstruir o estado a cada requisição.
1. Criar a API
Peça ao agente de IA do 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. Adicionar 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
Crie um recurso Postgres pgvector chamado vector-db, ou defina DATABASE_URL manualmente, se já tiver um.
3. Implantar
adios secrets set GEMINI_API_KEY
adios up
Seu aplicativo recebe uma rota Adios gerada com TLS, logs de execução e dados de conexão com o banco de dados gerenciado, sem precisar de Dockerfile ou configuração em uma console de cloud.
Consulte a Caminho de implantação FastAPI, o Verificações de implantação pgvector, e o exato modelo pgvector antes de adaptar este exemplo a um conjunto de documentos em produção.