この用語をシェア
概要
OpenAI APIは、OpenAIが提供する大規模言語モデル(GPT-4、GPT-3.5 Turbo)へのアクセスを可能にするAPIです。テキスト生成、翻訳、要約、コード生成など多様な用途に活用でき、開発者が高性能なAI機能を簡単にアプリケーションに統合できます。世界中の企業や開発者によって広く利用されており、AI革命の中心的な役割を果たしています。
詳細説明
主な特徴
- 高性能モデル:GPT-4、GPT-3.5 Turboなど最先端の言語モデル
- 多様な用途:テキスト生成、翻訳、要約、コード生成など
- 簡単な統合:RESTful APIによる直感的な操作
- スケーラブル:小規模から大規模まで柔軟に対応
- 継続的改善:定期的なモデル更新と性能向上
利用可能なモデル
- GPT-4:最高性能の汎用言語モデル
- GPT-3.5 Turbo:高性能でコスト効率の良いモデル
- DALL-E 3:テキストから画像を生成
- Whisper:音声認識・文字起こし
- Embeddings:テキストの意味表現ベクトル化
使用例
基本的なテキスト生成
import openai
# OpenAI APIキーの設定
openai.api_key = "YOUR_API_KEY"
# テキスト生成
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "あなたは親切なアシスタントです。"},
{"role": "user", "content": "AI技術導入のメリットを3つ教えてください。"}
],
max_tokens=300,
temperature=0.7
)
print(response.choices[0].message.content)
文書要約
import openai
def summarize_document(document_text):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "以下の文書を簡潔に要約してください。"},
{"role": "user", "content": document_text}
],
max_tokens=150,
temperature=0.3
)
return response.choices[0].message.content
# 長い文書の要約
long_document = """
...(長い文書内容)...
"""
summary = summarize_document(long_document)
print(f"要約: {summary}")
コード生成
import openai
def generate_code(description):
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[
{"role": "system", "content": "あなたは経験豊富なプログラマーです。"},
{"role": "user", "content": f"以下の機能を持つPythonコードを作成してください:\n{description}"}
],
max_tokens=500,
temperature=0.2
)
return response.choices[0].message.content
# ソートアルゴリズムの生成
code_request = "リストを昇順にソートするクイックソート関数"
generated_code = generate_code(code_request)
print(f"生成されたコード:\n{generated_code}")
多言語翻訳
import openai
def translate_text(text, target_language):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": f"以下のテキストを{target_language}に翻訳してください。"},
{"role": "user", "content": text}
],
max_tokens=200,
temperature=0.1
)
return response.choices[0].message.content
# 翻訳例
japanese_text = "この技術は革新的で、ビジネスに大きな影響を与えるでしょう。"
english_translation = translate_text(japanese_text, "英語")
print(f"翻訳結果: {english_translation}")
埋め込みベクトル(Embeddings)
import openai
import numpy as np
def get_embedding(text):
response = openai.Embedding.create(
model="text-embedding-ada-002",
input=text
)
return response.data[0].embedding
def calculate_similarity(text1, text2):
embedding1 = get_embedding(text1)
embedding2 = get_embedding(text2)
# コサイン類似度を計算
similarity = np.dot(embedding1, embedding2) / (
np.linalg.norm(embedding1) * np.linalg.norm(embedding2)
)
return similarity
# テキストの類似度計算
text1 = "機械学習は人工知能の一分野です"
text2 = "AIには機械学習が含まれます"
similarity = calculate_similarity(text1, text2)
print(f"類似度: {similarity:.4f}")
関連技術
- LangChain:OpenAI APIを活用した高度なアプリケーション開発
- Streamlit:AIアプリケーションのWeb UI構築
- FastAPI:API サーバーの構築
- Vector Databases:埋め込みベクトルの保存・検索
- Hugging Face:他のAIモデルとの統合
- Gradio:AIモデルのデモアプリケーション
適用分野
- カスタマーサポート・チャットボット
- コンテンツ生成・編集
- プログラミング支援・コード生成
- 文書翻訳・多言語対応
- データ分析・レポート作成
- 教育・学習支援システム
- クリエイティブ作業支援
料金・制限
料金体系
- 従量課金制:使用したトークン数に応じて課金
- モデル別料金:GPT-4 > GPT-3.5 Turbo > その他モデル
- 無料枠:新規アカウントには一定の無料クレジット
使用制限
- 1分間・1日あたりのリクエスト数制限
- トークン数制限(モデルによって異なる)
- コンテンツポリシーによる制限
メリット・デメリット
メリット
- 世界最高水準の言語モデル
- 簡単で直感的なAPI設計
- 豊富な機能とモデル選択肢
- 継続的な改善と新機能追加
- 充実したドキュメントとサポート
デメリット
- 使用量に応じた高額な料金
- インターネット接続が必要
- レスポンス時間の変動
- データプライバシーの懸念
- コンテンツポリシーによる制限