OpenAI推論サービス

推論タスクを実行するための推論エンドポイントをopenaiサービスで作成します。

リクエスト

PUT /_inference/<task_type>/<inference_id>

パスパラメータ

  • <inference_id>
  • (必須、文字列) 推論エンドポイントの一意の識別子。
  • <task_type>
  • (必須、文字列) モデルが実行する推論タスクのタイプ。
    利用可能なタスクタイプ:
    • completion,
    • text_embedding.

リクエストボディ

  • service
  • (必須、文字列) 指定されたタスクタイプに対してサポートされるサービスのタイプ。この場合、openai
  • service_settings
  • (必須、オブジェクト) 推論モデルをインストールするために使用される設定。
    これらの設定はopenaiサービスに特有です。
    • api_key
    • (必須、文字列) あなたのOpenAIアカウントの有効なAPIキー。あなたのOpenAI APIキーは、OpenAIアカウントのAPIキーセクションで見つけることができます。
      APIキーは推論モデルの作成時に一度だけ提供する必要があります。推論APIを取得するはあなたのAPIキーを取得しません。推論モデルを作成した後、関連付けられたAPIキーを変更することはできません。異なるAPIキーを使用したい場合は、推論モデルを削除し、同じ名前と更新されたAPIキーで再作成してください。
    • model_id
    • (必須、文字列) 推論タスクに使用するモデルの名前。利用可能なテキスト埋め込みモデルのリストについては、OpenAIのドキュメントを参照してください。
    • organization_id
    • (オプション、文字列) あなたの組織の一意の識別子。組織IDは、OpenAIアカウントの設定
      > 組織
      で見つけることができます。
    • url
    • (オプション、文字列) リクエストに使用するURLエンドポイント。テスト目的で変更可能です。デフォルトはhttps://api.openai.com/v1/embeddingsです。
    • rate_limit
    • (オプション、オブジェクト) openaiサービスは、タスクタイプに応じて許可されるリクエストのデフォルト数を設定します。text_embeddingの場合は3000に設定されています。completionの場合は500に設定されています。これにより、OpenAIから返されるレート制限エラーの数を最小限に抑えることができます。これを変更するには、サービス設定内のこのオブジェクトのrequests_per_minute設定を設定します:

テキスト

  1. "rate_limit": {
  2. "requests_per_minute": <<number_of_requests>>
  3. }

OpenAIのレート制限に関する詳細情報は、アカウント制限で確認できます。

  • task_settings
  • (オプション、オブジェクト) 推論タスクを構成するための設定。これらの設定は、指定した<task_type>に特有です。
    1. - `````user
    • (オプション、文字列) リクエストを発行するユーザーを指定します。これは悪用検出に使用できます。
      task_settingstext_embeddingタスクタイプのため
    • user
    • (オプション、文字列) リクエストを発行するユーザーを指定します。これは悪用検出に使用できます。

OpenAIサービスの例

以下の例は、openai-embeddingsという推論エンドポイントを作成してtext_embeddingタスクタイプを実行する方法を示しています。

Python

  1. resp = client.inference.put(
  2. task_type="text_embedding",
  3. inference_id="openai-embeddings",
  4. inference_config={
  5. "service": "openai",
  6. "service_settings": {
  7. "api_key": "<api_key>",
  8. "model_id": "text-embedding-ada-002"
  9. }
  10. },
  11. )
  12. print(resp)

Js

  1. const response = await client.inference.put({
  2. task_type: "text_embedding",
  3. inference_id: "openai-embeddings",
  4. inference_config: {
  5. service: "openai",
  6. service_settings: {
  7. api_key: "<api_key>",
  8. model_id: "text-embedding-ada-002",
  9. },
  10. },
  11. });
  12. console.log(response);

コンソール

  1. PUT _inference/text_embedding/openai-embeddings
  2. {
  3. "service": "openai",
  4. "service_settings": {
  5. "api_key": "<api_key>",
  6. "model_id": "text-embedding-ada-002"
  7. }
  8. }

次の例は、openai-completionという推論エンドポイントを作成してcompletionタスクタイプを実行する方法を示しています。

Python

  1. resp = client.inference.put(
  2. task_type="completion",
  3. inference_id="openai-completion",
  4. inference_config={
  5. "service": "openai",
  6. "service_settings": {
  7. "api_key": "<api_key>",
  8. "model_id": "gpt-3.5-turbo"
  9. }
  10. },
  11. )
  12. print(resp)

Js

  1. const response = await client.inference.put({
  2. task_type: "completion",
  3. inference_id: "openai-completion",
  4. inference_config: {
  5. service: "openai",
  6. service_settings: {
  7. api_key: "<api_key>",
  8. model_id: "gpt-3.5-turbo",
  9. },
  10. },
  11. });
  12. console.log(response);

コンソール

  1. PUT _inference/completion/openai-completion
  2. {
  3. "service": "openai",
  4. "service_settings": {
  5. "api_key": "<api_key>",
  6. "model_id": "gpt-3.5-turbo"
  7. }
  8. }