当前位置: 首页 > news >正文

LangChain如何使用通义千问的向量模型

1、问题

开始用的代码如下:

import os
from langchain_openai import OpenAIEmbeddings,  OpenAIembeddings_model = OpenAIEmbeddings(api_key=os.getenv("DASHSCOPE_API_KEY"),  # 换成你的API KEYbase_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'}

2、原因

文本列表 在送入 embeddings.create 之前已经被 token 化了,发送给模型的并不是文本原文

3、方案

增加参数check_embedding_ctx_length = False。最终代码如下:

import os
from langchain_openai import OpenAIEmbeddings,  OpenAIembeddings_model = OpenAIEmbeddings(api_key=os.getenv("DASHSCOPE_API_KEY"),  # 换成你的API KEYbase_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}")

http://www.dtcms.com/a/356741.html

相关文章:

  • 嵌入式学习日志————MPU6050简介
  • 2025年社交广告投放技术解析:应对CPM上涨的核心策略与实战方法
  • 元宇宙与娱乐产业:沉浸式体验与内容生态的重构
  • 前端工程化深度实践:从构建优化到CI/CD的完整解决方案
  • 基于无人机的风电叶片全自动智能巡检:高精度停角估计与细节优先曝光调控技术
  • 【Flask】测试平台开发,产品管理实现添加功能-第五篇
  • 【Flask】测试平台开发,集成禅道
  • 【Spring Cloud微服务】6.通信的利刃:深入浅出 Spring Cloud Feign 实战与原理
  • 前端-什么是Vue
  • 如何禁止网站内容被复制:技术、策略与深度思考
  • 【面试系列】谈谈你对数据库ACID的理解
  • 鸿蒙Next导航与路由指南:组件导航与页面路由的完美协作
  • Java中使用Spring Boot+Ollama实现本地AI的MCP接入
  • Dify平台:Agent开发初学者指南
  • Rust:所有权
  • Swift 解法详解:LeetCode 366《寻找二叉树的叶子节点》
  • SOME/IP-SD中”服务器服务组播端点”、“客户端服务组播端点”与“IPv4组播选项的区分
  • 记录:HSD部署(未完成)
  • 如何编译和使用 tomcat-connectors-1.2.32 源码(连接 Apache 和 Tomcat)​附安装包下载
  • CD71.【C++ Dev】二叉树的三种非递归遍历方式
  • 4.渗透-.DOS命令(文件目录操作)
  • 响应式编程框架Reactor【3】
  • Rust Web框架Axum学习指南之响应和异常封装
  • 如何备份 TECNO 手机上的短信
  • 云手机的安全性如何?
  • 云手机技术中都有着哪些局限性?
  • 国际期货Level2分时Tick历史行情数据处理分析
  • 关于 etree 的解析
  • 【c++题解】经典题目:带修改的 LIS 问题——CF650D Zip-line
  • 【修复软件】【缺少dll、ocx】加载失败报错无法运行注册老软件崩溃解决修复任何软件等通用方法