AI API
AI APIとは
-
AI API は人工知能(AI)をプログラムから利用できる「窓口」
- 文字(プロンプト)を使って会話、要約、翻訳、コード生成、分析などが可能
- ChatGPT API(OpenAI)や Gemini API(Google)は、その代表的存在
ChatGPT API
項目 |
内容 |
提供元 |
OpenAI社(Microsoftが支援) |
主なモデル |
gpt-3.5-turbo , gpt-4 |
用途例 |
チャットボット、文章生成、翻訳、要約、プログラミング支援など |
API形式 |
REST(JSON + HTTP POST) |
利用料金 |
無料枠あり(gpt-3.5)、それ以上は従量課金制 |
公式サイト |
https://platform.openai.com |
ChatGPT API リクエスト構造
項目 |
内容 |
メソッド |
POST |
URL |
https://api.openai.com/v1/chat/completions |
認証 |
ヘッダーに Authorization: Bearer APIキー を指定 |
Content-Type |
application/json |
利用モデル |
gpt-3.5-turbo , gpt-4 , gpt-4o など |
POST /v1/chat/completions
{
"model": "gpt-3.5-turbo",
"messages": [
{"role": "user", "content": "こんにちは!"}
]
}
Gemini API
項目 |
内容 |
提供元 |
Google Cloud |
主なモデル |
gemini-pro , gemini-pro-vision , gemini-1.5-flash など |
特徴 |
GoogleのPaLM系統の進化版。画像・長文にも強く、多言語にも対応 |
API形式 |
REST(JSON + HTTP POST) |
利用方法 |
Google Cloud ConsoleからAPIキー発行 |
料金 |
無料枠あり、以降は従量課金制 |
公式サイト |
https://ai.google.dev |
Gemini API リクエスト構造
項目 |
内容 |
メソッド |
POST |
URL |
https://generativelanguage.googleapis.com/v1/models/gemini-1.5-pro:generateContent (または v1beta ) |
認証 |
クエリパラメータに ?key=APIキー (Google Cloud APIキー)または Vertex AI の OAuth 認証 |
Content-Type |
application/json |
利用モデル |
gemini-1.5-pro , gemini-1.5-flash , gemini-1.0-pro-vision など |
POST /v1beta/models/gemini-pro:generateContent
{
"contents": [
{
"parts": [{"text": "こんにちは、自己紹介してください"}]
}
]
}
Claude API
項目 |
内容 |
提供元 |
Anthropic社 |
主なモデル |
Claude 3シリーズ:Opus(高性能)、Sonnet(バランス型)、Haiku(高速・低コスト) |
用途例 |
テキスト生成、要約、翻訳、コード補完、アイデア出しなど、幅広い自然言語処理タスクに対応 |
API形式 |
REST形式で提供され、HTTPリクエストを使ってアクセスするため、Pythonなどの主要言語からも簡単に利用可能 |
利用料金 |
無料枠(モデルと1日のメッセージ数に制限)、それ以降、従量課金制 |
公式サイト |
https://claude.ai |
Gemini API リクエスト構造
項目 |
内容 |
メソッド |
POST |
URL |
https://api.anthropic.com/v1/messages |
認証 |
ヘッダーに x-api-key: APIキー を指定 |
Content-Type |
application/json |
利用モデル |
claude-3-opus-20240229 , claude-3-sonnet-20240229 など |
POST /v1/messages
{
"model": "claude-3-opus-20240229",
"messages": [
{
"role": "user",
"content": "こんにちは、自己紹介してください"
}
],
"max_tokens": 1024,
"temperature": 0.7
}