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

【RAG】【embeddings19】IBM watsonx.ai

案例概述

WatsonxEmbeddings 是 IBM watsonx.ai 嵌入模型的包装器。本示例展示如何使用 LlamaIndex 嵌入 API 与 watsonx.ai 嵌入模型进行通信。

技术栈与核心依赖

  • 核心库:llama-index-embeddings-ibm
  • 平台:IBM watsonx.ai
  • 支持模型:ibm/slate-125m-english-rtrvr 等 IBM 基础模型
  • 认证方式:IBM Cloud API 密钥或 Cloud Pak for Data 凭据

环境配置

1. 安装依赖
!pip install -qU llama-index-embeddings-ibm
2. 设置 API 密钥
import os from getpass import getpass watsonx_api_key = getpass() os.environ["WATSONX_APIKEY"] = watsonx_api_key
3. 设置其他环境变量(可选)
import os os.environ["WATSONX_URL"] = "your service instance url" os.environ["WATSONX_TOKEN"] = "your token for accessing the CPD cluster" os.environ["WATSONX_PASSWORD"] = "your password for accessing the CPD cluster" os.environ["WATSONX_USERNAME"] = "your username for accessing the CPD cluster" os.environ["WATSONX_INSTANCE_ID"] = "your instance_id for accessing the CPD cluster"

案例实现

1. 模型参数设置
truncate_input_tokens = 3
2. 使用 IBM Cloud 凭据初始化 WatsonxEmbeddings
from llama_index.embeddings.ibm import WatsonxEmbeddings watsonx_embedding = WatsonxEmbeddings( model_id="ibm/slate-125m-english-rtrvr", url="https://us-south.ml.cloud.ibm.com", project_id="PASTE YOUR PROJECT_ID HERE", truncate_input_tokens=truncate_input_tokens, )
3. 使用 Cloud Pak for Data 凭据初始化
watsonx_embedding = WatsonxEmbeddings( model_id="ibm/slate-125m-english-rtrvr", url="PASTE YOUR URL HERE", username="PASTE YOUR USERNAME HERE", password="PASTE YOUR PASSWORD HERE", instance_id="openshift", version="4.8", project_id="PASTE YOUR PROJECT_ID HERE", truncate_input_tokens=truncate_input_tokens, )
4. 嵌入查询
query = "Example query." query_result = watsonx_embedding.get_query_embedding(query) print(query_result[:5])
5. 嵌入文本列表
texts = ["This is a content of one document", "This is another document"] doc_result = watsonx_embedding.get_text_embedding_batch(texts) print(doc_result[0][:5])

案例效果

通过 WatsonxEmbeddings 类,您可以:

  • 使用 IBM watsonx.ai 平台上的嵌入模型
  • 通过 get_query_embedding 方法获取查询的嵌入向量
  • 通过 get_text_embedding_batch 方法批量获取文本的嵌入向量
  • 配置截断输入令牌数量等参数
示例输出

查询嵌入向量(前5个值):

[-0.05538924, 0.05161056, 0.01207759, 0.0017501727, -0.017691258]

文档嵌入向量(前5个值):

[0.009447167, -0.024981938, -0.02601326, -0.04048393, -0.05780444]

案例实现思路

  1. API 封装:将 IBM watsonx.ai 的嵌入模型 API 封装为 LlamaIndex 标准接口
  2. 多种认证方式:支持 IBM Cloud API 密钥和 Cloud Pak for Data 两种认证方式
  3. 参数配置:允许用户自定义模型 ID、项目 ID、截断参数等
  4. 批量处理:提供批量处理文本嵌入的功能,提高效率

扩展建议

  • 添加异步支持以提高大规模处理性能
  • 实现缓存机制,减少重复请求
  • 添加更多模型配置选项,如温度、最大令牌数等
  • 集成更多 IBM watsonx.ai 平台特性,如模型微调、部署等

总结

