Postgres + pgvector prin Router by MP
Construieste RAG cu Postgres + pgvector și embeddings prin Router by MP.
Raspuns scurt
Pentru RAG cu Postgres, indexezi documente in extensia pgvector și folosesti embeddings prin Router by MP. Query semantic ruleaza local in Postgres, generarea in Router.
Problema concreta
Echipele cu Postgres ca single database nu vor sa adauge vector DB separat. pgvector permite RAG fără infra noua.
Cum o rezolva Router by MP
Instalezi pgvector in Postgres. Embeddings prin Router by MP (text-embedding-3-small/large) sunt salvate in coloana vector. Query cu operator '<=>' (cosine distance) intoarce top-k pentru chat.
Fluxuri uzuale
- Install extension pgvector.
- Tabel documents cu coloana vector(1536).
- Embeddings batch prin Router.
- Query cu cosine + LIMIT pentru top-k.
Modele recomandate
text-embedding-3-smalltext-embedding-3-large
Disponibilitatea reala se verifica live in /models.
| Control | De ce conteaza |
|---|---|
| Un singur DB | Postgres + pgvector pentru toate. |
| Performant | ANN search rapid până la milioane vectori. |
| Audit | Toate embedding-urile au trace in Router. |
from openai import OpenAI
client = OpenAI(api_key=os.environ["ROUTER_API_KEY"], base_url="https://api.megapromoting.com/v1")
for doc in documents:
emb = client.embeddings.create(model="text-embedding-3-small", input=doc.text).data[0].embedding
cur.execute("INSERT INTO documents (id, content, embedding) VALUES (%s, %s, %s)", (doc.id, doc.text, emb))Reguli si limite
- Volum mare. Pentru >10M vectori, evaluează Pinecone/Weaviate.
- Index. Indexul HNSW are timp build; planifica.
- Dimensiuni. 1536 vs 3072 difera storage; alege per use-case.
Integrare rapida
Foloseste endpointul https://api.megapromoting.com/v1, trimite cheia caAuthorization: Bearer <router_api_key> si verifica pagina/modelsinainte de productie.