问题:为什么我用gpt-3.5-turbo模型可以运行,而使用gpt-4o-mini模型会报类型错误?:
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'

from fastapi import FastAPI, WebSocket, WebSocketDisconnect
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain.agents import create_openai_tools_agent, AgentExecutor, tool
from langchain_core.runnables import RunnablePassthrough
import os
os.environ["OPENAI_API_KEY"] = "hahaha" # 这边不透露自己密钥
os.environ["OPENAI_API_BASE"] = "https://ai-yyds.com/v1"
app = FastAPI()
@tool
def test():
"""Test tool"""
return "test"
class Master:
def __init__(self):
self.chatmodel = ChatOpenAI(model="gpt-4o-mini") # gpt-3.5-turbo可以
self.prompt = ChatPromptTemplate.from_messages(
[
(
"system",
"你是一个聊天小助手"
),
(
"user",
"{input}"
),
MessagesPlaceholder(variable_name='agent_scratchpad'),
],
)
tools = [test]
agent = create_openai_tools_agent(
llm=self.chatmodel,
tools=tools,
prompt=self.prompt,
)
# 直接创建AgentExecutor
self.agent_executor = AgentExecutor(
agent=agent,
tools=tools,
verbose=True,
handle_parsing_errors=True
)
def run(self, query):
# 确保传入正确的输入结构
result = self.agent_executor.invoke({"input": query})
return result.get("output", "未能获取结果")
# 定义接口后面紧跟一个函数,默认当访问这个接口时,会运行这个函数
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.post("/chat")
def chat(query: str):
master = Master()
return master.run(query)
if __name__ == '__main__':
import uvicorn
uvicorn.run(app, host="127.0.0.1", port=8000)