Python で Open AI API キーを使う方法(初心者向け)

OpenAI APIを使用したAIアプリを開発する方法を学びたいですか?この記事を読んで基礎を学びましょう!

Anakin AIを無料で利用開始

Python で Open AI API キーを使う方法(初心者向け)

Start for free
目次

人工知能の躍進する分野で、OpenAIは革新の光として現れ、開発者にAIの力を引き出すためのツールを提供しています。これらのツールにアクセスするためには、OpenAI APIキーが重要であり、テキスト生成、画像作成など、さまざまな機能を提供します。この記事では、PythonでOpenAI APIキーを使用するための実用的な手順について詳しく説明します。これは、プロジェクトにAIを統合することに興味のある開発者にとって基盤となるガイドです。

Claude | 無料のAIツール | Anakin.ai
You can experience Claude-3-Opus, Claude-3-Sonnet, Claude-2.1 and Claude-Instant in this application. Claude is an intelligent conversational assistant based on large-scale language models. It can handle context with up to tens of thousands of words in a single conversation. It is committed to prov…

しかし、手順の学習を開始する前に、Anakin AIをご覧いただくことをお勧めします。

Anakin AI、AIモデルすべてを1つの場所で
Anakin AI、AIモデルすべてを1つの場所で

100以上のAI APIの支払いに問題がある場合は、Anakin AIは1つの場所ですべてを組み合わせます! GPT、DALL-EなどのAIモデル。Anakin AIを特に優れたものにするものは次のとおりです:

  • オールインワンプラットフォーム:複数のAPIや請求口座を管理する必要がないように、さまざまなAIモデルに簡単にアクセスできます。
  • 支払いの手間がありません:セットアップと支払いプロセスの複雑さを除いて、より幅広いユーザーにアクセス可能になります。
  • コード不要のアプリビルダー:コーディングの知識なしでAI駆動のアプリケーションを作成できるようにし、革新と創造性の無限の可能性を開きます。

Anakin AIは、人工知能の力を探索し活用するためのゲートウェイであり、プロジェクトやビジネスソリューションにAIを統合することが以前よりも簡単になっています。

Open AI APIキーはなぜ必要ですか?

基本的に、Open AI APIは、開発者とOpenAIの高度なAIモデル(有名なGPTシリーズを含む)との間の橋渡し役となります。このAPIは、人間のようなテキストの生成から複雑なクエリの理解、生き生きとした画像の生成まで、さまざまなAIベースのタスクを可能にします。開発者にとって、効果的にOpen AI APIを使用する方法を理解することは、さまざまなアプリケーションでAIの変革的なポテンシャルを活用する上で重要です。

Open AI APIは、手動でコーディングすることが困難または不可能なタスクをアプリケーションが実行できるようにするためのインターフェースとして機能します。明確なテキストを作成したり、質問に答えたり、新しいコンテンツを生成する場合でも、APIはソフトウェアソリューションに高度なAI機能をシームレスに統合するための簡単な道筋を提供します。

Open AI APIキーの使い方

コーディングに取り組む前に、Open AI APIキーを取得する必要があります。このキーは、APIリクエストをアカウントに関連付ける一意の識別子であり、OpenAIのAPIセットにアクセスするための認証情報です。

ステップ1. OpenAI APIキーの設定

  1. OpenAIデベロッパーアカウントの作成:まず、OpenAIプラットフォームで開発者アカウントにサインアップしてください。これは、APIの機能をアンロックするための最初のステップです。
  2. 支払い方法の追加:高度なAIモデルを実行するために必要なコンピューティングリソースを考慮して、OpenAIはユーザーにアカウントに支払い方法を追加するよう要求します。これにより、サービスにシームレスにアクセスできるようになります。
  3. シークレットキーの取得:アカウントを設定した後、APIのセクションに移動してOpen AI APIキーを見つけます。このキーを機密情報として扱うことは非常に重要です。なぜなら、これによってコストが発生するサービスにアクセスできるからです。

OpenAI APIキーの安全なキーストレージの推奨事項

セキュリティが重要なプロジェクトに取り組んでいる場合は、APIキーなどの機密情報を安全に保管できるプラットフォームの使用を検討してください。たとえば、DataCamp Workspaceはデータを安全に保管できる環境を提供し、Open AI APIキーの誤って公開されるリスクを軽減します。

