微信扫码
添加专属顾问
我要投稿
LangChain与通义千问向量模型结合使用指南,解决常见报错问题。 核心内容: 1. 使用LangChain调用通义千问向量模型的初始代码示例 2. 分析报错原因:文本预处理问题 3. 解决方案:添加check_embedding_ctx_length参数
开始用的代码如下:
import osfrom langchain_openai import OpenAIEmbeddings, OpenAIembeddings_model = OpenAIEmbeddings( api_key=os.getenv("DASHSCOPE_API_KEY"), # 换成你的API KEY base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", model="text-embedding-v3")embeddings = embeddings_model.embed_documents( [ "你好!", "你能做什么" ] )print(f"Embedding: {embeddings}")执行时报错:
openai.BadRequestError: Error code: 400 - { 'error': { 'code': 'InvalidParameter', 'param': None, 'message': '<400> InternalError.Algo.InvalidParameter: Value error, contents is neither str nor list of str.: input.contents', 'type': 'InvalidParameter'}, 'id': '2aadf398-7093-9b37-be4c-c85829fce932', 'request_id': '2aadf398-7093-9b37-be4c-c85829fce932'}文本列表 在送入 embeddings.create 之前已经被 token 化了,发送给模型的并不是文本原文
增加参数check_embedding_ctx_length = False。最终代码如下:
import osfrom langchain_openai import OpenAIEmbeddings, OpenAIembeddings_model = OpenAIEmbeddings( api_key=os.getenv("DASHSCOPE_API_KEY"), # 换成你的API KEY base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", model="text-embedding-v3", check_embedding_ctx_length = False)embeddings = embeddings_model.embed_documents( [ "你好!", "你能做什么" ] )print(f"Embedding: {embeddings}")53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-10-29
为什么我们选择 LangGraph 作为智能体系统的技术底座?
2025-10-27
Langchain 、 Manus 组了一个研讨会:Agent越智能,死得越快!
2025-10-23
LangChain V1.0 深度解析:手把手带你跑通全新智能体架构
2025-10-23
LangChain 与 LangGraph 双双发布 1.0:AI 智能体框架迎来里程碑时刻!
2025-10-19
AI 不再“乱跑”:LangChain × LangGraph 打造可控多阶段智能流程
2025-10-15
LangChain对话Manus创始人:顶级AI智能体上下文工程的“满分作业”首次公开
2025-10-09
Langchain回应OpenAI:为什么我们不做拖拉拽工作流
2025-09-21
告别无效检索:我用LangExtract + Milvus升级 RAG 管道的实战复盘
2025-09-13
2025-09-21
2025-10-19
2025-08-19
2025-08-17
2025-09-19
2025-09-12
2025-09-06
2025-08-03
2025-08-29
2025-10-29
2025-07-14
2025-07-13
2025-07-05
2025-06-26
2025-06-13
2025-05-21
2025-05-19