验证完毕

This commit is contained in:
weitong
2026-05-15 19:52:51 +08:00
committed by lyingbug
parent 06feee0fee
commit a27f12a6cb
3 changed files with 25 additions and 5 deletions

View File

@@ -512,3 +512,6 @@ DOCREADER_TRANSPORT=grpc
# 用于OIDC用于信息中提取用户数据
# OIDC_USER_INFO_MAPPING_USER_NAME=name
# OIDC_USER_INFO_MAPPING_EMAIL=email
# Document processing task timeout. Large files may need more than Asynq's default 30m.
# WEKNORA_DOCUMENT_PROCESS_TIMEOUT=2h

View File

@@ -42,6 +42,7 @@ knowledge_base:
chunk_size: 512
chunk_overlap: 50
split_markers: ["\n\n", "\n", "。"]
document_process_timeout: 2h
image_processing:
enable_multimodal: true

View File

@@ -154,11 +154,12 @@ type ServerConfig struct {
// KnowledgeBaseConfig 知识库配置
type KnowledgeBaseConfig struct {
ChunkSize int `yaml:"chunk_size" json:"chunk_size"`
ChunkOverlap int `yaml:"chunk_overlap" json:"chunk_overlap"`
SplitMarkers []string `yaml:"split_markers" json:"split_markers"`
KeepSeparator bool `yaml:"keep_separator" json:"keep_separator"`
ImageProcessing *ImageProcessingConfig `yaml:"image_processing" json:"image_processing"`
ChunkSize int `yaml:"chunk_size" json:"chunk_size"`
ChunkOverlap int `yaml:"chunk_overlap" json:"chunk_overlap"`
SplitMarkers []string `yaml:"split_markers" json:"split_markers"`
KeepSeparator bool `yaml:"keep_separator" json:"keep_separator"`
ImageProcessing *ImageProcessingConfig `yaml:"image_processing" json:"image_processing"`
DocumentProcessTimeout time.Duration `yaml:"document_process_timeout" json:"document_process_timeout"`
}
// ImageProcessingConfig 图像处理配置
@@ -434,6 +435,7 @@ func LoadConfig() (*Config, error) {
// Validate configuration values
applyOIDCEnvOverrides(&cfg)
applyAgentEnvOverrides(&cfg)
applyKnowledgeBaseEnvOverrides(&cfg)
if err := ValidateConfig(&cfg); err != nil {
return nil, err
@@ -561,6 +563,20 @@ func applyOIDCEnvOverrides(cfg *Config) {
}
}
func applyKnowledgeBaseEnvOverrides(cfg *Config) {
if cfg.KnowledgeBase == nil {
cfg.KnowledgeBase = &KnowledgeBaseConfig{}
}
if cfg.KnowledgeBase.DocumentProcessTimeout <= 0 {
cfg.KnowledgeBase.DocumentProcessTimeout = 2 * time.Hour
}
if value := strings.TrimSpace(os.Getenv("WEKNORA_DOCUMENT_PROCESS_TIMEOUT")); value != "" {
if d, err := time.ParseDuration(value); err == nil {
cfg.KnowledgeBase.DocumentProcessTimeout = d
}
}
}
func applyAgentEnvOverrides(cfg *Config) {
if cfg.Agent == nil {
cfg.Agent = &AgentConfig{}