mcpField
M
mistral-api

mistral-api

github.com/alphaonedev開発41 回インストール
リポジトリ

mistral-api について

mistral-api は、REST API 経由で Mistral AI のモデルを利用する開発者向けスキルです。チャットやテキスト生成、関数呼び出し、コード生成、ストリーミングを扱います。

主な機能

  1. 01Mistral モデルでのチャットとテキスト生成
  2. 02関数呼び出し
  3. 03コード生成
  4. 04ストリーミング応答
  5. 05レート制限と使用状況の追跡

活用シーン

  1. 01チャットボットの構築
  2. 02コードの生成やデバッグ
  3. 03モデルと外部ツールの接続
  4. 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 関数を生成するには、次の手順に従います。

  1. 環境を設定します:export MISTRAL_API_KEY=your_key
  2. 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
  3. 期待される出力:生成されたコードを含む JSON レスポンスです。例:{"choices": [{"message": {"content": "def add(a, b): return a + b"}}]}
例 2:関数呼び出しの実行

天気データに関数呼び出しを使用するには、次の手順に従います。

  1. ツールを含むペイロードを準備します:{"tools": [{"type": "function", "function": {"name": "get_weather", "parameters": {"location": "string"}}}]}
  2. リクエストを送信します:コード内で 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': [...]})
  3. レスポンスを処理します:レスポンスを解析して関数呼び出しを実行します。例:AI がツール呼び出しを返した場合、ローカルの get_weather 関数を呼び出します。

グラフの関係

  • 関連:ai-apis クラスター(例:同様の AI 機能を提供する openai-api と接続)
  • 依存:認証サービス(例:キー管理システム)
  • 統合:関数呼び出しツール(例:天気サービスなどの外部 API と連携)

コメント