Image input not supported for model moonshot-v1-128k
在测试图片输入的时候,使用gpt-4o测试正常,但是在使用月之暗面进行测试的时候发生如下报错:


Exception in thread Thread-35 (invoke):
Traceback (most recent call last):
File "D:\python310\lib\threading.py", line 1016, in _bootstrap_inner
[2025-07-06 15:05:15,116.116] _internal.py -> _log line:97 [INFO]: 192.168.43.225 - - [06/Jul/2025 15:05:15] "POST /apps/b1a25824-d60b-402c-94ed-416602e5e98d/conversations HTTP/1.1" 200 -
self.run()
File "D:\python310\lib\threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "D:\Envs\llmops\lib\site-packages\langgraph\pregel\__init__.py", line 2336, in invoke
for chunk in self.stream(
File "D:\Envs\llmops\lib\site-packages\langgraph\pregel\__init__.py", line 1993, in stream
for _ in runner.tick(
File "D:\Envs\llmops\lib\site-packages\langgraph\pregel\runner.py", line 230, in tick
run_with_retry(
File "D:\Envs\llmops\lib\site-packages\langgraph\pregel\retry.py", line 40, in run_with_retry
return task.proc.invoke(task.input, config)
File "D:\Envs\llmops\lib\site-packages\langgraph\utils\runnable.py", line 546, in invoke
input = step.invoke(input, config, **kwargs)
File "D:\Envs\llmops\lib\site-packages\langgraph\utils\runnable.py", line 310, in invoke
ret = context.run(self.func, *args, **kwargs)
File "E:\Code\llmops\api\internal\core\agent\agents\function_call_agent.py", line 213, in _llm_node
raise e
File "E:\Code\llmops\api\internal\core\agent\agents\function_call_agent.py", line 178, in _llm_node
for chunk in llm.stream(state['messages']):
File "D:\Envs\llmops\lib\site-packages\langchain_core\language_models\chat_models.py", line 411, in stream
raise e
File "D:\Envs\llmops\lib\site-packages\langchain_core\language_models\chat_models.py", line 391, in stream
for chunk in self._stream(messages, stop=stop, **kwargs):
File "D:\Envs\llmops\lib\site-packages\langchain_openai\chat_models\base.py", line 637, in _stream
response = self.client.create(**payload)
File "D:\Envs\llmops\lib\site-packages\openai\_utils\_utils.py", line 287, in wrapper
return func(*args, **kwargs)
File "D:\Envs\llmops\lib\site-packages\openai\resources\chat\completions\completions.py", line 1087, in create
return self._post(
File "D:\Envs\llmops\lib\site-packages\openai\_base_client.py", line 1249, in post
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
File "D:\Envs\llmops\lib\site-packages\openai\_base_client.py", line 1037, in request
raise self._make_status_error_from_response(err.response) from None
openai.BadRequestError: Error code: 400 - {'error': {'message': 'Invalid request: Image input not supported for model moonshot-v1-128k', 'type': 'invalid_request_error'}}
[2025-07-06 15:05:15,607.607] connectionpool.py -> _make_request line:544 [DEBUG]: https://api.smith.langchain.com:443 "POST /runs/multipart HTTP/1.1" 202 34检查设置,设置中是支持图片输入的:

查看moonshot官网,如下,这是支持图片输入的吧:

之前为了解决月之暗面对接问题,Chat继承的是BaseChatOpenAI,是和这里设置有关系吗?

8
收起
正在回答
1回答
这块位置的url月之暗面要求的是base64的字符串,而课程使用的是openai的兼容规则,支持使用base64字符串,也支持使用url(所以使用的是可以公网访问的URL),故不兼容 Moonshot 的配置。
解决方案,在月之暗面提供商的 Chat 下重新实现 convert_to_human_message 这个函数就行,将原始传递的图片 URL 链接转换成 base64 字符串即可(如果兼容 OpenAI 协议的模型,则不需要这一步)。

AI Agent 全栈开发工程师
- 参与学习 500 人
- 解答问题 404 个
全流程打造你自己的(Coze/Dify)低代码智能体开发平台;2025年入行正当时,企业急需,人才稀缺,竞争小;无论入行还是转行,首选口碑好课,门槛低、成长高
了解课程


恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星