hyf-backend/th_agenter/llm/llm_model_nonchat.py

44 lines
1.5 KiB
Python
Raw Normal View History

2026-01-21 13:45:39 +08:00
'''
非聊天模型类,继承自 LLM_Model_Base
author: DrGraph
date: 2025-11-20
'''
from loguru import logger
from langchain_openai import OpenAI
from langchain_core.messages import AIMessage
from DrGraph.utils.Constant import Constant
from LLM.llm_model_base import LLM_Model_Base
class NonChat_LLM(LLM_Model_Base):
'''
非聊天模型类继承自 LLM_Model_Base调用这个非聊天模型OpenAI
- 语言模型名称 缺省为"gpt-4o-mini"
- 温度缺省为0.7
- 语言模型名称 = "非聊天模型" 在人机界面中显示
'''
def __init__(self, model_name: str = "gpt-4o-mini", temperature: float = 0.7):
super().__init__(model_name, temperature)
self.name = '非聊天模型'
self.mode = Constant.LLM_MODE_NONCHAT
self.llmModel = OpenAI(
model_name=self.model_name,
temperature=self.temperature,
)
# 返回消息格式以便在chatbot中显示
def invoke(self, prompt: str):
'''
调用非聊天模型返回消息格式以便在chatbot中显示
prompt: 用户输入为字符串类型
return: 助手回复为字符串类型
'''
logger.info(f"{self.name} >>> 1.1 用户输入: {type(prompt)}")
try:
response = self.llmModel.invoke(prompt)
logger.info(f"{self.name} >>> 1.2 助手回复: {type(response)}")
except Exception as e:
logger.error(e)
return response