chenpei d0dc94e36d feat: 将弹幕功能替换为AI聊天助手
新功能:
- 创建AI聊天助手组件(AIChatWidget)
- 支持文字+图片多模态对话
- 集成Gemini AI API
- 支持图片编辑和内容生成
- 实时对话历史管理
- 优雅的UI设计,支持黑夜模式

技术实现:
- 后端API代理Gemini API(/api/ai-chat)
- 支持最多5张图片上传
- 流式响应处理
- 对话历史管理
- Base64图片处理

配置:
- 在.env中添加Gemini API配置
- GEMINI_API_KEY
- GEMINI_API_BASE_URL
- GEMINI_MODEL

替换原弹幕功能,提供更强大的AI助手体验!
2025-10-27 17:45:37 +08:00

29 lines
1.3 KiB
Python
Executable File

from .common import Field
import json
class Doc(object):
"""
KnowledgeBase Doc data wrapper
"""
def __init__(self, kwargs):
self.collection_name = kwargs.get("collection_name")
self.doc_name = kwargs.get("doc_name")
self.doc_id = kwargs.get("doc_id")
self.doc_type = kwargs.get("doc_type")
self.create_time = kwargs.get("create_time")
self.added_by = kwargs.get("added_by")
self.update_time = kwargs.get("update_time")
self.url = kwargs.get("url")
self.tos_path = kwargs.get("tos_path")
self.point_num = kwargs.get("point_num")
self.status = kwargs.get("status")
self.title = kwargs.get("title")
self.source = kwargs.get("source")
self.fields = []
meta = kwargs.get("doc_meta") or kwargs.get("meta")
if meta is not None:
meta = json.loads(meta)
self.fields = [Field(field) for field in meta]
self.project = kwargs.get("project", "default")
self.resource_id = kwargs.get("resource_id")