Mistral AI 是一个提供强大 开源模型.
这将帮助您开始使用 LangChain 与 MistralAI 补全模型 (LLMs)。有关 MistralAI 功能和配置选项的详细文档,请参阅 API 参考.
概述
集成详情
| Class | Package | Local | Serializable | PY support | Downloads | Version |
|---|---|---|---|---|---|---|
MistralAI | @langchain/mistralai | ❌ | ✅ | ❌ | !NPM - 下载量 | !NPM - 版本 |
设置
要访问 MistralAI 模型,您需要创建一个 MistralAI 账户,获取 API 密钥,并安装 @langchain/mistralai 集成包。
凭证
前往 console.mistral.ai 注册 MistralAI 并生成 API 密钥。完成此操作后,设置 MISTRAL_API_KEY 环境变量:
如果您想获取模型调用的自动追踪,还可以设置您的 LangSmith API 密钥,请取消下方注释:
# export LANGSMITH_TRACING="true"
# export LANGSMITH_API_KEY="your-api-key"
安装
LangChain MistralAI 集成位于 @langchain/mistralai package:
npm install @langchain/mistralai @langchain/core
yarn add @langchain/mistralai @langchain/core
pnpm add @langchain/mistralai @langchain/core
实例化
现在您可以实例化模型并生成文本补全:
const llm = new MistralAI({
model: "codestral-latest",
temperature: 0,
maxTokens: undefined,
maxRetries: 2,
// other params...
})
调用
const inputText = "MistralAI is an AI company that "
const completion = await llm.invoke(inputText)
completion
has developed Mistral 7B, a large language model (LLM) that is open-source and available for commercial use. Mistral 7B is a 7 billion parameter model that is trained on a diverse and high-quality dataset, and it has been fine-tuned to perform well on a variety of tasks, including text generation, question answering, and code interpretation.
MistralAI has made Mistral 7B available under a permissive license, allowing anyone to use the model for commercial purposes without having to pay any fees. This has made Mistral 7B a popular choice for businesses and organizations that want to leverage the power of large language models without incurring high costs.
Mistral 7B has been trained on a diverse and high-quality dataset, which has enabled it to perform well on a variety of tasks. It has been fine-tuned to generate coherent and contextually relevant text, and it has been shown to be capable of answering complex questions and interpreting code.
Mistral 7B is also a highly efficient model, capable of processing text at a fast pace. This makes it well-suited for applications that require real-time responses, such as chatbots and virtual assistants.
Overall, Mistral 7B is a powerful and versatile large language model that is open-source and available for commercial use. Its ability to perform well on a variety of tasks, its efficiency, and its permissive license make it a popular choice for businesses and organizations that want to leverage the power of large language models.
钩子
Mistral AI 支持三种事件的自定义钩子:beforeRequest、requestError 和 response。每种钩子类型的函数签名示例如下所示:
const beforeRequestHook = (req: Request): Request | void | Promise => {
// Code to run before a request is processed by Mistral
};
const requestErrorHook = (err: unknown, req: Request): void | Promise<void> => {
// Code to run when an error occurs as Mistral is processing a request
};
const responseHook = (res: Response, req: Request): void | Promise<void> => {
// Code to run before Mistral sends a successful response
};
要将这些钩子添加到模型中,可以将它们作为参数传递,它们会自动添加:
const modelWithHooks = new MistralAI({
model: "codestral-latest",
temperature: 0,
maxRetries: 2,
beforeRequestHooks: [ beforeRequestHook ],
requestErrorHooks: [ requestErrorHook ],
responseHooks: [ responseHook ],
// other params...
});
或者在实例化后手动分配和添加它们:
const model = new MistralAI({
model: "codestral-latest",
temperature: 0,
maxRetries: 2,
// other params...
});
model.beforeRequestHooks = [ ...model.beforeRequestHooks, beforeRequestHook ];
model.requestErrorHooks = [ ...model.requestErrorHooks, requestErrorHook ];
model.responseHooks = [ ...model.responseHooks, responseHook ];
model.addAllHooksToHttpClient();
addAllHooksToHttpClient 方法在分配整个更新的钩子列表之前,会清除所有当前添加的钩子,以避免钩子重复。
钩子可以一次移除一个,也可以一次性清除模型中的所有钩子。
model.removeHookFromHttpClient(beforeRequestHook);
model.removeAllHooksFromHttpClient();
API 参考
有关所有 MistralAI 功能和配置的详细文档,请前往 API 参考.