Setup & Installation
How do I get started?
How do I get started?
create-ragen-app to scaffold a full local installation in one command:What are the minimum hardware requirements?
What are the minimum hardware requirements?
- ~8 GB of RAM — document parsing (Docling) is the hungry part
- Docker and Docker Compose
- Node.js 24.x if you run the apps outside containers
Can I run Ragen without internet access?
Can I run Ragen without internet access?
- Set all four model variables (
DEFAULT_MODEL,REPHRASE_MODEL,SUMMARY_MODEL,EMBEDDINGS_MODEL) to models served on your own hardware via vLLM or Ollama. - Set
DOCLING_STRICT=1to prevent document parsing from falling back to an external model if Docling fails. - Point
SMTP_HOSTat an internal mail server, or setMAIL_PROVIDER=consoleto skip email entirely. - After the initial install, serve container images from an internal registry to eliminate outbound traffic for updates.
How do I update Ragen?
How do I update Ragen?
Models & AI
Which AI providers does Ragen support?
Which AI providers does Ragen support?
- OpenAI (GPT-4o, GPT-4.1, o3, etc.)
- Anthropic (Claude, direct or via Bedrock)
- Azure OpenAI
- Amazon Bedrock
- Google Vertex AI
openai-compatible route, which is two environment variables and no code change. See Model gateway.Can I use different models for different tasks?
Can I use different models for different tasks?
Can I change the embedding model after setup?
Can I change the embedding model after setup?
VECTOR_SIZE:bge-multilingual-gemma2(default) →3584cohere-embed-multilingual-v3,bge-m3,multilingual-e5-large→1024
What languages does Ragen support?
What languages does Ragen support?
bge-multilingual-gemma2) is multilingual. Retrieval uses a hybrid approach — dense vector search for semantic meaning combined with BM25 sparse vectors for exact terms — which performs well across languages and on technical content like part numbers or proper names.The internal benchmark score for multilingual retrieval is 92%. Results for your specific documents and language will vary, so test on your own material before committing to a model.Security & Privacy
Does Ragen send my documents to the vendor?
Does Ragen send my documents to the vendor?
What data leaves my network?
What data leaves my network?
- Document parsing can fall back externally.
DOCUMENT_PARSER=doclingparses on your hardware, but if Docling fails the worker falls back to a loader that sends PDFs to an external model. SetDOCLING_STRICT=1to fail ingest instead. - Content moderation goes directly outward. If
MODERATION_ENABLEDis on, it calls OpenAI’s moderation endpoint directly — it is the one model call the route table cannot redirect. Leave moderation off on an isolated install.
Is conversation data encrypted?
Is conversation data encrypted?
ENCRYPTION_PROVIDER to one of:scaleway— Scaleway Key Managerkms— AWS KMSlocal— a master key in the environment
Is SSO supported?
Is SSO supported?
API & Integration
Is the Ragen API compatible with OpenAI?
Is the Ragen API compatible with OpenAI?
POST /v1/chat/completions— chat completions with streaming supportPOST /v1/files,GET /v1/files,DELETE /v1/files/:id— file managementPOST/GET/PATCH/DELETE /v1/assistants— assistant (project) managementPOST/GET/PATCH/DELETE /v1/threadsand messages — conversation thread management
base_url to your deployment’s API address. Ragen adds one extension field, assistant_id, to specify which project to query.top_p and seed). A few are rejected with a 400 because silently dropping them would produce unexpected results — response_format and tools/tool_choice fall into this category.How do I get an API key?
How do I get an API key?
Open Settings
Create a key
Copy it immediately
Is there a rate limit on the API?
Is there a rate limit on the API?
429 rate_limit_error. The official TypeScript SDK retries 429 responses automatically with exponential backoff and jitter.Can I use the Python OpenAI SDK with Ragen?
Can I use the Python OpenAI SDK with Ragen?
base_url at your Ragen instance and pass assistant_id as an extra body parameter:extra_body field passes Ragen’s assistant_id extension through the OpenAI SDK without triggering a validation error. Streaming works the same way — set stream=True and iterate the response as you normally would.