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

20 lines
733 B
Python
Executable File

import json
from typing import Any, Dict, Generator
class RespIter:
def __init__(self, generator: Generator[Dict[str, Any], None, None]):
self.generator = generator
self.usage = {"prompt_tokens": 0, "completion_tokens": 0, "total_tokens": 0, "prompt_tokens_details": {"cached_tokens": 0}, "completion_tokens_details": {"reasoning_tokens": 0}}
def __iter__(self):
return self._wrapped_generator()
def _wrapped_generator(self):
for part in self.generator:
usage =part.get("usage")
if not (usage == "" or usage == None):
self.usage = json.loads(usage)
yield part['generated_answer']
def token_usage(self):
return self.usage