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 ヘッダーを通じてレート制限と使用状況を追跡できます。
使用パターン
このスキルを使用するには、環境変数(例:export MISTRAL_API_KEY=your_key)で Mistral API キーを設定して認証します。次に、ベースエンドポイント 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に文字列の配列を指定します。"mistral-small" のようにmodelを指定します。 - 例:ペイロード
{"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 クラスター(例:同様の AI 機能を提供する openai-api と接続)
- 依存:認証サービス(例:キー管理システム)
- 統合:関数呼び出しツール(例:天気サービスなどの外部 API と連携)
コメント
Markdown 対応