コンテンツにスキップ

Mairaの設定と会話の要約

設定

Mairaの設定には4つのエンドポイントがあります。

はじめに、Mairaの新しい設定を行うには、POST /v1/gpt/settingsを使用する必要があります。以下は、リクエストボディの例です。:

{
  "bot_mode_strict": false,
  "default_profile": "a0cc6beb-2909-459b-be55-62196af78ce4",
  "default_vision_profile": "a0cc6beb-2909-459b-be55-62196af78ce4",
  "summary_settings": {
    "units": [
      "user_id"
    ],
    "interval": [
      "daily"
    ],
    "prompt": "要約作成のための具体的なルールと指示を定義する",
    "model": "gpt-3.5-turbo-0125",
    "exclude_filters": {
      "gpt_profile_id": [
        "a0cc6beb-2909-459b-be55-62196af78ce4"
      ],
      "conversation_metadata.project_id": [
        "project_id"
      ]
    }
  },
  "max_feedback_rating": 5
}

パラメータについて詳しく説明いたします:

  • bot_mode_strict: このパラメータをTrueに設定すると、GPTはユーザー自身でアップロードしたデータのみに基づいて応答します。Falseに設定すると、より広範な一般知識から応答します。
  • default_profile: プロフィールのチュートリアルでご説明した通り、一つのプロジェクトに対して複数のプロフィールを作成できます。そして、各リクエストでv1/gpt/askに対してprofile_idが渡されます。しかし、profile_idが指定されない場合は、ここで定義されたデフォルトのプロフィールがprofile_idとともに使用されます。
  • default_vision_profile: 上記のパラメータと同様ですが、こちらの設定は/v1/gpt/ask/vision用です。
  • summary_settings: 会話の要約がどのように生成されるかを設定できます。要約に関する詳細は、このチュートリアルの次のセクションで説明します。
    • units: 要約生成の単位を設定できます。上の例では、user_idに設定されています。この設定により、user_idごとに会話の要約を取得できます。会話のいずれかのキーまたはフィールドを単位として利用できます。また、要約生成にはconversation_metadataも使用できます。 会話の詳細(およびキー)は、エンドポイントGET /v1/gpt/conversations/{conversation_id}を使用して取得できます。
    • interval: 要約生成の間隔について、現在サポートされているのはdaily(日次)です。
    • prompt: 要約を生成するためのGPTプロンプト。
      • 例: "以下の会話の要約を日本語で作成してください。要約は自然で直接的なトーンで、氏名は含めないでください。要約はプレーンテキスト形式で、JSONやその他の形式は使用しないでください。"
    • model: 要約生成に使用するモデルの正式名称。以下利用可能な値。 gpt-3.5-turbo-0125, gpt-3.5-turbo-0613, gpt-3.5-turbo-instruct, gpt-3.5-turbo-16k-0613, gpt-3.5-turbo-1106, gpt-4-0613, gpt-4-1106-preview, gpt-4-0125-preview, gpt-4-turbo-2024-04-09, gpt-4o-2024-05-13, gpt-4-vision-preview, gpt-4o-mini, gpt-4o-mini-2024-07-18, gpt-4o-2024-08-06
    • exclude_filters: conversation_metadataやデータセットのキーを追加することで、それらを生成される要約から除外できます。 max_feedback_rating: 会話や応答に対するフィードバックを、エンドポイント /v1/gpt/conversations/ を通じて送信できます。このパラメータでは、最高評価を決定します。最小値は1です。

次のエンドポイントを使用して、設定を閲覧、更新、削除できます。:

  • GET /v1/gpt/settings - 現在の設定を取得します。
  • PUT /v1/gpt/settings - 設定を変更します。
  • DELETE /v1/gpt/settings - 設定を削除します。

要約

Mairaは、日付ごとに"会話"のカスタマイズされた要約レポートを生成することができます。

要約を管理するためのエンドポイントは2つあります。:

  1. POST /v1/gpt/summaries/generate - 特定の日付の会話に対する要約レポートを生成します。
  2. POST /v1/gpt/summaries/list - 過去に生成された要約の一覧を取得します。

summary_settingsがGPT設定の一部としてプロジェクトに設定されていない場合、要約を生成することはできません。この内容については、このチュートリアルの前のセクションで説明しています。

summary_settingsが設定されると、要約は自動的に毎日バッチ処理として生成されます。バッチ処理は翌日の午前1時に実行されます。例として、7月1日の会話の要約は7月2日の午前1時に生成されます。

特定の日付の要約をマニュアルで生成するために、POST /v1/gpt/summaries/generateを使用することもできます。リクエストボディには日付のみ必要です。:

{
  "date": "2024-04-09"
}

上記のエンドポイントを使用して、マニュアルで要約を生成する理由としては以下のようなものがあります。:

  • 日次バッチ処理の前に、今日の要約を生成したい場合。
  • 過去の会話履歴に変更があり、要約を再生成したい場合。

この処理はバックグラウンドジョブであることに留意してください。このAPIの応答としてtask_idが提供され、それを使ってGET /v1/tasks/{task_id}エンドポイントでタスクの状態がsuccessful/pending/failedかを確認できます。

要約生成が完了したら、POST /v1/gpt/summaries/listを使用して要約の一覧を取得できます。

以下はリクエストボディの一例です:

Example Value
Schema
{
  "start_date": "2024-04-09",
  "end_date": "2024-04-09",
  "start": 0,
  "size": 10,
  "filters": {
    "user_id": [
      "user_1",
      "user_2"
    ],
    "project_id": [
      "project_1",
      "project_2"
    ]
  }
}

パラメータについて詳しく説明いたします。

  • start_date: (Str) - 要約を取得したい期間の開始日です。形式:年-月-日(例:2024-12-31)
  • end_date: (Str) - 要約を取得したい期間の終了日です。指定がない場合はデフォルトで本日の日付が使用されます。形式:年-月-日(例:2024-12-31)
  • start: (int) - 要約ドキュメントの開始インデックス。入力は任意で、デフォルトは0です。
  • size: (int) - 応答されるリストの長さ。入力は任意で、デフォルトは10です。
  • Filters: 要約をフィルタリングしたい場合、方法を指定できます。ここで使用できる単位は、上記のsummary_settingsで"units" として追加したものです。