Codestralは、Mistral AIが開発したコード生成モデルの最新イノベーションです。このジェネラティブAIモデルは、コードの作成と操作を支援するために明示的に設計されており、以前のモデルと比べてパフォーマンスと多機能性が大幅に向上しています。この記事では、Codestralの特徴、他のMistralモデルとの違い、パフォーマンスのベンチマーク、およびインストールと使用方法の詳細なガイドについて探っていきます。
それなら、Anakin AIを見逃すことはできません!
Anakin AIは、ワークフローの自動化のためのオールインワンプラットフォームです。簡単なノーコードApp Builderを使用して、強力なAIアプリを作成します。- Llama 3、Claude、GPT-4、Uncensored LLMs、Stable Diffusionanceなど...
数分で夢のAIアプリケーションを構築しましょう!Anakin AIで数週間ではなく、数分で実現できます!
![Anakin AI: Automate Your AI Tasks with Ease](https://assets.anakin.ai/blog/2024/06/anakin-2.webp)
Codestralとは何ですか?
Codestralは、コード生成タスクに特化したオープンな重み付けジェネラティブAIモデルです。 "オープン重み付け"とは、モデルの学習済みパラメータが研究や非営利目的で自由に利用できることを意味し、アクセシビリティとカスタマイズ性が向上しています。Codestralは、Python、Java、C、C++、JavaScript、Bashなどの人気のあるプログラミング言語だけでなく、SwiftやFortranなどの特殊な言語を含む80以上のプログラミング言語を網羅した多様なデータセットでトレーニングされています。この幅広いトレーニングにより、Codestralはさまざまなコーディング環境とプロジェクトで開発者をサポートすることができます。
Codestralの主な特徴
- 80以上のプログラミング言語に対する流暢な対応: Codestralは幅広い言語をサポートし、さまざまなプロジェクトに対応することができます。
- コード生成: コードの関数補完、テストケース生成、欠落したコードセグメントの埋め込みなど、タスクの自動化が可能です。
- 中央埋め込みメカニズム: 中央埋め込みにより、部分的なコードを補完して、コード補完のタスクを強化することができます。
- オープン重み付け: モデルのパラメータは研究や非営利目的で自由にアクセスでき、共同環境を促進します。
- パフォーマンスと効率性: 32kトークンの大きなコンテキストウィンドウを持つCodestralは、コード生成のパフォーマンスとレイテンシの新たな基準を設定します。
Codestralは他のMistralモデルとどのように異なりますか?
Mistral AIは数多くのモデルを開発していますが、Codestralはコード生成に特化したユニークなモデルです。以下にいくつかの主な違いを示します:
- 専門化: 一般的なモデルとは異なり、Codestralはコーディングタスクに特化しており、この領域でより効率的かつ正確に動作します。
- パラメータのサイズ: Codestralは220億のパラメータを誇り、他の多くのモデルよりも大きくなっています。これにより、より複雑なコーディングタスクを処理することができます。
- コンテキストウィンドウ: 32kトークンのコンテキストウィンドウを持つCodestralは、他のコンテキストウィンドウが小さいモデルと比較して、より長く、より複雑なコードシーケンスを管理することができます。
パフォーマンスベンチマーク
CodestralはGPT-4、Llama 3、Mistral 7Bなどの主要なAIモデルと厳格にテストされています。以下の表は、さまざまなベンチマークにおけるCodestralのパフォーマンスをまとめたものです:
モデル | HumanEval Pass@1 | MBPP Sanitized Pass@1 | CruxEval | RepoBench EM | Spider (SQL) |
---|---|---|---|---|---|
Codestral 22B | 73.75 | 85.60 | 90.45 | 88.30 | 92.10 |
GPT-4 | 72.05 | 84.50 | 89.00 | 87.00 | 91.00 |
Llama 3 70B | 70.00 | 82.00 | 87.50 | 85.00 | 89.50 |
Mistral 7B | 65.00 | 78.00 | 83.00 | 80.00 | 85.00 |
Codestralは、すべてのベンチマークで競合他社よりも優れたパフォーマンスを発揮し、コード生成タスクでの優れた能力を示しています。
Codestralのインストール方法
Codestralのインストールは簡単であり、さまざまな開発環境に統合できます。以下は、Codestralのインストールと使用方法の手順とサンプルコードです。
インストール手順
- Codestralのダウンロード: CodestralはHuggingFaceからダウンロードするか、MistralのAPIエンドポイントからアクセスできます。
- APIキーの設定: Mistral AIのLa PlateformeからAPIキーを取得します。
- 必要な拡張機能のインストール: VSCodeまたはJetBrains用に、ContinueまたはTabnineの拡張機能をインストールします。
- APIキーの設定: APIキーを設定ファイルに追加します。
例:Continue.devを使ったCodestralのセットアップ
{
"models": [
{
"title": "Codestral",
"provider": "mistral",
"model": "codestral-latest",
"apiKey": "[API_KEY]"
}
],
"tabAutocompleteModel": {
"title": "Codestral",
"provider": "mistral",
"model": "codestral-latest",
"apiKey": "[API_KEY]"
}
}
サンプルコード
Pythonの例:フィボナッチ数列の関数
import os
from mistralai.client import MistralClient
from mistralai.models.chat_completion import ChatMessage
api_key = os.environ["MISTRAL_API_KEY"]
client = MistralClient(api_key=api_key)
model = "codestral-latest"
messages = [
ChatMessage(role="user", content="フィボナッチの関数を書いてください")
]
chat_response = client.chat(
model=model,
messages=messages
)
print(chat_response.choices.message.content)
Curlの例:中央埋め込み
curl --location 'https://api.mistral.ai/v1/fim/completions' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header "Authorization: Bearer $MISTRAL_API_KEY" \
--data '{
"model": "codestral-latest",
"prompt": "def fibonacci(n: int):",
"suffix": "n = int(input('Enter a number: '))\nprint(fibonacci(n))",
"max_tokens": 64,
"temperature": 0
}'
開発ツールとの統合
Codestralは、人気のある開発ツールにシームレスに統合でき、コーディングエクスペリエンスを向上させます。
VSCodeの統合
- Continue拡張機能のインストール: VSCode用のContinue拡張機能をインストールするための手順に従います。
- Codestralの設定: プロバイダとして
Mistral API
を選択し、モデルとしてCodestral
を選択します。 - Codestralの使用: VSCode内でコード生成と補完のためにCodestralを利用します。
JetBrainsの統合
- Tabnine拡張機能のインストール: JetBrains用のTabnine拡張機能をインストールするための手順に従います。
- Codestralの設定: Tabnine Chat Appでモデルとして
Codestral
を選択します。 - Codestralの使用: JetBrains内でコード生成と補完のためにCodestralと対話します。
まとめ
Codestralは、コード生成モデルの分野での重要な進歩を表しています。その専門的なデザイン、幅広い言語サポート、優れたパフォーマンスにより、開発者にとって貴重なツールとなっています。Codestralを開発環境に統合することで、コーディングの効率を向上させ、エラーを減らし、ワークフローをスムーズにします。シンプルなスクリプトから複雑なプロジェクトまで、Codestralはあなたのすべてのステップでサポートする準備が整っています。