关于 mistral-api
mistral-api 是面向开发者的技能,用于通过 REST API 调用 Mistral AI 模型,涵盖聊天、文本生成、函数调用、代码生成和流式响应。
主要功能
- 01Mistral 模型聊天与文本生成
- 02函数调用
- 03代码生成
- 04流式响应
- 05速率限制与用量追踪
适用场景
- 01构建聊天机器人
- 02生成或调试代码
- 03将模型连接到外部工具
- 04开发实时交互应用
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill mistral-api安装后在 Claude Code 中输入/mistral-api确认已加载。
详细介绍
mistral-api
用途
此技能可与 Mistral AI API 交互,访问 Mistral Large、Medium 和 Small 等模型,用于文本生成、函数调用和代码创建等任务。它专为需要通过 RESTful API 使用高级 AI 能力的开发者设计。
适用场景
- 需要用于自然语言处理的高性能 AI 模型,例如生成代码或回答问题时。
- 应用需要函数调用时,例如将 AI 与外部工具或 API 集成。
- OpenAI 替代方案受到限制,但仍需要类似能力时。
- 构建利用 Mistral 高效模型的聊天机器人、代码助手或数据分析工具时。
主要功能
- 通过 API 端点访问 Mistral 模型(例如 mistral-large、mistral-medium、mistral-small),用于文本补全和聊天。
- 支持函数调用,使 AI 能根据用户输入调用工具。
- 提供代码生成能力,并针对编程任务进行优化,例如编写函数或调试。
- 支持流式响应,适用于实时应用,可降低交互过程中的延迟。
- 通过 API 响应头进行速率限制和用量跟踪。
使用模式
要使用此技能,请通过环境变量设置 Mistral API 密钥进行身份验证(例如,export MISTRAL_API_KEY=your_key)。然后,向基础端点 https://api.mistral.ai/v1 发送 HTTP 请求。请始终在请求中指定模型,以获得针对性的性能。要进行函数调用,请在负载中包含一个 "tools" 数组。可通过 Python 中的 requests 或 JavaScript 中的 fetch 等 HTTP 客户端进行集成。请异步处理响应,以管理流式数据。
常用命令/API
- 聊天补全端点:POST
https://api.mistral.ai/v1/chat/completions- 必需的请求头:
Authorization: Bearer $MISTRAL_API_KEY、Content-Type: application/json - 负载示例:
{"model": "mistral-large", "messages": [{"role": "user", "content": "Hello"}], "tools": [{"type": "function", "function": {"name": "get_weather"}}]} - 通过 curl 执行的 CLI 命令:
curl -X POST -H "Authorization: Bearer $MISTRAL_API_KEY" -H "Content-Type: application/json" -d '{"model":"mistral-medium","messages":[{"role":"user","content":"Write a Python function"}]}' https://api.mistral.ai/v1/chat/completions
- 必需的请求头:
- 嵌入端点:POST
https://api.mistral.ai/v1/embeddings- 标志:将
input设为字符串数组;指定model,例如 "mistral-small"。 - 示例:负载
{"input": ["Hello world"], "model": "mistral-small"}
- 标志:将
- 配置格式:所有请求均使用 JSON;将 API 密钥存储在
.env文件中,格式为MISTRAL_API_KEY=sk-mistral-...。 - 常用标志:在负载中添加
stream: true以启用流式传输;使用max_tokens: 512限制响应长度。
集成说明
- 运行脚本前,将 API 密钥设为环境变量:
export MISTRAL_API_KEY=your_api_key。 - 在代码中导入 Python 的
requests等库:import os; api_key = os.environ.get('MISTRAL_API_KEY')。 - 要进行函数调用,请在应用中定义工具,并在 API 负载中引用它们;例如,确保后端能够处理对外部 API 的调用。
- 速率限制:Mistral 会按分钟实施限制;请通过响应头监控,并使用指数退避实现重试逻辑。
- 测试:使用 Postman 或类似工具测试端点;确保所有请求均使用 HTTPS。
错误处理
- 常见错误:401 Unauthorized(通过检查 $MISTRAL_API_KEY 修复);429 Too Many Requests(延迟后重试,例如等待 5-10 秒)。
- 在代码中处理 API 错误:检查响应状态码,例如在 Python 中:
if response.status_code == 429: time.sleep(10); retry_request()。 - 对于无效负载:发送前验证 JSON;捕获响应中的 JSON 解码错误。
- 特定情况:如果找不到模型,请确保模型字符串与可用选项一致(例如 "mistral-large");记录错误详情,例如错误消息和 HTTP 代码。
具体使用示例
示例 1:生成代码片段
使用 Mistral API 生成一个简单的 Python 函数:
- 设置环境:
export MISTRAL_API_KEY=your_key - 运行 curl 命令:
curl -X POST -H "Authorization: Bearer $MISTRAL_API_KEY" -H "Content-Type: application/json" -d '{"model": "mistral-medium", "messages": [{"role": "user", "content": "Write a function to add two numbers in Python"}]}' https://api.mistral.ai/v1/chat/completions - 预期输出:包含生成代码的 JSON 响应,例如:
{"choices": [{"message": {"content": "def add(a, b): return a + b"}}]}
示例 2:执行函数调用
使用函数调用获取天气数据:
- 准备包含工具的负载:添加
{"tools": [{"type": "function", "function": {"name": "get_weather", "parameters": {"location": "string"}}}] - 发送请求:在代码中使用 Python:
response = requests.post('https://api.mistral.ai/v1/chat/completions', headers={'Authorization': f'Bearer {os.environ["MISTRAL_API_KEY"]}'}, json={'model': 'mistral-large', 'messages': [{'role': 'user', 'content': 'Get weather for New York'}], 'tools': [...]}) - 处理响应:解析响应以执行函数调用,例如,如果 AI 返回工具调用,则调用本地的
get_weather函数。
图关系
- 相关:ai-apis 集群(例如,与 openai-api 相连,以提供类似的 AI 能力)
- 依赖:身份验证服务(例如,密钥管理系统)
- 集成:函数调用工具(例如,连接到天气服务等外部 API)
评论
支持 Markdown