ChatMistralAI
这将帮助您开始使用 Mistral 聊天模型。有关 ChatMistralAI 所有功能和配置的详细文档,请前往 API 参考。ChatMistralAI 类建立在 Mistral API 之上。有关 Mistral 支持的所有模型列表,请查 看 此页面。
概述
集成详情
| 类 | 包 | 本地支持 | 可序列化 | JS 支持 | 包下载量 | 包最新版本 |
|---|---|---|---|---|---|---|
| ChatMistralAI | langchain_mistralai | ❌ | beta | ✅ |
模型特性
| 工具调用 | 结构化输出 | JSON 模式 | 图像输入 | 音频输入 | 视频输入 | Token 级流式输出 | 原生异步 | Token 使用量 | Logprobs |
|---|---|---|---|---|---|---|---|---|---|
| ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ |
设置
要访问 ChatMistralAI 模型,您需要创建一个 Mistral 帐户,获取 API 密钥,并安装 langchain_mistralai 集成包。
凭据
需要有效的 API 密钥才能与 API 通信。完成此操作后,请设置 MISTRAL_API_KEY 环境变量:
import getpass
import os
if "MISTRAL_API_KEY" not in os.environ:
os.environ["MISTRAL_API_KEY"] = getpass.getpass("Enter your Mistral API key: ")
为了启用模型调用的自动化跟踪,请设置您的 LangSmith API 密钥:
# os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
# os.environ["LANGSMITH_TRACING"] = "true"
安装
LangChain Mistral 集成位于 langchain_mistralai 包中:
%pip install -qU langchain_mistralai
实例化
现在我们可以实例化我们的模型对象并生成聊天补全了:
from langchain_mistralai import ChatMistralAI
llm = ChatMistralAI(
model="mistral-large-latest",
temperature=0,
max_retries=2,
# other params...
)
API Reference:ChatMistralAI
调用
messages = [
(
"system",
"You are a helpful assistant that translates English to French. Translate the user sentence.",
),
("human", "I love programming."),
]
ai_msg = llm.invoke(messages)
ai_msg
AIMessage(content='Sure, I\'d be happy to help you translate that sentence into French! The English sentence "I love programming" translates to "J\'aime programmer" in French. Let me know if you have any other questions or need further assistance!', response_metadata={'token_usage': {'prompt_tokens': 32, 'total_tokens': 84, 'completion_tokens': 52}, 'model': 'mistral-small', 'finish_reason': 'stop'}, id='run-64bac156-7160-4b68-b67e-4161f63e021f-0', usage_metadata={'input_tokens': 32, 'output_tokens': 52, 'total_tokens': 84})
print(ai_msg.content)
Sure, I'd be happy to help you translate that sentence into French! The English sentence "I love programming" translates to "J'aime programmer" in French. Let me know if you have any other questions or need further assistance!
Chaining
我们可以像这样将我们的模型与提示模板进行 链接:
from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages(
[
(
"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": "German",
"input": "I love programming.",
}
)
API Reference:ChatPromptTemplate
AIMessage(content='Ich liebe Programmierung. (German translation)', response_metadata={'token_usage': {'prompt_tokens': 26, 'total_tokens': 38, 'completion_tokens': 12}, 'model': 'mistral-small', 'finish_reason': 'stop'}, id='run-dfd4094f-e347-47b0-9056-8ebd7ea35fe7-0', usage_metadata={'input_tokens': 26, 'output_tokens': 12, 'total_tokens': 38})
API 参考
请前往 API 参考 获取所有属性和方法的详细文档。
Related
- Chat model conceptual guide
- Chat model how-to guides