Add knowledge retrieval configuration to Assistant model and related components
- Introduce new fields for knowledge retrieval configuration in AssistantConfig and Assistant models, including mode, top_n, and score_threshold. - Implement KnowledgeRetrievalConfig schema with validation for top_n. - Update backend services and routes to handle knowledge retrieval settings. - Enhance frontend components to support knowledge retrieval configuration, including a new dialog for advanced settings. - Add tests for knowledge retrieval configuration validation and description generation.
This commit is contained in:
@@ -8,6 +8,7 @@ from db.models import (
|
||||
Assistant,
|
||||
AssistantModelBinding,
|
||||
AssistantToolBinding,
|
||||
KnowledgeBase,
|
||||
ModelResource,
|
||||
Tool,
|
||||
)
|
||||
@@ -126,6 +127,11 @@ async def resolve_runtime_config(
|
||||
if assistant.vision_model_resource_id
|
||||
else llm_resource
|
||||
)
|
||||
knowledge_base = (
|
||||
await session.get(KnowledgeBase, assistant.knowledge_base_id)
|
||||
if assistant.knowledge_base_id
|
||||
else None
|
||||
)
|
||||
|
||||
return AssistantConfig(
|
||||
name=assistant.name,
|
||||
@@ -138,6 +144,9 @@ async def resolve_runtime_config(
|
||||
turnConfig=assistant.turn_config or {},
|
||||
tools=await _tools_for(session, assistant),
|
||||
knowledge_base_id=assistant.knowledge_base_id,
|
||||
knowledge_base_name=knowledge_base.name if knowledge_base else "",
|
||||
knowledge_base_description=knowledge_base.description if knowledge_base else "",
|
||||
knowledge_retrieval_config=assistant.knowledge_retrieval_config or {},
|
||||
# workflow 图:仅 workflow 类型非空,引擎据此启用图驱动对话
|
||||
graph=(assistant.graph or {}) if assistant.type == "workflow" else {},
|
||||
# 外部托管类型连接信息(DB 存真 key,直接注入)
|
||||
|
||||
Reference in New Issue
Block a user