Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,7 @@ For more details, please visit our [Full Documentation](./docs/en/).

### About Us

OpenViking is an open-source project initiated and maintained by the **ByteDance Volcengine Viking Team**.
OpenViking is an open-source context database initiated and maintained by the **ByteDance Volcengine Viking Team**.

The Viking team focuses on unstructured information processing and intelligent retrieval, accumulating rich commercial practical experience in context engineering technology:

Expand Down
2 changes: 1 addition & 1 deletion docs/en/about/01-about-us.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Project Overview

OpenViking is an open-source project initiated and maintained by ByteDance’s Volcano Engine Viking team, dedicated to building robust context engineering infrastructure for the AI Agent ecosystem. As a new-generation context database, OpenViking provides a unified data abstraction layer, an intelligent semantic parsing engine, and a high-performance hybrid retrieval system to deliver reliable backend support for all kinds of AI applications.
OpenViking is an open-source context database initiated and maintained by ByteDance’s Volcano Engine Viking team, dedicated to building robust context engineering infrastructure for the AI Agent ecosystem. As a new-generation context database, OpenViking provides a unified data abstraction layer, an intelligent semantic parsing engine, and a high-performance hybrid retrieval system to deliver reliable backend support for all kinds of AI applications.

## Team Introduction

Expand Down
3 changes: 1 addition & 2 deletions examples/ov.conf.example
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,7 @@
"host": "api-vikingdb.vikingdb.cn-beijing.volces.com",
"model_name": "doubao-seed-rerank",
"model_version": "251028",
"threshold": 0.1,
"return_directories": false
"threshold": 0.1
},
"auto_generate_l0": true,
"auto_generate_l1": true,
Expand Down
2 changes: 1 addition & 1 deletion openviking/storage/viking_fs.py
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@ async def _walk(current_path: str, current_rel: str):
continue
rel_path = f"{current_rel}/{name}" if current_rel else name
new_entry = {
"uri": str(VikingURI(uri).join(name)),
"uri": str(VikingURI(uri).join(rel_path)),
"size": entry.get("size", 0),
"isDir": entry.get("isDir", False),
"modTime": format_simplified(
Expand Down
4 changes: 4 additions & 0 deletions openviking_cli/utils/config/agfs_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ class S3Config(BaseModel):
description="Enable/Disable SSL (HTTPS) for S3 connections. Set to False for local testing without HTTPS.",
)

model_config = {"extra": "forbid"}

def validate_config(self):
"""Validate S3 configuration completeness"""
missing = []
Expand Down Expand Up @@ -92,6 +94,8 @@ class AGFSConfig(BaseModel):
# AGFS will act as a gateway to the specified S3 bucket.
s3: S3Config = Field(default_factory=lambda: S3Config(), description="S3 backend configuration")

model_config = {"extra": "forbid"}

@model_validator(mode="after")
def validate_config(self):
"""Validate configuration completeness and consistency"""
Expand Down
4 changes: 4 additions & 0 deletions openviking_cli/utils/config/embedding_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ class EmbeddingModelConfig(BaseModel):
region: Optional[str] = Field(default=None, description="Region for VikingDB API")
host: Optional[str] = Field(default=None, description="Host for VikingDB API")

model_config = {"extra": "forbid"}

@model_validator(mode="before")
@classmethod
def sync_provider_backend(cls, data: Any) -> Any:
Expand Down Expand Up @@ -97,6 +99,8 @@ class EmbeddingConfig(BaseModel):
sparse: Optional[EmbeddingModelConfig] = Field(default=None)
hybrid: Optional[EmbeddingModelConfig] = Field(default=None)

model_config = {"extra": "forbid"}

@model_validator(mode="after")
def validate_config(self):
"""Validate configuration completeness and consistency"""
Expand Down
2 changes: 1 addition & 1 deletion openviking_cli/utils/config/open_viking_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ class OpenVikingConfig(BaseModel):
default="stdout", description="Log output: stdout, stderr, or file path"
)

model_config = {"arbitrary_types_allowed": True}
model_config = {"arbitrary_types_allowed": True, "extra": "forbid"}

@classmethod
def from_dict(cls, config: Dict[str, Any]) -> "OpenVikingConfig":
Expand Down
2 changes: 2 additions & 0 deletions openviking_cli/utils/config/rerank_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ class RerankConfig(BaseModel):
default=0.1, description="Relevance threshold (score > threshold is relevant)"
)

model_config = {"extra": "forbid"}

def is_available(self) -> bool:
"""Check if rerank is configured."""
return self.ak is not None and self.sk is not None
2 changes: 2 additions & 0 deletions openviking_cli/utils/config/storage_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,5 @@ class StorageConfig(BaseModel):
params: Dict[str, Any] = Field(
default_factory=dict, description="Additional storage-specific parameters"
)

model_config = {"extra": "forbid"}
6 changes: 6 additions & 0 deletions openviking_cli/utils/config/vectordb_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ class VolcengineConfig(BaseModel):
)
host: Optional[str] = Field(default=None, description="Volcengine VikingDB host (optional)")

model_config = {"extra": "forbid"}


class VikingDBConfig(BaseModel):
"""Configuration for VikingDB private deployment."""
Expand All @@ -26,6 +28,8 @@ class VikingDBConfig(BaseModel):
default_factory=dict, description="Custom headers for requests"
)

model_config = {"extra": "forbid"}


class VectorDBBackendConfig(BaseModel):
"""
Expand Down Expand Up @@ -78,6 +82,8 @@ class VectorDBBackendConfig(BaseModel):
description="VikingDB private deployment configuration for 'vikingdb' type",
)

model_config = {"extra": "forbid"}

@model_validator(mode="after")
def validate_config(self):
"""Validate configuration completeness and consistency"""
Expand Down
3 changes: 1 addition & 2 deletions openviking_cli/utils/config/vlm_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ class VLMConfig(BaseModel):

_vlm_instance: Optional[Any] = None

class Config:
arbitrary_types_allowed = True
model_config = {"arbitrary_types_allowed": True, "extra": "forbid"}

@model_validator(mode="before")
@classmethod
Expand Down
Loading