【change】Restore chat mode
This commit is contained in:
@@ -82,26 +82,17 @@ class OpenAIClient(LLMClient):
|
|||||||
LLMClientException: LLM 调用失败
|
LLMClientException: LLM 调用失败
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
from langchain_core.messages import HumanMessage, SystemMessage, AIMessage
|
# 使用 Langfuse 回调(如果可用)
|
||||||
|
template = """{messages}"""
|
||||||
# 将 dict 消息列表转换为 LangChain 消息对象
|
prompt = ChatPromptTemplate.from_template(template)
|
||||||
lc_messages = []
|
chain = prompt | self.client
|
||||||
for m in messages:
|
|
||||||
role = m.get("role", "user")
|
|
||||||
content = m.get("content", "")
|
|
||||||
if role == "system":
|
|
||||||
lc_messages.append(SystemMessage(content=content))
|
|
||||||
elif role == "assistant":
|
|
||||||
lc_messages.append(AIMessage(content=content))
|
|
||||||
else:
|
|
||||||
lc_messages.append(HumanMessage(content=content))
|
|
||||||
|
|
||||||
# 添加 Langfuse 回调(如果可用)
|
# 添加 Langfuse 回调(如果可用)
|
||||||
config = {}
|
config = {}
|
||||||
if self.langfuse_handler:
|
if self.langfuse_handler:
|
||||||
config["callbacks"] = [self.langfuse_handler]
|
config["callbacks"] = [self.langfuse_handler]
|
||||||
|
|
||||||
response = await self.client.ainvoke(lc_messages, config=config)
|
response = await chain.ainvoke({"messages": messages}, config=config)
|
||||||
return response
|
return response
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
Reference in New Issue
Block a user