ステップ2. 開発環境の準備

Open AI APIキーを入手したら、次は開発環境の準備です。これには、OpenAI APIとの対話を容易にするために必要なライブラリやパッケージのインストールが含まれます。

Python開発環境の設定

PythonにはデータサイエンスやAI開発の豊富なエコシステムがあります。OpenAI APIと連携するために、openaiライブラリなどをインストールする必要があります。以下に開始方法を示します:

# 必要なパッケージをインポート
import os
import openai
import pandas as pd
from IPython.display import display, Markdown

このコードスニペットでは、プロジェクトのために必要なライブラリをインポートする方法を示しています。 osライブラリを使用してオペレーティングシステムとやり取りし、Open AI APIキーを安全に格納できる環境変数にアクセスできます。 openaiライブラリは、OpenAIのAPI機能への直接の接続です。さらに、pandasライブラリはデータの管理と分析に役立ちます。APIからのJSONレスポンスを扱う際に特に役立ちます。

環境に対するOpenAI APIキーの設定

API呼び出しを開始するために、openaiライブラリをAPIキーで設定する必要があります:

# 環境変数からOpenAI APIキーを設定
openai.api_key = os.environ["OPENAI"]

この方法は、APIキーをコードベースから除外することでベストプラクティスを促進し、誤って公開されるリスクを減らします。

OpenAI APIキーの使い方:例

OpenAIは、さまざまなタスクに合わせたさまざまなモデルを提供しています。利用可能なモデルを確認するために、openai Pythonパッケージを使用してリストアップすることができます。以下に、スタートするためのコードスニペットを示します:

# 利用可能なモデルをリストアップ
model_list = pd.json_normalize(openai.Model.list(), "data")
display(model_list)

このコードは、APIを介して利用可能なモデルのリストを整理して表示するためにpandasを利用しています。タスクに応じて適切なモデルを選択するのに役立ちます。

例1. OpenAIのAPIを使用してテキストを生成する方法

OpenAIのAPIの特徴の1つは、連続的な文脈に基づいた連続する意味のあるテキストの生成能力です。この機能により、カスタマーサポートの自動化からコンテンツの生成まで、さまざまなアプリケーションが可能になります。

基本的なOpenAI APIのワークフロー

GPTモデルは、会話を模倣するチャット機能をサポートしています。プロンプトを指定すると、モデルは応答を生成します。以下に、GPTモデルとの基本的なチャットの設定方法を示します:

# GPTとの対話
response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[{
            "role": "system",
            "content": "データサイエンティストの観客に漫才をする立ち上がりのコメディアンです。あなたの専門のジャンルはお笑いのギャグです。"
        }, {
            "role": "user",
            "content": "統計に関するジョークを教えてください。"
        }, {
            "role": "assistant",
            "content": "私の前回の仕事は統計会議でした。人々を笑わせるために100のジョークを言いました。10人中のダジャレはありませんでした。"
        }
     ]
)

このコードスニペットでは、AIがプロンプトに応じてジョークを生成するシナリオの設定方法を示しており、APIのインタラクティブなアプリケーションの可能性を示しています。

APIは、ランダム性や長さなどのテキストの生成結果を微調整するためのコントロールも提供しています。これにより、アプリケーションの特定のニーズに応じてカスタマイズすることができます。

OpenAI APIのパラメータをカスタマイズする

以下に、異なる効果を持つためにチャットの出力を調整する例を示します:

# チャットの出力を調整
response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "未来的なジョークを教えてください。"}],
    temperature=0.7,
    max_tokens=100,
    top_p=0.8,
    frequency_penalty=0,
    presence_penalty=0
)

このコードスニペットは、temperaturemax_tokensなどのパラメータを調整して、AIによって生成されるテキストの創造性や長さを制御する方法を示しています。

Open AI APIはテキスト生成にとどまらず、DALL-Eによる画像作成から埋め込みによる意味的な検索まで、開発者が探求するためのツールセットを提供しています。各モデルには独自のパラメータとオプションが付属しており、さまざまなプロジェクトのニーズに合わせた深いカスタマイズが可能です。

