Skip to main content
工具包/框架

在LangChain中使用阿里云百炼

本文主要介绍如何将阿里云百炼提供的模型集成到大模型应用开发框架LangChain中。

前提条件

聊天模型(Chat Model)

  • Python
  • JavaScript
  • Java
  • OpenAI
  • DashScope
只支持阿里云百炼的部分模型。完整列表请参考:OpenAI 兼容模式支持的模型列表。调用费用、输入输出上限等请参考:选择模型使用前需要安装以下依赖:
pip install langchain_openai
模型调用:
from langchain_openai import ChatOpenAI
import os

chatLLM = ChatOpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    model="qwen-plus",  # 此处以qwen-plus为例,您可按需更换模型名称。模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
    # other params...
)
messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "你是谁?"}]
response = chatLLM.invoke(messages)
print(response.model_dump_json())
工具调用等进阶技巧请前往 LangChain 官方的 ChatOpenAI。完整的 API参考文档请前往 LangChain 官方的 ChatOpenAI API Reference

文本嵌入模型(Embedding Model)

支持的模型:

MTEB、CMTEB是 Embedding 模型的通用评估指标,数值越大,模型效果越好。text-embedding-v3 与 text-embedding-v4模型当前无法通过 LangChain 框架接口指定向量维度,默认采用 1024 维度作为输出向量维度值。

模型

MTEB

MTEB(Retrieval task)

CMTEB

CMTEB (Retrieval task)

text-embedding-v1

58.30

45.47

59.84

56.59

text-embedding-v2

60.13

49.49

62.17

62.78

text-embedding-v3(1024维度)

63.39

55.41

68.92

73.23

text-embedding-v4(1024维度)

68.36

59.30

70.14

73.98

  • Python
  • JavaScript
  • Java
  • DashScope
使用前需要安装以下依赖:
pip install langchain-community
pip install dashscope
模型调用:
from langchain_community.embeddings import DashScopeEmbeddings
embeddings = DashScopeEmbeddings(
    model="text-embedding-v4",
    # other params...
)

text = "This is a test document."

query_result = embeddings.embed_query(text)
print("文本向量长度:", len(query_result), sep='')

doc_results = embeddings.embed_documents(
    [
        "Hi there!",
        "Oh, hello!",
        "What's your name?",
        "My friends call me World",
        "Hello World!"
    ])
print("文本向量数量:", len(doc_results), ",文本向量长度:", len(doc_results[0]), sep='')
详细介绍与更多使用方式请前往 LangChain 官方的 DashScope Embeddings。完整的 API参考文档请前往 LangChain 官方的 Embedding API Reference

重排序模型(Reranker Model)

支持的模型:

模型名称

最大Document数量

单条最大输入Token

请求最大输入Token

语种支持

单价(每千Token)

免费额度

应用场景

qwen3-vl-rerank

100

8,000

120,000

中、英、日、韩、法、德等33种主流语言

图片:0.0018元

文字:0.0007元

  • 图像聚类

  • 跨模态搜索

  • 图片检索

qwen3-rerank

500

4,000

中文、英语、西班牙语、法语、葡萄牙语、印尼语、日语、韩语、德语、俄罗斯语等100+主流语种

0.0005元

  • 文本语义检索

  • RAG应用

gte-rerank-v2

30,000

中、英、日、韩、泰语、西、法、葡、德、印尼语、阿拉伯语等50余语种

0.0008元

  • Python
  • DashScope
使用前需要安装以下依赖:
pip install langchain-community
pip install dashscope
模型调用:
from langchain_community.document_compressors.dashscope_rerank import DashScopeRerank

sequence = ["text1", "text2", "text3"]

reranker = DashScopeRerank(
    model="gte-rerank-v2",
    # other params...
)
print(reranker.rerank(documents=sequence, query="文本3", top_n=2))
详细介绍与更多使用方式请前往 LangChain 官方的 DashScope Rerank。完整的 API参考文档请前往 LangChain 官方的 Rerank API Reference