报错:TypeError: unsupported operand type(s) for +: 'NoneType' and 'NoneType'
本小节代码练习时报错:TypeError: unsupported operand type(s) for +: 'NoneType' and 'NoneType'

deepseek分析是流式输出不计算token导致,根据它给出的升级方案也没有解决问题。
更换成非流式输出invoke确实没有这问题,但之前流式输出的练习代码也是这样的,之前能正常运行,今天也不行了

我的代码:
相关代码:
# 1.构造链应用
prompt = ChatPromptTemplate.from_messages([
('system', '你是一个OpenAI开发的聊天机器人,请根据上下文和用户的问题进行回答'),
MessagesPlaceholder('history'),
('human', '{query}')
])
llm = ChatOpenAI(model='gpt-3.5-turbo-16k')
# llm = FixedChatOpenAI(model='gpt-3.5-turbo-16k')
chain = prompt | llm | StrOutputParser()
# 2.构造对话窗口
while True:
# 提示用户进行输入
query = input('Human:')
# 用户如果输入q,停止循环
if query == 'q':
break
# 将用户输入传递给大语言模型
chain_input = {'query': query, 'history': []}
print(chain_input)
response = chain.stream(chain_input)
# response = chain.invoke(chain_input)
# print(response)
print('AI:', flush=True, end='')
for chunk in response:
if chunk is None:
break
print(chunk, flush=True, end='')
print('')11
收起
正在回答
1回答
大概率是用的中转api,中转的api用了逆向,逆向的接口里没有输出消耗的token信息,所以值为None,langchain封装的消息叠加并没有处理None的场景,所以抛出了错误,可以尝试换一个中转接口试下。
其他可以尝试的中转api:
https://yibuapi.com
https://xiaoai.plus
https://ai-yyds.com
AI Agent 全栈开发工程师
- 参与学习 583 人
- 解答问题 435 个
全流程打造你自己的(Coze/Dify)低代码智能体开发平台;2025年入行正当时,企业急需,人才稀缺,竞争小;无论入行还是转行,首选口碑好课,门槛低、成长高
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星