Skip to content

ClasCat® AI Research

クラスキャット – 生成 AI, AI エージェント, MCP

Menu
  • ホーム
    • ClassCat® AI Research ホーム
    • クラスキャット・ホーム
  • OpenAI API
    • OpenAI Python ライブラリ 1.x : 概要
    • OpenAI ブログ
      • GPT の紹介
      • GPT ストアの紹介
      • ChatGPT Team の紹介
    • OpenAI platform 1.x
      • Get Started : イントロダクション
      • Get Started : クイックスタート (Python)
      • Get Started : クイックスタート (Node.js)
      • Get Started : モデル
      • 機能 : 埋め込み
      • 機能 : 埋め込み (ユースケース)
      • ChatGPT : アクション – イントロダクション
      • ChatGPT : アクション – Getting started
      • ChatGPT : アクション – アクション認証
    • OpenAI ヘルプ : ChatGPT
      • ChatGPTとは何ですか?
      • ChatGPT は真実を語っていますか?
      • GPT の作成
      • GPT FAQ
      • GPT vs アシスタント
      • GPT ビルダー
    • OpenAI ヘルプ : ChatGPT > メモリ
      • FAQ
    • OpenAI ヘルプ : GPT ストア
      • 貴方の GPT をフィーチャーする
    • OpenAI Python ライブラリ 0.27 : 概要
    • OpenAI platform
      • Get Started : イントロダクション
      • Get Started : クイックスタート
      • Get Started : モデル
      • ガイド : GPT モデル
      • ガイド : 画像生成 (DALL·E)
      • ガイド : GPT-3.5 Turbo 対応 微調整
      • ガイド : 微調整 1.イントロダクション
      • ガイド : 微調整 2. データセットの準備 / ケーススタディ
      • ガイド : 埋め込み
      • ガイド : 音声テキスト変換
      • ガイド : モデレーション
      • ChatGPT プラグイン : イントロダクション
    • OpenAI Cookbook
      • 概要
      • API 使用方法 : レート制限の操作
      • API 使用方法 : tiktoken でトークンを数える方法
      • GPT : ChatGPT モデルへの入力をフォーマットする方法
      • GPT : 補完をストリームする方法
      • GPT : 大規模言語モデルを扱う方法
      • 埋め込み : 埋め込みの取得
      • GPT-3 の微調整 : 分類サンプルの微調整
      • DALL-E : DALL·E で 画像を生成して編集する方法
      • DALL·E と Segment Anything で動的マスクを作成する方法
      • Whisper プロンプティング・ガイド
  • Gemini API
    • Tutorials : クイックスタート with Python (1) テキスト-to-テキスト生成
    • (2) マルチモーダル入力 / 日本語チャット
    • (3) 埋め込みの使用
    • (4) 高度なユースケース
    • クイックスタート with Node.js
    • クイックスタート with Dart or Flutter (1) 日本語動作確認
    • Gemma
      • 概要 (README)
      • Tutorials : サンプリング
      • Tutorials : KerasNLP による Getting Started
  • Keras 3
    • 新しいマルチバックエンド Keras
    • Keras 3 について
    • Getting Started : エンジニアのための Keras 入門
    • Google Colab 上のインストールと Stable Diffusion デモ
    • コンピュータビジョン – ゼロからの画像分類
    • コンピュータビジョン – 単純な MNIST convnet
    • コンピュータビジョン – EfficientNet を使用した微調整による画像分類
    • コンピュータビジョン – Vision Transformer による画像分類
    • コンピュータビジョン – 最新の MLPモデルによる画像分類
    • コンピュータビジョン – コンパクトな畳込み Transformer
    • Keras Core
      • Keras Core 0.1
        • 新しいマルチバックエンド Keras (README)
        • Keras for TensorFlow, JAX, & PyTorch
        • 開発者ガイド : Getting started with Keras Core
        • 開発者ガイド : 関数型 API
        • 開発者ガイド : シーケンシャル・モデル
        • 開発者ガイド : サブクラス化で新しい層とモデルを作成する
        • 開発者ガイド : 独自のコールバックを書く
      • Keras Core 0.1.1 & 0.1.2 : リリースノート
      • 開発者ガイド
      • Code examples
      • Keras Stable Diffusion
        • 概要
        • 基本的な使い方 (テキスト-to-画像 / 画像-to-画像変換)
        • 混合精度のパフォーマンス
        • インペインティングの簡易アプリケーション
        • (参考) KerasCV – Stable Diffusion を使用した高性能画像生成
  • TensorFlow
    • TF 2 : 初級チュートリアル
    • TF 2 : 上級チュートリアル
    • TF 2 : ガイド
    • TF 1 : チュートリアル
    • TF 1 : ガイド
  • その他
    • 🦜️🔗 LangChain ドキュメント / ユースケース
    • Stable Diffusion WebUI
      • Google Colab で Stable Diffusion WebUI 入門
      • HuggingFace モデル / VAE の導入
      • LoRA の利用
    • Diffusion Models / 拡散モデル
  • クラスキャット
    • 会社案内
    • お問合せ
    • Facebook
    • ClassCat® Blog
