mirror of
https://github.com/AstrBotDevs/AstrBot
synced 2026-07-15 17:30:13 +08:00
70 lines
1.4 KiB
Python
70 lines
1.4 KiB
Python
'''指标数据'''
|
||
|
||
from dataclasses import dataclass, field
|
||
from typing import List
|
||
|
||
@dataclass
|
||
class Platform():
|
||
name: str
|
||
count: int
|
||
timestamp: int
|
||
|
||
@dataclass
|
||
class Provider():
|
||
name: str
|
||
count: int
|
||
timestamp: int
|
||
|
||
@dataclass
|
||
class Plugin():
|
||
name: str
|
||
count: int
|
||
timestamp: int
|
||
|
||
@dataclass
|
||
class Command():
|
||
name: str
|
||
count: int
|
||
timestamp: int
|
||
|
||
@dataclass
|
||
class Stats():
|
||
platform: List[Platform] = field(default_factory=list)
|
||
command: List[Command] = field(default_factory=list)
|
||
llm: List[Provider] = field(default_factory=list)
|
||
|
||
@dataclass
|
||
class LLMHistory():
|
||
'''LLM 聊天时持久化的信息'''
|
||
provider_type: str
|
||
session_id: str
|
||
content: str
|
||
|
||
@dataclass
|
||
class ATRIVision():
|
||
'''Deprecated'''
|
||
id: str
|
||
url_or_path: str
|
||
caption: str
|
||
is_meme: bool
|
||
keywords: List[str]
|
||
platform_name: str
|
||
session_id: str
|
||
sender_nickname: str
|
||
timestamp: int = -1
|
||
|
||
@dataclass
|
||
class Conversation():
|
||
'''LLM 对话存储
|
||
|
||
对于网页聊天,history 存储了包括指令、回复、图片等在内的所有消息。
|
||
对于其他平台的聊天,不存储非 LLM 的回复(因为考虑到已经存储在各自的平台上)。
|
||
'''
|
||
user_id: str
|
||
cid: str
|
||
history: str = ""
|
||
'''字符串格式的列表。'''
|
||
created_at: int = 0
|
||
updated_at: int = 0
|
||
title: str = ""
|
||
persona_id: str = "" |