
免费使用mistral Ai的终极指南:如何在全球范围内轻松创建和部署ai助手
- Rifx.Online
- Large Language Models , Generative AI , Programming
- 23 Feb, 2025
使用此方法生成的图像——特写《纽约时报》的首页,大标题写着“MISTRAL 现在是免费的”。文章旁边一个橙色的大写字母‘M’,漫画艺术风格
你没看错!
几天前,Mistral AI 宣布了Le Chat Mistral,他们全新的对话助手……
展示了你可以用 Mistral models 构建的内容,以及你可以在商业环境中部署的内容。
我们为什么在乎?想象一下,你可以免费拥有一个聊天助手,一个与您共同创建程序的编码助手,以及一个 AI 图像生成工具,所有这些都在一个地方。
如果这还不够…… 你可以免费使用最新选择的模型的 API,并直接在浏览器中在线测试你的代码。
而且它在中国也能使用!
Web 应用和 API 调用 100% 功能正常,无需 VPN 或其他技巧!
Anthropic Claude 在中国…… 图像来自source
在这篇文章中,我们将看到:
- 什么是 Mistral Le Chat
- 模型和选项
- 如何创建一个免费账户并开始使用
- 如何创建一个 API key 并在 Python 中使用模型
一切始于一篇帖子
我必须说:我一直对有关 Mistral models 的任何新闻置之不理。它们很惊人,但最小的模型已经有 70 亿个参数:这样的体积对我可怜的硬件来说实在太大了。
Pixtral 的最新版本(12B)、Mistral Small 3(22B)和 Mixtral Large 更加让我不愿意去考虑使用这样庞大的模型:而 Ministral 3B,可能是我能接受的唯一一个,是专有的且只能付费使用。
但是,那篇来自 Twitter 的帖子,就是上面图片中的那一篇,改变了我的看法。因为我就像圣托马斯(如果我不亲眼看到,我就不相信),我立刻注册并尝试了这些模型。
以下是你也可以这样做的方法。
免责声明:如果你很着急,并且只对如何使用 Mistral.AI models 感兴趣,可以跳过接下来的部分。但如果你想知道使用哪个模型,最好继续阅读。
什么是 Mistral Le Chat
Le Chat 是一个基于 Mistral models 的多语言对话助手。
Le Chat 使用 Mistral Large 或 Mistral Small,或者一个名为 Mistral Next 的原型模型,旨在提供简洁明了的回复。Mistral 的开发者们正在积极努力,以最大化模型的实用性并最小化偏见,尽管改进仍在进行中。Le Chat 具有一个可调节的系统级审查机制,在对话接近敏感或有争议的话题时,能够悄然提醒用户。
以上所有内容都是免费的。
对于企业解决方案,团队正在推出 Le Chat Enterprise。这个版本旨在通过自我部署能力和细粒度的审查控制来增强团队的生产力。
现在,为了让您不要期待一个全能的 AI 应用,请注意 Le Chat 目前无法访问互联网进行讨论,因此可能会不准确或回答过时的信息。
一系列 AI 模型
模型和选项
自从 Mistral-7B 首次发布以来,这家位于法国的公司提升了竞争力并提高了质量标准。逐步地,MistralAI 通过新模型和技术扩展了他们的旗舰产品。而 Mistral 7B 是 模型 的革命性代表,为数百万用户带来了独立前沿 AI 创新的变革。
你可能记不起来,但当 Mixtral-8x7B 发布时,毫无疑问它是当时最好的开源模型。它是首次将 Mixture Of Experts 技术推向公众视野的尝试之一。
Mistral 模型家族 — 表格来自 source
现在我们来看看欧洲的 AI 冠军:
- Pixtral 是首个拥有 Apache 2.0 许可证的 12 亿参数多模态 Mistral 模型,旨在处理自然图像和文档。
- Nemo 是一款最先进的 12B 模型,具有 128k 上下文长度,与 NVIDIA 合作构建,并在 Apache 2.0 许可证下发布。它是另一个旨在全球多语言应用的 12B 模型。Mistral NeMo 经过量化意识训练,支持 FP8 推理而不损失性能。该模型设计用于全球多语言应用,经过函数调用训练,具有大上下文窗口,特别擅长英语、法语、德语、西班牙语、意大利语、葡萄牙语、中文、日语、韩语、阿拉伯语和印地语。
图像来自 source
- Codestral Mamba — 一款具有 70 亿参数的无限长度代码生成先锋。它是专注于代码生成的 Mamba2 语言模型,拥有 Apache 2.0 许可证。在过去一年中,AI 领域的所有创新中,代码生成无疑是最重要的。与 Transformer 模型不同,Mamba 模型 提供线性时间推理的优势,理论上能够建模无限长度的序列。用户可以与模型广泛互动,快速响应,无论输入长度如何。这种高效性对于代码生产力使用案例尤其相关。
- Codestral 是一款最先进的 (SOTA) 编码模型,具有 220 亿参数,今年早些时候发布。轻量级、快速,精通 80 多种编程语言,Codestral 针对低延迟、高频使用案例进行了优化,并支持中间填充 (FIM)、代码纠正和测试生成等任务。
- Mathstral 是一款专门设计用于数学推理和科学发现的 7B 模型。该模型具有 32k 上下文窗口,发布于 Apache 2.0 许可证下。
- Mistral Small 是一款具有 240 亿参数的模型,针对延迟和成本进行了优化。Mistral Small 超越了 Mixtral 8x7B,具有更低的延迟,使其成为 AI 公司开放权重产品和旗舰模型之间的精细中介解决方案。Mistral Small 受益于与 Mistral Large 相同的创新,涉及 RAG 能力和函数调用。
Mistral Small 3 的预训练和指令调整检查点均在 Apache 2.0 许可证下发布。
上述模型均以开放权重发布,因此您可以根据许可证协议下载并开始使用:
多语言基准
- Mistral Large 是一款具有 1230 亿参数的强大模型:它在英语、法语、西班牙语、德语和意大利语方面流利,具备对语法和文化背景的细致理解。
图像来自 source
- Ministral 3B 和 Ministral 8B,是两款新的最先进模型,适用于设备计算和边缘使用案例。这些模型在知识、常识、推理、函数调用和效率方面设定了新的前沿,适用于 10B 以下类别,可以用于或调整为多种用途,从编排代理工作流到创建专业任务工作者。两个模型都支持高达 128k 的上下文长度。
这两个模型均可用,但在 Mistral 商业许可证下。
如何创建免费账户并开始使用
加入 Mistral.ai 平台非常简单。请访问主页并点击 Le Chat 订阅以访问网络应用,或点击 试用 API 申请作为 Beta 用户访问 Mistral 控制台。
要访问 Le Chat 网络应用,您有 3 个选项:使用 Google、Apple 或 Microsoft 注册。
我选择了 Microsoft(但 Apple 也不错),因为在中国使用非常顺畅。
订阅步骤
登录后,您可以看到控制台(见上图)。到目前为止,您还没有设置任何内容。首先,前往 Limits 并点击 Choose a Plan 以获取 API 的访问权限。
选择免费计划
免费计划提供了许多功能,老实说,在目前的大型 AI 提供商中,这是最好的:
接受并订阅——需要进行电话验证(2FA)
您将看到 Subscription Successful 消息。这意味着以下模型对您开放,免费使用!
图片来自 source
而且不要忘记在线应用 Le Chat 是一个强大的互动 AI 助手,适用于日常任务、编码辅助以及图像生成(每天有限数量)。
让我们创建一个 API key
如何创建 API key 并在 Python 中使用模型
现在我们可以创建我们的第一个 API key。前往 API Keys 并点击 Create a new key。您需要分配一个名称,并且可以选择性地分配一个过期日期。
完成后,请将您的 API key 复制/粘贴到安全的地方,以便我们可以在代码中使用它。
Python Terminal ChatBot with mistral-small-latest
我们将创建一个简单的终端 chat-bot。streamlit 界面将很快推出,请保持关注。
无需创建虚拟环境,因为我们只需要 Mistral python SDK。从终端运行:
现在创建一个新文件:我的文件名为 chatMistral_Terminal.py
。如果您缺少某些部分,您也可以在我的 GitHub 仓库中找到代码。
我们导入主要库并请求您的 API key:
from mistralai import Mistral
import sys
import warnings
warnings.filterwarnings(action='ignore')
import os
def clear_screen():
os.system('cls' if os.name == 'nt' else 'clear')
clear_screen()
print("\\033\[94;1m")
APIK = input('Your Mistral API key: ')
现在我们实例化与 Mistral API 端点的 client 连接,并显示一条复古消息(我喜欢它……)
CLIENT = Mistral(api_key=APIK)
history = []
print("\\033\[93;1m")
intro = """
░░░ ░░
▒█▒░░░░ ░█▓░░░░
▒█▒░░░░ ░█▓░░░░
▒█▒░░░░░░░░ ▒█▒░░░░░░░░ ▓▓ ▓▓▒▒▒ ░▓▓▓▓░▓▒ █▒ ▓█▓ ░▓▓█▓▒
▒█▒░░░░░░░░ ▒█▒░░░░░░░░ ▓▓ ▓▓▒▒░ █▒ ▓▓▒▒█▒ ░█▒█░ ▒▓
▒█▒▒▒▒▒▒▒░░░░▒▓▒▒▒▒▒▒▒░░ ▓▓ ▓▒ ▓▒ ▒ ▓▓ ░█▒ ▓█▓█▒ ▒▓
▒█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▓▓▓▓ ▓▓▓▓▓ ▓▓▓▒ ▓▒ ▓▒░▓ ░▓░ ▒▓
▒█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒█▓▒▒▒░ ▓█▒▒▒▒░ ░█▓▒▒▒▒
▒█▓▒▒▒░ ▓█▒▒▒▒░ ░█▓▒▒▒▒ ▓█░▓█ ░▓██▓ ▓▓▓▓ ▒▓▓█▓▓░█▓▓▓▒ ▓▓▒ ░█░
▒█▓▒▒▒░ ░▒░░░░ ░▓▓▒▒▒▒ ▓▒▓▓▓ ▓▓ ░█▓▒ ▒█ █▒ ▓▓ ░█░▓░ ░█░
▒█▓▒▒▒▒ ▒▓ ░▓░ ░█▓▒▒▒▒ ▓▒▓░▓ ▓▓ ░▓▒ ▒█ █▒▒▓ ▓█▓█▓ ░█░
▒█▓▒▒▒▒ ▓█ ▒█▒ ░▓▓▒▒▒▒ ▒▒ ▓ ░▓▓▓▓ ░▓▓▓▒ ▒▓ ▓░ ▒▓░▓░ ░▓░░▓▓▓▓░
"""
print(intro)
chat-bot 将进入一个循环,直到我们输入 quit!
如何创建 ASCII art — 来自 source
所以让我们创建一个函数,将我们的提示发送到远程服务器,并获取回复。不要因为这么多行而烦恼……几乎 80% 是 docstrings 用于解释函数
def chatMistral(CLIENT, history, prompt):
"""
SDK call to Mistral Platforme endpoints for free and paid models
The function will NOT STREAM the output
- it is required a verified API key from https://console.mistral.ai/
inputs: CLIENT -> instance of Mistral object
history -> list, chat messages
prompt -> str, the prompt from the user
outputs : history -> list, chat messages including the prompt and model response
answer -> str, the model response to the prompt
Usage example:
from mistralai import Mistral
CLIENT = Mistral(api_key=APIK)
history = []
history, new_message = chatMistral(CLIENT, history, 'what is Science?')
---
more examples from https://docs.mistral.ai/capabilities/completion/
"""
model = 'mistral-small-latest'
history.append({"role": "user", "content": prompt})
response = CLIENT.chat.complete(model=model,
messages=history)
answer = response.choices[0].message.content
history.append({"role": "assistant", "content": answer})
return history, answer
这个函数很简单:我们使用 client 发送我们的提示(以 chat-ml 格式格式化),并呈现结果。在这里,我们使用 chat.complete()
方法而不进行流式传输输出:这不是问题,因为 API 服务器回复超级快!
创建完主函数后,我们只需启动循环,验证我们不想退出,并接受多行输入(在您想要总结长文本时非常方便)。
while True:
userinput = ""
print("\\033\[1;30m") #dark grey
print("Enter your text (end input with Ctrl+D on Unix or Ctrl+Z on Windows) - type quit! to exit the chatroom:")
print("\\033\[91;1m") #red
lines = sys.stdin.readlines()
for line in lines:
userinput += line + "\\n"
if "quit!" in lines[0].lower():
print("\\033\[0mBYE BYE!")
break
print("\\033\[92;1m")
history, new_message = chatMistral(CLIENT, history, userinput)
print(new_message)
保存 python 文件,并从终端运行:
python chatMistral_Terminal.py
结论
我在母语中尝试了这个模型,老实说,我对其流畅性感到相当惊讶。Mistral models 听起来很自然,并且没有所有的英文化词汇:一切都很顺畅!
如果你想测试提示、准备课程、组织测验,或者仅仅是原型设计你的概念,Mistral API 将为你提供强大的助手和大量资源(32k 上下文窗口相当可观)。
在下一篇文章中,我将向你展示如何将 Codestral models 连接到 Visual Studio code,如何创建一个 Streamlit chat-bot 应用程序,甚至如何将应用程序发布为可执行文件。
我希望你喜欢这篇文章。如果这个故事对你有价值,并且你希望给予一点支持,你可以:
- 为这个故事多次鼓掌
- 突出更重要的部分以便记住(这将使你更容易在以后找到它们,也让我写出更好的文章)
如果你想阅读更多,这里有一些想法:
以及 GitHub 仓库
参考资源
这个故事发布在 Generative AI 上。