Menu

OpenAI Python ライブラリ 0.27 : 概要

Posted on 07/19/202307/19/2023 by Sales Information

OpenAI Python 0.27 : 概要 (翻訳/解説)

翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 07/18/2023 (v0.27.8)

* 本ページは、OpenAI Python Library レポジトリの以下のドキュメントを翻訳した上で適宜、補足説明したものです:

  • openai/openai-python/README.md

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

クラスキャット 人工知能 研究開発支援サービス

◆ クラスキャット は人工知能・テレワークに関する各種サービスを提供しています。お気軽にご相談ください :

  • 人工知能研究開発支援
    1. 人工知能研修サービス(経営者層向けオンサイト研修)
    2. テクニカルコンサルティングサービス
    3. 実証実験(プロトタイプ構築)
    4. アプリケーションへの実装

  • 人工知能研修サービス

  • PoC(概念実証)を失敗させないための支援
◆ 人工知能とビジネスをテーマに WEB セミナーを定期的に開催しています。スケジュール。
  • お住まいの地域に関係なく Web ブラウザからご参加頂けます。事前登録 が必要ですのでご注意ください。

◆ お問合せ : 本件に関するお問い合わせ先は下記までお願いいたします。

  • 株式会社クラスキャット セールス・マーケティング本部 セールス・インフォメーション
  • sales-info@classcat.com  ;  Web: www.classcat.com  ;   ClassCatJP

 

OpenAI Python ライブラリ 0.27 : 概要

OpenAI Python ライブラリは Python 言語で書かれたアプリケーションから OpenAI API への便利なアクセスを提供します。それは API レスポンスから動的に自身を初期化する API リソース用の事前定義されたクラスのセットを含み、これは OpenAI API の広範囲なバージョンと互換性があるようにします。

API リファレンス と OpenAI クックブック で OpenAI Python ライブラリ用の使用例を見つけることができます。

 

インストール

パッケージを変更することを望まない限りは、このソースコードは必要ありません。パッケージを利用したいだけなら、以下を実行すれば良いです :

pip install --upgrade openai

以下でソースからインストールできます :

python setup.py install

 

オプションの依存関係

openai.embeddings_utils 用の依存関係をインストールします :

pip install openai[embeddings]

Weights & Biases (重みとバイアス) 用のサポートをインストールします :

pip install openai[wandb]

numpy と pandas のようなデータ・ライブラリはそのサイズ故にデフォルトではインストールされません。それらはこのライブラリの一部の機能のために必要ですが、API との対話のためには通常は必要ありません。MissingDependencyError に遭遇した場合は、それらを以下でインストールしてください :

pip install openai[datalib]

 

使用方法

ライブラリは、この Web サイト で利用可能な貴方のアカウントのシークレットキーで設定される必要があります。ライブラリを使用する前に OPENAI_API_KEY 環境変数としてそれを設定するか :

export OPENAI_API_KEY='sk-...'

あるいは openai.api_key をその値に設定します :

import openai
openai.api_key = "sk-..."

# list models
models = openai.Model.list()

# print the first model's id
print(models.data[0].id)

# create a chat completion
chat_completion = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hello world"}])

# print the chat completion
print(chat_completion.choices[0].message.content)

 

パラメータ

