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です。
- units: 要約生成の単位を設定できます。上の例では、
次のエンドポイントを使用して、設定を閲覧、更新、削除できます。:
GET /v1/gpt/settings
- 現在の設定を取得します。PUT /v1/gpt/settings
- 設定を変更します。DELETE /v1/gpt/settings
- 設定を削除します。
要約
Mairaは、日付ごとに"会話"のカスタマイズされた要約レポートを生成することができます。
要約を管理するためのエンドポイントは2つあります。:
POST /v1/gpt/summaries/generate
- 特定の日付の会話に対する要約レポートを生成します。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" として追加したものです。