このガイドのステップに従って、Open AI API Keyのセキュリティ確保から最初のAPI呼び出しの実行、さらに高度な機能の実験までを行うことで、PythonアプリケーションにOpenAIの強力なAI機能を統合する準備が整います。AIパワードのチャットボットの構築、コンテンツ生成の自動化、AIの新たな領域の探索など、さまざまな目的に向けて、Open AI APIは革新と探求のための堅牢なプラットフォームを提供しています。

例2. DALLE-3 APIの使用方法

AIの可能性をさらに広げるために、OpenAIのDALL-Eモデルはテキストの説明から画像の生成を可能にします。この機能により、コンテンツの自動生成からビジュアルデータの拡張まで、さまざまな創造的なアプリケーションが可能になります。

DALL-Eを使用した画像の生成は、単純にプロンプトを提供するだけです:

# テキストから画像を生成
response = openai.Image.create(
    prompt="サイバーパンクのスタイルで、夕暮れ時の未来都市の風景。"
)

# 生成された画像を表示
img_url = response["data"][0]["url"]
display(Image(url=img_url))

この例では、テキストの入力に基づいて複雑で魅力的な画像を作成する能力を示しており、OpenAIのモデルのパワーを示しています。詳細については、次の記事を参照して、DALLE3 APIを使用して画像を作成する方法についてもっと学びましょう:

DALLE3 APIの使い方

例3. OpenAI APIを使用してサマリーを生成する

特にGPT-3モデルを活用した場合、OpenAIのAPIは、長いテキストを簡潔なバージョンに要約する能力に優れています。この機能は、記事、レポート、さらには書籍の要約を作成する際に非常に便利であり、コンテンツの要点をよりアクセスしやすくします。

要約の生成方法:

  1. 要約したいテキストを準備します。これはニュース記事から研究論文まで、任意のテキストである場合があります。
  2. GPT-3に対して要約の指示を明確にするプロンプトを作成します。
  3. openai.Completion.createメソッドを使用してリクエストをGPT-3に送信します。

Pythonのコードの例:

import openai
import os

openai.api_key = os.getenv("OPENAI_API_KEY")

text_to_summarize = """OpenAI's GPT-3 is a state-of-the-art language processing AI model that can generate text, translate languages, and even create human-like text based on the prompts it receives. Its applications range from writing assistance to customer service automation."""

prompt = "次のテキストを簡潔に要約してください:" + text_to_summarize

response = openai.Completion.create(
  engine="davinci",
  prompt=prompt,
  max_tokens=60,
  temperature=0.5,
  top_p=1.0,
  frequency_penalty=0.0,
  presence_penalty=0.0
)

summary = response.choices[0].text.strip()
print(summary)

このコードスニペットは、GPT-3に関する段落を簡潔に要約する方法を示しており、モデルが本質的な情報を抽出する能力を示しています。

例4: GPT-3を使用した言語翻訳

GPT-3の多機能な言語理解能力により、テキストを異なる言語間で翻訳するのに効果的なツールとなります。この機能により、リアルタイムで言語の壁を取り払い、グローバルなコミュニケーションの道を開くことができます。

テキストの翻訳方法:

  1. 翻訳タスクのソースとターゲットの言語を選択します。
  2. GPT-3にテキストを翻訳するように明示するプロンプトを作成します。
  3. openai.Completion.createを使用して翻訳リクエストを実行します。

Pythonのコードの例:

import openai
import os

openai.api_key = os.getenv("OPENAI_API_KEY")

text_to_translate = "GPT-3's capabilities are transforming the way we interact with technology."
prompt = f"以下の英語のテキストをフランス語に翻訳してください:{text_to_translate}"

response = openai.Completion.create(
  engine="davinci",
  prompt=prompt,
  max_tokens=100,
  temperature=0.5,
  top_p=1.0,
  frequency_penalty=0.0,
  presence_penalty=0.0
)

translated_text = response.choices[0].text.strip()
print(translated_text)

この例では、GPT-3が英語のテキストをフランス語に翻訳する能力を示しており、翻訳ツールとしてのポテンシャルを示しています。

例5. 埋め込みを使用した分類

テキストの分類にはさまざまな方法があります。この例では、埋め込みを使用したテキストの分類方法を共有します。ファインチューニングモデルがテキストの分類タスクで埋め込みを上回ることが多いですが、この例ではシンプルさのために埋め込みの使用に焦点を当てています。最適な結果を得るためには、400次元以上のembeddingがある場合には、埋め込みよりも多くの例があることが推奨されます。