すべてのエンドポイントは .create メソッドを持ち、これは request_timeout パラメータをサポートしています。このパラメータは Union[float, Tuple[float, float]] を取り、リクエストが秒単位のその時間を過ぎれば openai.error.Timeout エラーを上げます (https://requests.readthedocs.io/en/latest/user/quickstart/#timeouts 参照)。

 

Microsoft Azure エンドポイント

このライブラリを Microsoft Azure エンドポイントで使用するためには、api_key に加えて api_type, api_base と api_version を設定する必要があります。api_type は ‘azure’ に設定する必要があり、それ以外は貴方のエンドポイントのプロパティに対応しています。更に、配備名をエンジンパラメータとして渡されなければなりません。

import openai
openai.api_type = "azure"
openai.api_key = "..."
openai.api_base = "https://example-endpoint.openai.azure.com"
openai.api_version = "2023-05-15"

# create a chat completion
chat_completion = openai.ChatCompletion.create(deployment_id="deployment-name", model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hello world"}])

# print the completion
print(completion.choices[0].message.content)

今のところ、Microsoft Azure エンドポイントは completion, embedding と fine-tuning 操作のためだけに使用できることに注意してください。Azure エンドポイントを使用して fine-tuning や他の操作を使用する方法の詳細例については、以下の Jupyter ノートブックを確認してください :

  • Using Azure completions
  • Using Azure fine-tuning (訳注: リンク切れ)
  • Using Azure embeddings

 

Microsoft Azure Active Directory 認証

Microsoft Active Directory を使用して貴方の Azure エンドポイントに認証するためには、api_type を “azure_ad” に設定して取得したクレデンシャルトークンを api_key に渡す必要があります。残りのパラメータは前のセクションで指定されたように設定する必要があります。

from azure.identity import DefaultAzureCredential
import openai

# Request credential
default_credential = DefaultAzureCredential()
token = default_credential.get_token("https://cognitiveservices.azure.com/.default")

# Setup parameters
openai.api_type = "azure_ad"
openai.api_key = token.token
openai.api_base = "https://example-endpoint.openai.azure.com/"
openai.api_version = "2023-05-15"

# ...

 

コマンドライン・インターフェイス

ライブラリは更に openai コマンドライン・ユティリティも提供しています、これは端末から API を操作することを簡単にします。使用方法については “openai api -h” を実行してください。

# list models
openai api models.list

# create a chat completion (gpt-3.5-turbo, gpt-4, etc.)
openai api chat_completions.create -m gpt-3.5-turbo -g user "Hello world"

# create a completion (text-davinci-003, text-davinci-002, ada, babbage, curie, davinci, etc.)
openai api completions.create -m ada -p "Hello world"

# generate images via DALL·E API
openai api image.create -p "two dogs playing chess, cartoon" -n 1

# using openai through a proxy
openai --proxy=http://proxy.com api models.list

 

サンプルコード

様々なタスクを達成するためにこの Python ライブラリを使用する方法のサンプルは OpenAI クックブック で見つかります。それは以下のためのコードサンプルを含みます :

  • 微調整を使用した分類
  • クラスタリング
  • コード検索
  • 埋め込みのカスタマイズ
  • 文書のコーパスからの質問応答
  • リコメンデーション
  • 埋め込みの可視化
  • その他

Prior to July 2022, this OpenAI Python library hosted code examples in its examples folder, but since then all examples have been migrated to the OpenAI Cookbook.

 

チャット Completions (完成, 完了)

gpt-3.5-turbo のような会話モデルは chat completions エンドポイントを使用して呼び出すことができます。

import openai
openai.api_key = "sk-..."  # supply your API key however you choose

completion = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hello world"}])
print(completion.choices[0].message.content)

 

Completions

text-davinci-003, text-davinci-002 そしてそれ以前 (ada, babbage, curie, davinci, 等) のようなテキストモデルは completions エンドポイントを使用して呼び出すことができます。

import openai
openai.api_key = "sk-..."  # supply your API key however you choose

completion = openai.Completion.create(model="text-davinci-003", prompt="Hello world")
print(completion.choices[0].text)

 

埋め込み

OpenAI Python ライブラリでは、埋め込みはテキスト文字列を浮動小数点の固定長ベクトルとして表現します。埋め込みはテキスト文字列間の類似性や関連性を測定するために設計されています。

テキスト文字列の埋め込みを取得するには、Python で以下のように embeddings メソッドを使用できます :

import openai
openai.api_key = "sk-..."  # supply your API key however you choose

# choose text to embed
text_string = "sample text"

# choose an embedding
model_id = "text-similarity-davinci-001"

# compute the embedding of the text
embedding = openai.Embedding.create(input=text_string, model=model_id)['data'][0]['embedding']

embeddings メソッドを呼び出す方法の例はこの get embeddings ノートブック で示されます。

埋め込みの使い方の例は以下の Jupyter ノートブックで共有されています :

  • 埋め込みを使用した分類
  • 埋め込みを使用したクラスタリング
  • 埋め込みを使用したコード検索
  • 埋め込みを使用した意味的テキスト検索
  • User and product embeddings
  • 埋め込みを使用したゼロショット分類
  • 埋め込みを使用したリコメンデーション

埋め込みの詳細情報や OpenAI が提供する埋め込みのタイプについては、OpenAI ドキュメントの 埋め込みガイド を読んでください。

 

微調整

訓練データ上のモデルの微調整は (モデルに学習するより多くのサンプルを与えることにより) 結果を改善し、API 呼び出しのコスト/遅延を削減することができます (主としてプロンプトに訓練サンプルを含める必要性を削減することによります)。

微調整の例は以下の Jupyter ノートブックで共有されています :

  • 微調整による分類 (微調整のために必要なステップを示す単純なノートブック)
  • 2020 年オリンピックについて質問に答えるモデルを微調整する
    • ステップ 1: データの収集
    • ステップ 2: 合成 Q&A データセットの作成
    • ステップ 3: Q&A に特化した微調整モデルの訓練

実験、モデルとデータセットを中央のダッシュボードで追跡するために微調整を Weights & Biases に以下で同期します :

openai wandb sync

微調整の詳細は、OpenAI ドキュメントの 微調整ガイド を読んでください。

 

モデレーション

OpenAI はモデレーション・エンドポイントを提供しています、これはコンテンツが OpenAI コンテンツ・ポリシー に従っているかをチェックするために使用できます。

import openai
openai.api_key = "sk-..."  # supply your API key however you choose

moderation_resp = openai.Moderation.create(input="Here is some perfectly innocuous text that follows all OpenAI content policies.")

詳細は モデレーションガイド をご覧ください。

 

画像生成 (DALL·E)

import openai
openai.api_key = "sk-..."  # supply your API key however you choose

image_resp = openai.Image.create(prompt="two dogs playing chess, oil painting", n=4, size="512x512")

 

音声文字起こし (Whisper)

import openai
openai.api_key = "sk-..."  # supply your API key however you choose
f = open("path/to/file.mp3", "rb")
transcript = openai.Audio.transcribe("whisper-1", f)

 

非同期 API

非同期サポートは、ネットワーク bound メソッドの先頭に ‘a’ を付けることで API で利用可能です :

import openai
openai.api_key = "sk-..."  # supply your API key however you choose

async def create_chat_completion():
    chat_completion_resp = await openai.ChatCompletion.acreate(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hello world"}])

非同期リクエストをより効率的にするため、貴方自身の aiohttp.ClientSession を渡すことができますが、プログラム/イベント・ループの最後にクライアントセッションを手動でクローズしなければなりません :

import openai
from aiohttp import ClientSession

openai.aiosession.set(ClientSession())
# At the end of your program, close the http session
await openai.aiosession.get().close()

詳細は usage ガイド をご覧ください。

 

要件

  • Python 3.7.1+

一般に、私たちはカスタマーが使用しているう Python のバージョンをサポートすることを望みます。バージョンに伴う問題に直面した場合は サポートページ で知らせてください。

 

以上



クラスキャット

最近の投稿

  • LangGraph on Colab : マルチエージェント・スーパーバイザー
  • LangGraph on Colab : エージェント型 RAG
  • LangGraph : 例題 : エージェント型 RAG
  • LangGraph Platform : Get started : クイックスタート
  • LangGraph Platform : 概要

タグ

AutoGen (13) ClassCat Press Release (20) ClassCat TF/ONNX Hub (11) DGL 0.5 (14) Eager Execution (7) Edward (17) FLUX.1 (16) Gemini (20) HuggingFace Transformers 4.5 (10) HuggingFace Transformers 4.6 (7) HuggingFace Transformers 4.29 (9) Keras 2 Examples (98) Keras 2 Guide (16) Keras 3 (10) Keras Release Note (17) Kubeflow 1.0 (10) LangChain (45) LangGraph (23) MediaPipe 0.8 (11) Model Context Protocol (16) NNI 1.5 (16) OpenAI Agents SDK (8) OpenAI Cookbook (13) OpenAI platform (10) OpenAI platform 1.x (10) OpenAI ヘルプ (8) TensorFlow 2.0 Advanced Tutorials (33) TensorFlow 2.0 Advanced Tutorials (Alpha) (15) TensorFlow 2.0 Advanced Tutorials (Beta) (16) TensorFlow 2.0 Guide (10) TensorFlow 2.0 Guide (Alpha) (16) TensorFlow 2.0 Guide (Beta) (9) TensorFlow 2.0 Release Note (12) TensorFlow 2.0 Tutorials (20) TensorFlow 2.0 Tutorials (Alpha) (14) TensorFlow 2.0 Tutorials (Beta) (12) TensorFlow 2.4 Guide (24) TensorFlow Deploy (8) TensorFlow Get Started (7) TensorFlow Graphics (7) TensorFlow Probability (9) TensorFlow Programmer's Guide (22) TensorFlow Release Note (18) TensorFlow Tutorials (33) TF-Agents 0.4 (11)
2023年7月
月 火 水 木 金 土 日
 12
3456789
10111213141516
17181920212223
24252627282930
31  
« 6月   8月 »
© 2025 ClasCat® AI Research | Powered by Minimalist Blog WordPress Theme