Configuration
OpenViking uses a JSON configuration file (ov.conf) for settings.
Configuration File
Create ov.conf in your project directory:
{
"embedding": {
"dense": {
"provider": "volcengine",
"api_key": "your-api-key",
"model": "doubao-embedding-vision-250615",
"dimension": 1024
}
},
"vlm": {
"provider": "volcengine",
"api_key": "your-api-key",
"model": "doubao-seed-1-8-251228"
},
"rerank": {
"provider": "volcengine",
"api_key": "your-api-key",
"model": "doubao-rerank-250615"
},
"storage": {
"agfs": {
"backend": "local",
"path": "./data"
},
"vectordb": {
"backend": "local",
"path": "./data"
}
}
}
Configuration Sections
embedding
Embedding model configuration for vector search.
{
"embedding": {
"dense": {
"provider": "volcengine",
"api_key": "your-api-key",
"model": "doubao-embedding-vision-250615",
"dimension": 1024,
"input": "multimodal"
}
}
}
See Embedding Configuration for details.
vlm
Vision Language Model for semantic extraction.
{
"vlm": {
"api_key": "your-api-key",
"model": "doubao-seed-1-8-251228",
"base_url": "https://ark.cn-beijing.volces.com/api/v3"
}
}
See LLM Configuration for details.
rerank
Reranking model for search refinement.
{
"rerank": {
"provider": "volcengine",
"api_key": "your-api-key",
"model": "doubao-rerank-250615"
}
}
storage
Storage backend configuration.
{
"storage": {
"agfs": {
"backend": "local",
"path": "./data",
"timeout": 30.0
},
"vectordb": {
"backend": "local",
"path": "./data"
}
}
}
Environment Variables
Configuration values can be set via environment variables:
export VOLCENGINE_API_KEY="your-api-key"
export OPENVIKING_DATA_PATH="./data"
Configuration Priority
- Constructor parameters (highest)
- Config object
- Configuration file (
ov.conf) - Environment variables
- Default values (lowest)
Programmatic Configuration
from openviking.utils.config import (
OpenVikingConfig,
StorageConfig,
AGFSConfig,
VectorDBBackendConfig,
EmbeddingConfig,
DenseEmbeddingConfig
)
config = OpenVikingConfig(
storage=StorageConfig(
agfs=AGFSConfig(
backend="local",
path="./custom_data",
),
vectordb=VectorDBBackendConfig(
backend="local",
path="./custom_data",
)
),
embedding=EmbeddingConfig(
dense=DenseEmbeddingConfig(
provider="volcengine",
api_key="your-api-key",
model="doubao-embedding-vision-250615",
dimension=1024
)
)
)
client = ov.AsyncOpenViking(config=config)
Configuration Reference
Full Schema
{
"embedding": {
"dense": {
"provider": "volcengine",
"api_key": "string",
"model": "string",
"dimension": 1024,
"input": "multimodal"
}
},
"vlm": {
"provider": "string",
"api_key": "string",
"model": "string",
"base_url": "string"
},
"rerank": {
"provider": "volcengine",
"api_key": "string",
"model": "string"
},
"storage": {
"agfs": {
"backend": "local|remote",
"path": "string",
"url": "string",
"timeout": 30.0
},
"vectordb": {
"backend": "local|remote",
"path": "string",
"url": "string"
}
},
"user": "string"
}
Related Documentation
- Embedding Configuration - Embedding setup
- LLM Configuration - LLM setup
- Client - Client initialization