跳到主要内容
Open In ColabOpen on GitHub

ModelScopeChatEndpoint

ModelScope(主页 | GitHub)构建于“模型即服务”(MaaS)的概念之上。它旨在汇集来自 AI 社区的最先进的机器学习模型,并简化在实际应用中利用 AI 模型的过程。此仓库中开源的核心 ModelScope 库提供了接口和实现,使开发人员能够执行模型推理、训练和评估。

这将帮助您开始使用 ModelScope Chat Endpoint。

概述

集成详情

提供商本地可序列化包下载量最新包
ModelScopeModelScopeChatEndpointlangchain-modelscope-integrationPyPI - DownloadsPyPI - Version

设置

要访问 ModelScope 聊天端点,您需要创建一个 ModelScope 帐户,获取 SDK 令牌,并安装 langchain-modelscope-integration 集成包。

凭证

前往 ModelScope 注册 ModelScope 并生成 SDK 令牌。完成后,设置 MODELSCOPE_SDK_TOKEN 环境变量

import getpass
import os

if not os.getenv("MODELSCOPE_SDK_TOKEN"):
os.environ["MODELSCOPE_SDK_TOKEN"] = getpass.getpass(
"Enter your ModelScope SDK token: "
)

安装

LangChain ModelScope 集成位于 langchain-modelscope-integration 包中

%pip install -qU langchain-modelscope-integration

实例化

现在我们可以实例化我们的模型对象并生成聊天完成

from langchain_modelscope import ModelScopeChatEndpoint

llm = ModelScopeChatEndpoint(
model="Qwen/Qwen2.5-Coder-32B-Instruct",
temperature=0,
max_tokens=1024,
timeout=60,
max_retries=2,
# other params...
)

调用

messages = [
(
"system",
"You are a helpful assistant that translates English to Chinese. Translate the user sentence.",
),
("human", "I love programming."),
]
ai_msg = llm.invoke(messages)
ai_msg
AIMessage(content='我喜欢编程。', additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 3, 'prompt_tokens': 33, 'total_tokens': 36, 'completion_tokens_details': None, 'prompt_tokens_details': None}, 'model_name': 'qwen2.5-coder-32b-instruct', 'system_fingerprint': None, 'finish_reason': 'stop', 'logprobs': None}, id='run-60bb3461-60ae-4c0b-8997-ab55ef77fcd6-0', usage_metadata={'input_tokens': 33, 'output_tokens': 3, 'total_tokens': 36, 'input_token_details': {}, 'output_token_details': {}})
print(ai_msg.content)
我喜欢编程。

链式调用

我们可以像这样使用提示模板链接我们的模型

from langchain_core.prompts import ChatPromptTemplate

prompt = ChatPromptTemplate(
[
(
"system",
"You are a helpful assistant that translates {input_language} to {output_language}.",
),
("human", "{input}"),
]
)

chain = prompt | llm
chain.invoke(
{
"input_language": "English",
"output_language": "Chinese",
"input": "I love programming.",
}
)
API 参考:ChatPromptTemplate
AIMessage(content='我喜欢编程。', additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 3, 'prompt_tokens': 28, 'total_tokens': 31, 'completion_tokens_details': None, 'prompt_tokens_details': None}, 'model_name': 'qwen2.5-coder-32b-instruct', 'system_fingerprint': None, 'finish_reason': 'stop', 'logprobs': None}, id='run-9f011a3a-9a11-4759-8d16-5b1843a78862-0', usage_metadata={'input_tokens': 28, 'output_tokens': 3, 'total_tokens': 31, 'input_token_details': {}, 'output_token_details': {}})

API 参考

有关所有 ModelScopeChatEndpoint 功能和配置的详细文档,请访问参考文档:https://modelscope.cn/docs/model-service/API-Inference/intro


此页是否对您有帮助?