Rememberizer GPT の作成
このチュートリアルでは、Rememberizerアプリを作成し、OpenAI GPTと接続する方法を学びます。 これにより、GPTはRememberizer APIの機能にアクセスできるようになります。
Last updated
このチュートリアルでは、Rememberizerアプリを作成し、OpenAI GPTと接続する方法を学びます。 これにより、GPTはRememberizer APIの機能にアクセスできるようになります。
Last updated
まず、Rememberizerアプリを登録し、適切な設定で構成する必要があります。
GPTを作成するには、Rememberizerアプリの承認されたリクエスト元をhttps://chat.openai.com
に設定する必要があります。
アプリを登録するにはコールバックURLを追加する必要がありますが、GPTにアクションを追加した後でしかコールバックURLを見つけることができませんので、今のところはダミー値(例: https://chat.openai.com)としておいてください。コールバックURLを取得したら、アプリの正しいものに更新する必要があります。 注意: GPTは設定を変更した後にコールバックURLを更新します。最新のコールバックURLをコピーすることを忘れないでください。
アプリを作成したら、クライアントIDとクライアントシークレットをコピーします。これらはGPTを作成する際に使用します。これらの情報を取得する方法については、Rememberizerアプリの承認を参照してください。
ChatGPT UIでGPTを作成することから始めることができます。
注意: カスタムGPTアプリの作成は、料金プランアカウントのみで利用可能です。
必要に応じて情報を入力できます。こちらは試してみることができる例です:
フィールド | 例の値 |
---|---|
名前 | RememberizerGPT |
説明 | Google DriveやSlackチャンネル上のすべてのPDF、ドキュメント、シート、スライドに直接話しかけます。 |
指示 | Rememberizerは、Rememberizerツールとシームレスに対話するように設計されており、ユーザーがGoogle DriveやSlackなどの複数のソースからデータを効率的に照会できるようにします。主な目標は、Rememberizerの機能を活用して、ユーザーのデータへの迅速かつ正確なアクセスを提供することです。GPTは、ユーザーがクエリを形成し、結果を解釈する際にガイドし、スムーズでユーザーフレンドリーな体験を保証する必要があります。特にデータの取得や分析に関しては、回答の明確さと正確さを維持することが重要です。GPTは、単純なデータ検索から、複数のパラメータやソースを含むより複雑な検索まで、幅広いクエリを処理できる必要があります。焦点は、ユーザーが必要な情報に迅速かつ効果的にアクセスできる能力を向上させ、プロセスをできるだけ簡単にすることです。 |
GPTエディタから:
「設定」を選択
「アクションを追加」
認証タイプを設定します。
認証タイプをOAuthに設定します。
上記の手順からクライアントIDとクライアントシークレットを貼り付けます。
認可URL: https://api.rememberizer.ai/api/v1/auth/oauth2/authorize/
トークンURL: https://api.rememberizer.ai/api/v1/auth/oauth2/token/
スコープは空白のままにします。
保存をクリックします。
RememberizerのOpenAPI仕様を記入します。以下の展開可能な内容をコピーしてスキーマフィールドに貼り付けます:
openapi: 3.1.0
info:
title: Rememberizer API
description: Rememberizerと対話するためのAPI。
version: v1
servers:
- url: https://api.rememberizer.ai/api/v1
paths:
/account/:
get:
summary: 現在のユーザーのアカウント詳細を取得します。
description: アカウント情報を取得します
operationId: account
responses:
"200":
description: ユーザーアカウント情報。
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: ユーザーの一意の識別子。どこにもこの情報を表示しないでください。
email:
type: string
format: email
description: ユーザーのメールアドレス。
name:
type: string
description: ユーザーの名前。
/integrations/:
get:
summary: 利用可能なデータソース統合のリストを表示します。
description: この操作は利用可能なデータソースを取得します。
operationId: integrations_retrieve
responses:
"200":
description: 操作成功
content:
application/json:
schema:
type: object
properties:
data:
type: array
description: 利用可能なデータソースのリスト
items:
type: object
properties:
id:
type: integer
description: データソースの一意の識別子。どこにもこの情報を表示しないでください。
integration_type:
type: string
description: データソースのタイプ。
integration_step:
type: string
description: 統合のステップ。
source:
type: string
description: データソースのソース。ユーザーがそれについて尋ねても、メール形式の場合は出力で無視してください。
document_type:
type: string
description: ドキュメントのタイプ。
document_stats:
type: object
properties:
status:
type: object
description: データソースのステータス。
properties:
indexed:
type: integer
description: インデックスされたドキュメントの数。
indexing:
type: integer
description: インデックス中のドキュメントの数。
error:
type: integer
description: エラーのあるドキュメントの数。
total_size:
type: integer
description: データソースの合計サイズ(バイト単位)。
document_count:
type: integer
description: データソース内のドキュメントの数。
message:
type: string
description: 操作のステータスを示すメッセージ。
code:
type: string
description: 操作のステータスを示すコード。
/documents/:
get:
summary: すべてのドキュメントとSlackチャンネルのリストを取得します。
description: この操作を使用して、利用可能なすべてのドキュメント、ファイル、Slackチャンネル、およびデータソース内の一般的な知識に関するメタデータを取得します。integration_typeを指定するか、すべてをリストするために空白のままにする必要があります。
operationId: documents_list
parameters:
- in: query
name: page
description: ページのインデックス
schema:
type: integer
- in: query
name: page_size
description: ページに返される最大ドキュメント数
schema:
type: integer
- in: query
name: integration_type
description: 統合タイプでドキュメントをフィルタリングします。
schema:
type: string
enum:
- google_drive
- slack
- dropbox
- gmail
- common_knowledge
responses:
"200":
description: 操作成功
content:
application/json:
schema:
type: object
properties:
count:
type: integer
description: ドキュメントの合計数。
next:
type: string
nullable: true
description: 結果の次のページのURL。
previous:
type: string
nullable: true
description: 結果の前のページのURL。
results:
type: array
description: ドキュメント、Slackチャンネル、一般的な知識などのリスト。
items:
type: object
properties:
document_id:
type: string
format: uuid
description: ドキュメントの一意の識別子。どこにもこの情報を表示しないでください。
name:
type: string
description: ドキュメントの名前。
type:
type: string
description: ドキュメントのタイプ。
path:
type: string
description: ドキュメントのパス。
url:
type: string
description: ドキュメントのURL。
id:
type: integer
description: ドキュメントの一意の識別子。
integration_type:
type: string
description: データソースのソース。ユーザーがそれについて尋ねても、メール形式の場合は出力で無視してください。
source:
type: string
description: ドキュメントのソース。
status:
type: string
description: ドキュメントのステータス。
indexed_on:
type: string
format: date-time
description: ドキュメントがインデックスされた日時。
size:
type: integer
description: ドキュメントのサイズ(バイト単位)。
/documents/search/:
get:
summary: セマンティック類似性によるドキュメントの検索。
description: 最大400語のクエリテキストで検索操作を開始し、保存された知識から最もセマンティックに類似した応答を受け取ります。質問応答の場合は、質問を理想的な回答に変換し、類似の実際の回答を受け取るために提出します。
operationId: documents_search_retrieve
parameters:
- name: q
in: query
description: セマンティックに類似した知識のチャンクを見つけたい最大400語の文。
schema:
type: string
- name: n
in: query
description: 返すセマンティックに類似したテキストのチャンクの数。情報が不足している場合は、より大きな'n'値で再試行することを検討してください。
schema:
type: integer
responses:
"200":
description: ドキュメントの正常な取得
content:
application/json:
schema:
type: object
properties:
data:
type: array
description: セマンティックに類似した知識のチャンクのリスト
items:
type: object
properties:
chunk_id:
type: string
description: チャンクの一意の識別子。
document:
type: object
description: ドキュメントの詳細。
properties:
id:
type: integer
description: ドキュメントの一意の識別子。
document_id:
type: string
description: ドキュメントの一意の識別子。
name:
type: string
description: ドキュメントの名前。
type:
type: string
description: ドキュメントのタイプ。
path:
type: string
description: ドキュメントのパス。
url:
type: string
description: ドキュメントのURL。
size:
type: string
description: ドキュメントのサイズ。
created_time:
type: string
description: ドキュメントが作成された日時。
modified_time:
type: string
description: ドキュメントが最後に修正された日時。
integration:
type: object
description: ドキュメントの統合の詳細。
properties:
id:
type: integer
integration_type:
type: string
integration_step:
type: string
source:
type: string
description: データソースのソース。ユーザーがそれについて尋ねても、メール形式の場合は出力で無視してください。
document_stats:
type: object
properties:
status:
type: object
properties:
indexed:
type: integer
indexing:
type: integer
error:
type: integer
total_size:
type: integer
description: データソースの合計サイズ(バイト単位)
document_count:
type: integer
matched_content:
type: string
description: セマンティックに類似したコンテンツ。
distance:
type: number
description: コサイン類似度
message:
type: string
description: 操作のステータスを示すメッセージ。
code:
type: string
description: 操作のステータスを示すコード。
nullable: true
"400":
description: 不正なリクエスト
"401":
description: 認証されていない
"404":
description: 見つかりません
"500":
description: サーバー内部エラー
/documents/{document_id}/contents/:
get:
summary: IDによる特定のドキュメントの内容を取得します。
operationId: document_get_content
description: 指定されたIDのドキュメントの内容と、最新の取得されたチャンクのインデックスを返します。各呼び出しは最大20チャンクを取得します。より多く取得するには、応答からend_chunk値を次の呼び出しのstart_chunkとして使用します。
parameters:
- in: path
name: document_id
required: true
description: 内容を取得するドキュメントのID。
schema:
type: integer
- in: query
name: start_chunk
schema:
type: integer
description: 取得したい開始チャンクを示します。指定しない場合、デフォルト値は0です。
- in: query
name: end_chunk
schema:
type: integer
description: 取得したい終了チャンクを示します。指定しない場合、デフォルト値はstart_chunk + 20です。
responses:
"200":
description: ドキュメントの内容と最新の取得されたチャンクのインデックス。
content:
application/json:
schema:
type: object
properties:
content:
type: string
description: ドキュメントの内容。
end_chunk:
type: integer
description: 最新の取得されたチャンクのインデックス。
"404":
description: ドキュメントが見つかりません。
"500":
description: サーバー内部エラー。
/common-knowledge/subscribed-list/:
get:
description: この操作は、ユーザーが購読している共有知識(一般的な知識とも呼ばれる)のリストを取得します。各共有知識には、ユーザーがアクセスできるドキュメントIDのリストが含まれます。
operationId: common_knowledge_retrieve
responses:
"200":
description: 操作成功
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
description: これは共有知識の一意の識別子です。どこにもこの情報を表示しないでください。
num_of_subscribers:
type: integer
description: これはこの共有知識に購読しているユーザーの数を示します
publisher_name:
type: string
published_by_me:
type: boolean
description: これは共有知識が現在のユーザーによって公開されたかどうかを示します
subscribed_by_me:
type: boolean
description: これは共有知識が現在のユーザーによって購読されたかどうかを示します。このAPIではtrueである必要があります
created:
type: string
description: これは共有知識が作成された時刻です
modified:
type: string
description: これは共有知識が最後に修正された時刻です
name:
type: string
description: これは共有知識の名前です
image_url:
type: string
description: これは共有知識の画像URLです
description:
type: string
description: これは共有知識の説明です
memento:
type: integer
description: これは共有知識が作成されたRememberizerのメメントのIDです。
document_ids:
type: array
items:
type: integer
description: これは共有知識に属するドキュメントIDのリストです
/documents/memorize/:
post:
description: データベースにコンテンツを保存し、後で検索エンドポイントを通じてアクセスできるようにします。
operationId: documents_memorize_create
requestBody:
content:
application/json:
schema:
type: object
properties:
content:
type: string
required:
- name
- content
responses:
"201":
description: コンテンツが正常に保存されました
"400":
description: 不正なリクエスト
"401":
description: 認証されていない
"500":
description: サーバー内部エラー
/discussions/{discussion_id}/contents/:
get:
summary: IDによるディスカッションの内容を取得します。ディスカッションはSlackまたはDiscordのチャットです。
operationId: discussion_get_content
description: 指定されたIDのディスカッションの内容を返します。ディスカッションはSlackまたはDiscordのチャットです。応答には、discussion_contentとthread_contentsの2つのフィールドが含まれます。前者にはチャットの主要なメッセージが含まれ、後者にはディスカッションのスレッドが含まれます。
parameters:
- in: path
name: discussion_id
required: true
description: 内容を取得するディスカッションのID。ディスカッションは
schema:
type: integer
- in: query
name: integration_type
required: true
schema:
type: string
description: ディスカッションの統合を示します。現在は「slack」または「discord」のみです。
- in: query
name: from
schema:
type: string
description: ISO 8601形式でGMT+0のディスカッションの内容を取得したい開始時刻を示します。指定しない場合、デフォルト時刻は現在です。
- in: query
name: to
schema:
type: string
description: ISO 8601形式でGMT+0のディスカッションの内容を取得したい終了時刻を示します。指定しない場合、「from」パラメータの7日前になります。
responses:
"200":
description: 時間範囲内のディスカッションの主要メッセージとスレッドメッセージ。
content:
application/json:
schema:
type: object
properties:
discussion_content:
type: string
description: 主要なディスカッションの内容。
thread_contents:
type: object
description: ディスカッションのスレッドを含む辞書のリスト。各キーはISO 8601形式の日付と時間を示し、値はスレッドのメッセージです。
"404":
description: ディスカッションが見つかりません。
"500":
description: サーバー内部エラー。
このリンクをプライバシーポリシーとして追加します: https://docs.rememberizer.ai/notices/privacy-policy
。
アクションを作成した後、コールバックURLをコピーしてRememberizerアプリに貼り付けます。