このタスクでは、テキストの埋め込みを基にフードレビュー(1〜5のスコア)のスコアを予測します。モデルのパフォーマンスを現実的に未知のデータで評価するため、データセットをトレーニングセットとテストセットに分割します。このデータセットは、別のドキュメントで詳しく説明されているように、別途準備されます。

埋め込みを使用したテキスト分類のPythonコードの例:

import pandas as pd
import numpy as np
from ast import literal_eval

from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report, accuracy_score

# 埋め込みを含むデータセットを読み込みます
datafile_path = "data/fine_food_reviews_with_embeddings_1k.csv"

df = pd.read_csv(datafile_path)
df["embedding"] = df.embedding.apply(literal_eval).apply(np.array)  # 文字列を配列に変換

# データをトレーニングセットとテストセットに分割
X_train, X_test, y_train, y_test = train_test_split(
    list(df.embedding.values), df.Score, test_size=0.2, random_state=42
)

# ランダムフォレスト分類器を訓練します
clf = RandomForestClassifier(n_estimators=100)
clf.fit(X_train, y_train)
preds = clf.predict(X_test)

# 分類レポートを生成して表示します
report = classification_report(y_test, preds)
print(report)

このスニペットは、フードレビューテキストの埋め込みを使用してRandom Forest分類器をトレーニングし、スコアを予測する方法を示しています。分類レポートは、モデルが異なるスコアカテゴリでどれだけ良いパフォーマンスを示すかを示しています。

モデルのパフォーマンスに関するInsight:

モデルは、カテゴリ間の区別能力において優れた能力を示しており、5つ星のレビューは最も優れたパフォーマンスを示しています。これはデータセットで最も一般的なカテゴリであるため、予想される結果です。このアプローチの成功は、ファインチューニングがリソースが豊富でない場合や、より小さなデータセットを扱う場合にはリソースを節約できる埋め込みの活用可能性を示しています。

この方法を探求することで、開発者はテキスト分類における機械学習の実用的な応用に関する洞察を得ることができます。事前計算された埋め込みを活用することで、プロセスを容易にすることができます。

結論

最後に、OpenAI APIをPythonで使用する探求を結論付ける前に、Anakin AIをご覧いただくことをお勧めします。

Anakin AI、AIモデルすべてを1つの場所で
Anakin AI、AIモデルすべてを1つの場所で

100以上のAI APIの支払いに問題がある場合は、Anakin AIは1つの場所ですべてを組み合わせます! GPT、DALL-EなどのAIモデル。Anakin AIを特に優れたものにするものは次のとおりです:

  • オールインワンプラットフォーム:複数のAPIや請求口座を管理する必要がないように、さまざまなAIモデルに簡単にアクセスできます。
  • 支払いの手間がありません:セットアップと支払いプロセスの複雑さを除いて、より幅広いユーザーにアクセス可能になります。
  • コード不要のアプリビルダー:コーディングの知識なしでAI駆動のアプリケーションを作成できるようにし、革新と創造性の無限の可能性を開きます。

Anakin AIは、人工知能の力を探索し活用するためのゲートウェイであり、プロジェクトやビジネスソリューションにAIを統合することが以前よりも簡単になっています。

OpenAI APIを使用したPythonでの探求が終わるにあたり、AIの領域は広範かつ革新の機会に満ちていることが明らかです。経験豊富な開発者であろうと、AIの分野に初めて入る方であろうと、OpenAIが提供するツールは、知的で反応性のあるクリエイティブなアプリケーションを開発するための堅牢なプラットフォームを提供しています。 Open AI APIキーの確保から高度なモデルの機能の実験まで、このガイドで示された手順に従うことで、AIの世界での発見と発明の旅に備えることができます。

ただし、旅の終わりではありません。人工知能の領域は常に進化しており、新しいモデル、機能、アプリケーションが定期的に登場しています。OpenAIコミュニティとの関わりを持ち続け、利用可能なドキュメンテーションやリソースを探索し、さまざまなモデルとそのアプリケーションを実験し続けてください。AIの未来はあなたの手にあり、Open AI APIを使用することでその未来を形成するツールを手に入れることができます。