Add vision model support and related configurations in Assistant
- Introduce new fields in AssistantConfig, schemas, and database models to support vision capabilities, including `vision_enabled` and `vision_model_resource_id`. - Enhance validation logic in routes to ensure proper handling of vision models and their requirements. - Update the AssistantPage and related frontend components to include options for enabling vision understanding and selecting appropriate vision models. - Modify database seed scripts to include vision-related data for assistants, ensuring consistent setup. - Refactor related functions to integrate vision model handling in the audio-visual processing pipeline.
This commit is contained in:
@@ -97,6 +97,12 @@ class Assistant(Base):
|
||||
runtime_mode: Mapped[str] = mapped_column(String(16), default="pipeline")
|
||||
greeting: Mapped[str] = mapped_column(String(2048), default="")
|
||||
enable_interrupt: Mapped[bool] = mapped_column(Boolean, default=True)
|
||||
vision_enabled: Mapped[bool] = mapped_column(Boolean, default=False)
|
||||
vision_model_resource_id: Mapped[str | None] = mapped_column(
|
||||
String(40),
|
||||
ForeignKey("model_resources.id", ondelete="SET NULL"),
|
||||
nullable=True,
|
||||
)
|
||||
|
||||
# KB 引用:被引用时禁止删 KB(RESTRICT),无默认兜底
|
||||
knowledge_base_id: Mapped[str | None] = mapped_column(
|
||||
|
||||
@@ -8,18 +8,24 @@ ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
INSERT INTO assistants (
|
||||
id, name, type, runtime_mode, greeting, enable_interrupt,
|
||||
vision_enabled, vision_model_resource_id,
|
||||
knowledge_base_id, prompt, api_url, api_key, app_id, graph
|
||||
) VALUES
|
||||
('asst_001', '政务咨询助手', 'prompt', 'pipeline', '您好,我是政务助手,请问有什么可以帮您?', TRUE,
|
||||
FALSE, NULL,
|
||||
'kb_001', '你是一名专业的政务咨询助手,回答准确、简洁,不编造政策内容。', '', '', '', '{}'),
|
||||
('asst_002', '热线工单助手', 'workflow', 'pipeline', '', TRUE,
|
||||
FALSE, NULL,
|
||||
NULL, '', '', '', '',
|
||||
'{"nodes":[{"id":"1","type":"startCall","position":{"x":0,"y":0},"data":{"name":"开场","prompt":"你好,请问需要办理什么业务?"}}],"edges":[]}'),
|
||||
('asst_003', 'Dify 客服助手', 'dify', 'pipeline', '', TRUE,
|
||||
FALSE, NULL,
|
||||
NULL, '', 'https://api.dify.ai/v1', 'app-dify-demo-key', '', '{}'),
|
||||
('asst_004', 'FastGPT 售后助手', 'fastgpt', 'pipeline', '', TRUE,
|
||||
FALSE, NULL,
|
||||
NULL, '', 'https://api.fastgpt.in/api/v1/chat/completions', 'fastgpt-demo-key', 'app-fastgpt-001', '{}'),
|
||||
('asst_005', 'OpenCode 代码助手', 'opencode', 'pipeline', '', TRUE,
|
||||
FALSE, NULL,
|
||||
NULL, '你是一个代码助手的语音界面,用简洁口语回答工程问题。', 'http://localhost:4096', 'opencode-demo-key', '', '{}')
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user