This guide covers the complete configuration options for Cipher, including agent setup, embedding configuration, and vector store settings.
The main configuration file for Cipher is located at memAgent/cipher.yml. Here's the basic structure:
# LLM Configuration
llm:
provider: openai # openai, anthropic, openrouter, ollama, qwen
model: gpt-4-turbo
apiKey: $OPENAI_API_KEY
# System Prompt
systemPrompt: 'You are a helpful AI assistant with memory capabilities.'
# MCP Servers (optional)
mcpServers:
filesystem:
type: stdio
command: npx
args: ['-y', '@modelcontextprotocol/server-filesystem', '.']Configure embeddings in memAgent/cipher.yml. If not specified, uses automatic fallback based on your LLM provider. Below is the table of fallback embedding models:
| Provider | Config | Fallback Model | Fixed Dimensions |
|---|---|---|---|
| OpenAI | type: openai |
text-embedding-3-small |
No |
| Gemini | type: gemini |
gemini-embedding-001 |
No |
| Qwen | type: qwen |
text-embedding-v3 |
Yes (1024, 768, 512) |
| Voyage | type: voyage |
voyage-3-large |
Yes (1024 only) |
| AWS Bedrock | type: aws-bedrock |
amazon.titan-embed-text-v2:0 |
Yes (1024, 512, 256) |
| Azure OpenAI | type: openai |
text-embedding-3-small |
No |
| Ollama | type: ollama |
nomic-embed-text |
No |
# OpenAI
embedding:
type: openai
model: text-embedding-3-small
apiKey: $OPENAI_API_KEY
# Qwen (fixed dimensions - must specify)
embedding:
type: qwen
model: text-embedding-v3
apiKey: $QWEN_API_KEY
dimensions: 1024 # Required: 1024, 768, or 512
# AWS Bedrock (fixed dimensions - must specify)
embedding:
type: aws-bedrock
model: amazon.titan-embed-text-v2:0
region: $AWS_REGION
accessKeyId: $AWS_ACCESS_KEY_ID
secretAccessKey: $AWS_SECRET_ACCESS_KEY
dimensions: 1024 # Required: 1024, 512, or 256
# Azure OpenAI
embedding:
type: openai
model: text-embedding-3-small
apiKey: $AZURE_OPENAI_API_KEY
baseUrl: $AZURE_OPENAI_ENDPOINT
# Voyage (fixed dimensions - always 1024)
embedding:
type: voyage
model: voyage-3-large
apiKey: $VOYAGE_API_KEY
# Note: Voyage models use fixed 1024 dimensions
# LM Studio (local, no API key required)
embedding:
type: lmstudio
model: nomic-embed-text-v1.5 # or bge-large, bge-base, bge-small
baseUrl: http://localhost:1234/v1 # Optional, defaults to this
# dimensions: 768 # Optional, auto-detected based on model
# Disable embeddings (chat-only mode)
embedding:
disabled: trueNote: Setting embedding: disabled: true disables all memory-related tools (cipher_memory_search, cipher_extract_and_operate_memory, etc.) and operates in chat-only mode.
If no embedding config is specified, automatically uses your LLM provider's embedding:
- Anthropic LLM → Voyage embedding (needs
VOYAGE_API_KEY) - AWS LLM → AWS Bedrock embedding (uses same credentials)
- Azure LLM → Azure OpenAI embedding (uses same endpoint)
- Qwen LLM → Qwen embedding (uses same API key)
- LM Studio LLM → LM Studio embedding (tries same model first, then dedicated embedding model, finally OpenAI)
- Ollama LLM → Ollama embedding (uses same local server)
- OpenAI/Gemini/Ollama → Same provider embedding
Note: For providers with fixed dimensions (Qwen, Voyage, AWS), you must specify dimensions: in the config to override the default value in .env.
Cipher supports three vector databases for storing embeddings. Configure in .env:
Qdrant (Qdrant Cloud)
# Remote (Qdrant Cloud)
VECTOR_STORE_TYPE=qdrant
VECTOR_STORE_URL=your-qdrant-endpoint
VECTOR_STORE_API_KEY=your-qdrant-api-key
# Local (Docker)
VECTOR_STORE_TYPE=qdrant
VECTOR_STORE_HOST=localhost
VECTOR_STORE_PORT=6333
VECTOR_STORE_URL=http://localhost:6333Milvus (Zilliz Cloud)
# Remote (Zilliz Cloud)
VECTOR_STORE_TYPE=milvus
VECTOR_STORE_URL=your-milvus-cluster-endpoint
VECTOR_STORE_USERNAME=your-zilliz-username
VECTOR_STORE_PASSWORD=your-zilliz-password
# Local (Docker)
VECTOR_STORE_TYPE=milvus
VECTOR_STORE_HOST=localhost
VECTOR_STORE_PORT=19530# Collection configuration
VECTOR_STORE_COLLECTION=knowledge_memory
VECTOR_STORE_DIMENSION=1536
VECTOR_STORE_DISTANCE=Cosine
# Reflection memory (optional)
REFLECTION_VECTOR_STORE_COLLECTION=reflection_memory
DISABLE_REFLECTION_MEMORY=true # default: true- LLM Providers - Detailed configuration for all supported LLM providers
- Embedding Configuration - Advanced embedding setup
- Vector Stores - Detailed vector database configurations
- Workspace Memory - Team-aware memory system configuration