IBM watsonx.ai 嵌入集成为开发者提供了一个便捷的方式来使用 IBM 云平台上的强大嵌入模型。通过简单的配置,您可以快速集成企业级的嵌入功能到您的应用中,同时利用 IBM watsonx.ai 平台的安全性、可扩展性和可靠性。该集成特别适合那些已经在使用 IBM 云服务或需要企业级 AI 解决方案的开发者。

注意:

  • 要为 API 调用提供上下文,必须传递 project_id 或 space_id。要获取项目或空间 ID,请打开您的项目或空间,转到"管理"选项卡,然后单击"常规"。
  • 根据您配置的服务实例的区域,使用 watsonx.ai API 身份验证中列出的 URL 之一。
  • 您可以在 支持的基础模型 中找到所有可用模型的列表。
http://www.jsqmd.com/news/549230/

相关文章:

  • MusePublic功能体验:内置安全过滤,保障健康艺术创作环境
  • 2026化妆品快递防震气泡袋评测报告:满城反光膜、满城塑料膜、满城塑料袋、满城大棚膜、满城气泡膜、满城气泡袋、满城珍珠棉选择指南 - 优质品牌商家
  • BiliTools:跨平台资源管理的高效下载解决方案
  • 2026年细聊宁夏太阳能光伏厂家,产品价格多少钱 - 工业品牌热点
  • 基于AntV G6与Vue 3的动态流程图状态管理与交互实践
  • 铜钟音乐:打造纯粹无扰的Web端音乐聆听解决方案
  • 如何用LivePortrait轻松实现静态照片动画化:面向创作者的完整指南
  • DeepSeek-OCR-2开源模型教程:模型权重本地加载+自定义后处理逻辑
  • 2026年上海叶语教育托福课程多少钱,校区分布情况及品牌可信度分析 - 工业推荐榜
  • Pixel Mind Decoder 命令行工具开发:使用Typora风格交互进行情绪随笔分析
  • 2026无油轴承市场主流产品深度评测报告:自润滑关节轴承/自润滑铜套/金属复合无油润滑轴承/石墨铜套/固体镶嵌自润滑轴承/选择指南 - 优质品牌商家
  • (17)ArcGIS Pro 标注设置:自动标注、字体颜色、位置与转注记
  • 如何用VideoFusion实现视频批量处理?超简单指南
  • 2026想找靠谱的工厂?这家不容错过! - 企业推荐官【官方】
  • 法线贴图自动化:重新定义2D游戏光照的技术革命
  • 超市货架摆放的秘密:手把手教你用Excel和Power BI做购物篮分析,零代码也能玩转关联规则
  • 管理学的发展阶段及理论
  • 【Altium】Draftsman 中钻表信息显示不全
  • 前端开发实战:用D3.js在网页上动态绘制直角坐标系图表(2023最新版)
  • 别再死记硬背API了!用这3个真实JS开发案例,带你玩转泛微Ecology9前端定制
  • Python经典100题:程序1~10(附详细解析与代码)
  • DeepSeek-OCR部署教程:RTX 4090显卡下模型加载加速与显存优化技巧
  • Qwen2-VL-2B-Instruct C语言项目集成案例:嵌入式设备视觉辅助系统
  • 告别乱码!手把手教你用阿里妈妈数黑体+LVGL 8.3打造炫酷中文界面(附图标字体生成全流程)
  • 技术选型不内卷:架构师如何用底层逻辑避开 90% 的过度设计陷阱
  • 革新性开源工具Win11Debloat:突破Windows 11性能瓶颈的系统优化方案
  • AI绘画效率翻倍:WuliArt Qwen-Image Turbo极速生成+SD WebUI精修全流程
  • Qwen2.5-72B-Instruct实战:vLLM + FastAPI 构建标准化OpenAI兼容接口
  • 基于SpringBoot的在线学习系统的设计与实现(毕业论文)
  • 【RAG】【embeddings20】Intel CPU上的IPEX-LLM本地嵌入模型