ModelScopeChatEndpoint
ModelScope (Home | GitHub) 建構於「模型即服務」(Model-as-a-Service, MaaS) 的概念之上。它旨在匯集 AI 社群中最先進的機器學習模型,並簡化在真實世界應用中利用 AI 模型之流程。此儲存庫中開源的核心 ModelScope 庫提供了介面和實作,讓開發人員能夠執行模型推論、訓練和評估。
這將幫助您開始使用 ModelScope Chat Endpoint。
概觀
整合詳情
供應商 | 類別 | 套件 | 本地 | 可序列化 | 套件下載 | 最新套件 |
---|---|---|---|---|---|---|
ModelScope | ModelScopeChatEndpoint | langchain-modelscope-integration | ❌ | ❌ |
設定
若要存取 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