Vai al contenuto
AdiosDocumentazione
Esplora la documentazione

Sviluppa e distribuisci una ricerca semantica con FastAPI e pgvector

Sviluppa un motore di ricerca per una base di conoscenza personale, in cui gli utenti incollano paragrafi ed eseguono ricerche per significato, oltre che per parole esatte.

Lo stack

  • Python con FastAPI
  • Postgres con pgvector come estensione
  • API Gemini per gli embedding
  • Ambiente di esecuzione Adios con segreti e collegamento al database gestito

Perché questa architettura si adatta alla ricerca semantica

I backend IA spesso importano librerie Python pesanti e inizializzano client API all’avvio. Su Adios, l’app FastAPI viene eseguita come un normale servizio persistente, così il backend può restare pronto senza ricostruire lo stato a ogni richiesta.

1. Sviluppa l’API

Chiedi all’agente IA 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. Aggiungi 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 una risorsa Postgres pgvector chiamata vector-db, oppure imposta DATABASE_URL manualmente se ne hai già uno.

3. Distribuisci

adios secrets set GEMINI_API_KEY
adios up

La tua app riceve una route Adios generata con TLS, log di esecuzione e dettagli di connessione al database gestito, senza configurare un Dockerfile o una console cloud.

Consulta percorso di distribuzione FastAPI, il controlli di distribuzione pgvector, e lo specifico modello pgvector prima di adattare questo esempio a una raccolta di documenti in produzione.