remove:移除tool_use模型,修复Jargon提取问题,修改统计为tool统计
This commit is contained in:
@@ -3,12 +3,12 @@ from typing import TYPE_CHECKING, List
|
||||
from src.common.utils.math_utils import translate_timestamp_to_human_readable, TimestampMode
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from src.common.data_models.action_record_data_model import MaiActionRecord
|
||||
from src.common.data_models.tool_record_data_model import MaiToolRecord
|
||||
|
||||
|
||||
class ActionUtils:
|
||||
@staticmethod
|
||||
def build_readable_action_records(action_records: List["MaiActionRecord"], timestamp_mode: str | TimestampMode):
|
||||
def build_readable_action_records(action_records: List["MaiToolRecord"], timestamp_mode: str | TimestampMode):
|
||||
"""
|
||||
将动作列表转换为可读的文本格式。
|
||||
|
||||
@@ -27,6 +27,6 @@ class ActionUtils:
|
||||
output_lines = []
|
||||
for record in action_records:
|
||||
timestamp_str = translate_timestamp_to_human_readable(record.timestamp.timestamp(), mode=timestamp_mode)
|
||||
line = f"在{timestamp_str},你使用了{record.action_name},具体内容是:{record.action_display_prompt}"
|
||||
line = f"在{timestamp_str},你使用了{record.tool_name},具体内容是:{record.tool_display_prompt}"
|
||||
output_lines.append(line)
|
||||
return "\n".join(output_lines)
|
||||
|
||||
@@ -579,26 +579,26 @@ class MessageUtils:
|
||||
List[Tuple[float, str]]: 按时间排序的动作文本列表,每个元素为 (timestamp, action_text)
|
||||
"""
|
||||
from src.common.database.database import get_db_session
|
||||
from src.common.database.database_model import ActionRecord
|
||||
from src.common.database.database_model import ToolRecord
|
||||
|
||||
# 获取这个时间范围内的动作记录,并匹配session_id
|
||||
try:
|
||||
with get_db_session() as session:
|
||||
actions_in_range = session.exec(
|
||||
select(ActionRecord)
|
||||
.where(col(ActionRecord.timestamp) >= datetime.fromtimestamp(min_time))
|
||||
.where(col(ActionRecord.timestamp) <= datetime.fromtimestamp(max_time))
|
||||
.where(col(ActionRecord.session_id) == session_id)
|
||||
.order_by(col(ActionRecord.timestamp))
|
||||
select(ToolRecord)
|
||||
.where(col(ToolRecord.timestamp) >= datetime.fromtimestamp(min_time))
|
||||
.where(col(ToolRecord.timestamp) <= datetime.fromtimestamp(max_time))
|
||||
.where(col(ToolRecord.session_id) == session_id)
|
||||
.order_by(col(ToolRecord.timestamp))
|
||||
).all()
|
||||
|
||||
# 获取最新消息之后的第一个动作记录
|
||||
with get_db_session() as session:
|
||||
action_after_latest = session.exec(
|
||||
select(ActionRecord)
|
||||
.where(col(ActionRecord.timestamp) > datetime.fromtimestamp(max_time))
|
||||
.where(col(ActionRecord.session_id) == session_id)
|
||||
.order_by(col(ActionRecord.timestamp))
|
||||
select(ToolRecord)
|
||||
.where(col(ToolRecord.timestamp) > datetime.fromtimestamp(max_time))
|
||||
.where(col(ToolRecord.session_id) == session_id)
|
||||
.order_by(col(ToolRecord.timestamp))
|
||||
.limit(1)
|
||||
).all()
|
||||
except Exception as e:
|
||||
@@ -611,7 +611,7 @@ class MessageUtils:
|
||||
# 构建动作文本列表
|
||||
action_messages: List[Tuple[float, str]] = []
|
||||
for action in actions:
|
||||
if action_display_prompt := action.action_display_prompt or "":
|
||||
if action_display_prompt := action.tool_display_prompt or "":
|
||||
action_time = action.timestamp.timestamp()
|
||||
action_messages.append((action_time, action_display_prompt))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user