better 更好的llm使用统计
This commit is contained in:
@@ -56,7 +56,6 @@ class BotConfig:
|
||||
llm_reasoning: Dict[str, str] = field(default_factory=lambda: {})
|
||||
llm_reasoning_minor: Dict[str, str] = field(default_factory=lambda: {})
|
||||
llm_normal: Dict[str, str] = field(default_factory=lambda: {})
|
||||
llm_normal_minor: Dict[str, str] = field(default_factory=lambda: {})
|
||||
llm_topic_judge: Dict[str, str] = field(default_factory=lambda: {})
|
||||
llm_summary_by_topic: Dict[str, str] = field(default_factory=lambda: {})
|
||||
llm_emotion_judge: Dict[str, str] = field(default_factory=lambda: {})
|
||||
@@ -235,7 +234,6 @@ class BotConfig:
|
||||
"llm_reasoning",
|
||||
"llm_reasoning_minor",
|
||||
"llm_normal",
|
||||
"llm_normal_minor",
|
||||
"llm_topic_judge",
|
||||
"llm_summary_by_topic",
|
||||
"llm_emotion_judge",
|
||||
|
||||
@@ -38,9 +38,9 @@ class EmojiManager:
|
||||
|
||||
def __init__(self):
|
||||
self._scan_task = None
|
||||
self.vlm = LLM_request(model=global_config.vlm, temperature=0.3, max_tokens=1000, request_type="image")
|
||||
self.vlm = LLM_request(model=global_config.vlm, temperature=0.3, max_tokens=1000, request_type="emoji")
|
||||
self.llm_emotion_judge = LLM_request(
|
||||
model=global_config.llm_emotion_judge, max_tokens=600, temperature=0.8, request_type="image"
|
||||
model=global_config.llm_emotion_judge, max_tokens=600, temperature=0.8, request_type="emoji"
|
||||
) # 更高的温度,更少的token(后续可以根据情绪来调整温度)
|
||||
|
||||
def _ensure_emoji_dir(self):
|
||||
@@ -111,7 +111,7 @@ class EmojiManager:
|
||||
if not text_for_search:
|
||||
logger.error("无法获取文本的情绪")
|
||||
return None
|
||||
text_embedding = await get_embedding(text_for_search)
|
||||
text_embedding = await get_embedding(text_for_search, request_type="emoji")
|
||||
if not text_embedding:
|
||||
logger.error("无法获取文本的embedding")
|
||||
return None
|
||||
@@ -310,7 +310,7 @@ class EmojiManager:
|
||||
logger.info(f"[检查] 表情包检查通过: {check}")
|
||||
|
||||
if description is not None:
|
||||
embedding = await get_embedding(description)
|
||||
embedding = await get_embedding(description, request_type="emoji")
|
||||
# 准备数据库记录
|
||||
emoji_record = {
|
||||
"filename": filename,
|
||||
|
||||
@@ -32,10 +32,17 @@ class ResponseGenerator:
|
||||
temperature=0.7,
|
||||
max_tokens=1000,
|
||||
stream=True,
|
||||
request_type="response",
|
||||
)
|
||||
self.model_v3 = LLM_request(
|
||||
model=global_config.llm_normal, temperature=0.7, max_tokens=3000, request_type="response"
|
||||
)
|
||||
self.model_r1_distill = LLM_request(
|
||||
model=global_config.llm_reasoning_minor, temperature=0.7, max_tokens=3000, request_type="response"
|
||||
)
|
||||
self.model_sum = LLM_request(
|
||||
model=global_config.llm_summary_by_topic, temperature=0.7, max_tokens=3000, request_type="relation"
|
||||
)
|
||||
self.model_v3 = LLM_request(model=global_config.llm_normal, temperature=0.7, max_tokens=3000)
|
||||
self.model_r1_distill = LLM_request(model=global_config.llm_reasoning_minor, temperature=0.7, max_tokens=3000)
|
||||
self.model_v25 = LLM_request(model=global_config.llm_normal_minor, temperature=0.7, max_tokens=3000)
|
||||
self.current_model_type = "r1" # 默认使用 R1
|
||||
self.current_model_name = "unknown model"
|
||||
|
||||
@@ -175,7 +182,7 @@ class ResponseGenerator:
|
||||
"""
|
||||
|
||||
# 调用模型生成结果
|
||||
result, _, _ = await self.model_v25.generate_response(prompt)
|
||||
result, _, _ = await self.model_sum.generate_response(prompt)
|
||||
result = result.strip()
|
||||
|
||||
# 解析模型输出的结果
|
||||
|
||||
@@ -55,9 +55,9 @@ def is_mentioned_bot_in_message(message: MessageRecv) -> bool:
|
||||
return False
|
||||
|
||||
|
||||
async def get_embedding(text):
|
||||
async def get_embedding(text, request_type="embedding"):
|
||||
"""获取文本的embedding向量"""
|
||||
llm = LLM_request(model=global_config.embedding, request_type="embedding")
|
||||
llm = LLM_request(model=global_config.embedding, request_type=request_type)
|
||||
# return llm.get_embedding_sync(text)
|
||||
return await llm.get_embedding(text)
|
||||
|
||||
|
||||
@@ -174,9 +174,9 @@ class Memory_graph:
|
||||
class Hippocampus:
|
||||
def __init__(self, memory_graph: Memory_graph):
|
||||
self.memory_graph = memory_graph
|
||||
self.llm_topic_judge = LLM_request(model=global_config.llm_topic_judge, temperature=0.5, request_type="topic")
|
||||
self.llm_topic_judge = LLM_request(model=global_config.llm_topic_judge, temperature=0.5, request_type="memory")
|
||||
self.llm_summary_by_topic = LLM_request(
|
||||
model=global_config.llm_summary_by_topic, temperature=0.5, request_type="topic"
|
||||
model=global_config.llm_summary_by_topic, temperature=0.5, request_type="memory"
|
||||
)
|
||||
|
||||
def get_all_node_names(self) -> list:
|
||||
@@ -375,6 +375,8 @@ class Hippocampus:
|
||||
return topic_num
|
||||
|
||||
async def operation_build_memory(self):
|
||||
logger.debug("------------------------------------开始构建记忆--------------------------------------")
|
||||
start_time = time.time()
|
||||
memory_samples = self.get_memory_sample()
|
||||
all_added_nodes = []
|
||||
all_added_edges = []
|
||||
@@ -426,6 +428,12 @@ class Hippocampus:
|
||||
logger.success(f"强化连接: {', '.join(all_added_edges)}")
|
||||
# logger.success(f"强化连接: {', '.join(all_added_edges)}")
|
||||
self.sync_memory_to_db()
|
||||
|
||||
end_time = time.time()
|
||||
logger.success(
|
||||
f"--------------------------记忆构建完成:耗时: {end_time - start_time:.2f} "
|
||||
"秒--------------------------"
|
||||
)
|
||||
|
||||
def sync_memory_to_db(self):
|
||||
"""检查并同步内存中的图结构与数据库"""
|
||||
|
||||
@@ -581,7 +581,8 @@ class LLM_request:
|
||||
completion_tokens=completion_tokens,
|
||||
total_tokens=total_tokens,
|
||||
user_id="system", # 可以根据需要修改 user_id
|
||||
request_type="embedding", # 请求类型为 embedding
|
||||
# request_type="embedding", # 请求类型为 embedding
|
||||
request_type=self.request_type, # 请求类型为 text
|
||||
endpoint="/embeddings", # API 端点
|
||||
)
|
||||
return result["data"][0].get("embedding", None)
|
||||
|
||||
Reference in New Issue
Block a user