ai.list_openai_models のソースコード

"""
OpenAIの利用可能なモデル一覧を確認するスクリプト。

このスクリプトは、指定されたOpenAI APIキーを使用して、利用可能なすべてのモデルIDを取得し、表示します。
APIキーは環境変数 'OPENAI_API_KEY' から読み込まれます。

:doc:`list_openai_models_usage`
"""
from openai import OpenAI, AuthenticationError
import os
import sys
# from tkai_lib import read_ai_config


[ドキュメント] def get_api_key() -> str | None: """ OpenAI APIキーを取得します。 環境変数 'OPENAI_API_KEY' からAPIキーを読み込みます。 以前は 'read_ai_config' 関数を使用していた可能性がありますが、現在は環境変数から直接取得します。 :returns: str | None - 環境変数 'OPENAI_API_KEY' の値。設定されていない場合はNone。 """ # read_ai_config("ai.env") return os.getenv("OPENAI_API_KEY")
[ドキュメント] def list_models(api_key: str) -> int: """ 利用可能なOpenAIモデルの一覧を取得し、表示します。 指定されたAPIキーを使用してOpenAIクライアントを初期化し、 利用可能なすべてのモデルのIDをコンソールに出力します。 最終的に出力したモデルの総数を返します。 :param api_key: str - OpenAI APIにアクセスするためのキー。 :returns: int - 利用可能なモデルの総数。 """ client = OpenAI(api_key=api_key) count = 0 for m in client.models.list(): print(f"ID: {m.id}") count += 1 return count
[ドキュメント] def main() -> int: """ スクリプトのメイン処理を実行します。 OpenAI APIキーの取得、利用可能なモデルの一覧表示、および 認証エラーやその他の例外処理を行います。 処理が成功した場合は0を、エラーが発生した場合は1を返します。 :returns: int - 処理の成功を示す0、またはエラーを示す1。 """ print("--- OpenAI 利用可能モデル確認 ---") try: print("ai.env を読み込みます...") api_key = get_api_key() print(f"OPENAI_API_KEY exists = {bool(api_key)}") if not api_key: print("ERROR: OPENAI_API_KEY が設定されていません") print(" ai.env の内容、または read_ai_config() を確認してください") return 1 print("--- 利用可能なモデル一覧を取得します ---") count = list_models(api_key) print(f"--- 完了: {count} 件 ---") return 0 except AuthenticationError as e: print("ERROR: OpenAI API の認証に失敗しました") print(" API KEY が無効、削除済み、または取り違えの可能性があります") print(" 以前に漏洩疑いで無効化されたキーを使っていないか確認してください") print(" 新しい API KEY を発行して ai.env を更新してください") print() print(str(e)) return 1 except Exception as e: print("ERROR: モデル一覧の取得に失敗しました") print(type(e).__name__, e) return 1
if __name__ == "__main__": sys.exit(main())