What you get
- A knowledge base inside a database you already back up and operate
- Verified document replacement on re-ingestion
- The same agent configuration as every other store, with only the store parameters changing
How it works in EDDI
- Enable the pgvector extension in PostgreSQL and create a database and user.
- Create a RagConfiguration with
storeType: "pgvector", the connection details, a table and the vectordimension. - Bind it with an
eddi://ai.labs.ragworkflow step. - Select it by name in the LLM task and ingest documents.
Configuration
Taken from the EDDI documentation. Placeholders such as your-agent-id are yours to replace.
{
"name": "product-docs",
"embeddingProvider": "openai",
"embeddingParameters": {
"model": "text-embedding-3-small",
"apiKey": "${vault:openai-key}"
},
"storeType": "pgvector",
"storeParameters": {
"host": "localhost",
"port": 5432,
"database": "eddi",
"user": "eddi",
"password": "${vault:pg-password}",
"table": "product_docs",
"dimension": 1536
},
"chunkStrategy": "recursive",
"chunkSize": 512,
"chunkOverlap": 64,
"maxResults": 5,
"minScore": 0.6
}// 1. workflow step: binds the knowledge base to the agent
{ "type": "eddi://ai.labs.rag",
"extensions": {},
"config": { "uri": "eddi://ai.labs.rag/ragstore/rags/{ragId}?version=1" } }
// 2. LLM task: selects it by the "name" of the RagConfiguration
{ "tasks": [{
"actions": ["*"],
"type": "openai",
"knowledgeBases": [{ "name": "product-docs", "maxResults": 5, "minScore": 0.7 }],
"parameters": { "systemMessage": "You are a helpful assistant." }
} ] }Governance
- The database password is a required parameter. Keep it as a vault reference.
- Your existing PostgreSQL access control and backups apply to the vectors.
- Embedding calls send document text to the embedding provider you configure.
Good to know
- The in-memory store is for development: it empties after 30 minutes without a query and on restart. A persistent store such as pgvector is the production choice.
Related integrations
Configuration and behavior on this page follow the EDDI documentation, checked on 2026-10-14. Field names and defaults can change between releases, so confirm them in the docs for your version.