Kuroco RAGの設定方法
概要
Kuroco RAGは、外部ソースから取得した情報を使用して生成AIモデルの精度と信頼性を向上させるサービスです。
このドキュメントではKuroco RAGで何ができるかを理解することを目的に、Kurocoに保存したコンテンツ情報を参照して回答を生成するGPTの作成をします。
説明はKurocoのアカウントを使用して進めますので、Kurocoアカウントを持っていない場合は無料トライアルからアカウント登録してください。
Kuroco RAGのご利用を希望する場合は以下からお問い合わせください。
学べること
以下の手順でKurocoに保存したコンテンツ情報を参照して回答を生成する独自のGPTを作成します。
前提条件
以下のアカウントが必要になりますので、持っていない場合はアカウントを作成してください。
Kurocoアカウント:有効なKurocoアカウントを取得している必要があります。まだアカウントをお持ちでない場合は、無料トライアルからアカウント登録してください。
ChatGPT Plus、Team、またはEnterpriseプラン:GPTs(独自にカスタマイズしたChatGPTの機能)を利用するには、ChatGPT Plus、ChatGPT Team、またはChatGPT Enterpriseプランのいずれかを取得している必要があります。
持っていない場合はアップグレードをご検討ください。
Kurocoの設定
OpenAIを有効にする
[外部システム連携] -> [OpenAI]をクリックします。
「有効にする」にチェックを入れて、[更新する]をクリックする。
今回はKurocoの持つAPI keyを利用する為、API keyの項目は空欄で構いません。
コンテンツを登録する
ChatGPTに参照させるコンテンツをKurocoに登録します。
登録した内容は独自にカスタマイズしたChatGPTのみがAPIを通して取得でき、その他の外部からは参照できないように設定していきます。
コンテンツ定義を追加する
コンテンツ定義一覧の画面から[追加]をクリックします。
以下の内容で設定をします。
全般
項目 | 設定 |
---|---|
名前 | RAGデモ |
項目設定
項目 | Slug | 項目名 | 項目設定 |
---|---|---|---|
ext_1 | なし | WYSIWYG | WYSIWYG |
検索設定
項目 | 設定 |
---|---|
ベクトルデータに変換する | 有効にする |
埋め込みモデル | text-embedding-3-small |
キーワードテンプレート(AI/Vector) | デフォルトのまま |
設定ができたら[追加する]をクリックしてコンテンツ定義を追加します。
コンテンツを追加する
OpenAIが利用する為の情報をコンテンツに登録します。
コンテンツ一覧の画面から[追加]をクリックします。
ここでは例として以下の3コンテンツを追加しました。
リモートワークガイドライン
福利厚生ガイドブック
連絡先
例では社内向けのAIアシスタントを想定した社内文書の登録をしています。
チュートリアルでは3コンテンツのみですが、実際の運用時には就業規則全体を保存し、大量の文章から希望する項目の検索・確認をAIに代行させるような用途で利用します。
ベクトルデータを確認する
コンテンツを追加すると、ベクトルデータへの変換が自動で行われます。
コンテンツ編集画面から[その他]->[ベクトルテンプレート]とクリックし、生成されたキーワードを確認してください。
また、ベクトルデータ生成の進捗と結果は[外部システム連携]->[AI]のページで確認ができます。
APIを設定する
次に独自にカスタマイズしたChatGPTがコンテンツ情報を取得するためのAPIを準備します。
APIの追加
Kuroco管理画面のAPIより「追加」をクリックします。
API作成画面が表示されるので、下記入力し「追加する」をクリックします。
項目 | 設定 |
---|---|
タイトル | RAGデモ |
版 | 1.0 |
説明 | このAPIで、Kuroco RAGデモ株式会社に関する就業規則の情報が取得できます。 |
並び順 | 0 |
こちらの設定内容は後ほどChatGPTに入力されますので、説明などは本APIが何をするためのものか分かるように書いてください。
セキュリティの設定
次にセキュリティの設定をします。[セキュリティ] をクリックします。
セキュリティを[静的アクセストークン]に設定して、[保存する]をクリックします。
CORSの設定
次にCORSの設定をします。[CORSを設定する] をクリックします。
CORS_ALLOW_ORIGINSの [Add Origin] をクリックし、下記を追加します。
- 管理画面URL
https://chatgpt.com/
CORS_ALLOW_METHODSの [Add Method] をクリックし、下記を追加します。
- GET
CORS_ALLOW_HEADERSの [Add Header] をクリックし、下記を追加します。
- x-rcms-api-access-token
CORS_ALLOW_CREDENTIALSの[Allow Credentials]にチェックが入っていることを確認します。
問題なければ [保存する] をクリックします。
静的アクセストークンの発行
[Swagegr UI]をクリックします。
静的アクセストークンの有効期限を設定して[生成する]をクリックします。
静的アクセストークンが発行されるので値をメモします。
エンドポイントの作成
RAGデモのAPIから[新しいエンドポイントの追加]をクリックします。
以下のエンドポイントを作成します。
項目 | 設定 |
---|---|
パス | search |
カテゴリー | コンテンツ |
モデル | Topics |
オペレーション | list |
topics_group_id | 先ほど作成したコンテンツ定義のID |
cnt | APIレスポンスで返されるエントリ数を制限するために3 を設定 |
required_param | vector_search |
設定ができたら[追加]をクリックしてエンドポイントを追加します。
OpenAPI設定ファイルのエクスポート
KurocoにはOpenAPIエクスポートの機能があり、OpenAPIの仕様に沿った形式でAPIの情報を出力できます。
エンドポイント一覧の画面から[OpenAPIエクスポートする]をクリックします。
ダウンロード用のモーダルが表示されるので、形式をYAMLにし、対象のエンドポイントにチェックを入れて、[エクスポート]をクリックします。
ダウンロードしたYAMLファイルにはエンドポイントのURLや利用可能なパラメータの設定全てが含まれるので少し調整します。
今回はChatGPTにvector_search
のパラメータのみを利用させるので、parametersの項目からvector_search
パラメータ以外のすべてのパラメータを削除します。
また、vector_search
のrequiredをtrue
に設定します。
YAMLファイルの例は以下のようになります。
openapi: 3.1.0
info:
title: RAGデモ
version: '1.0'
description: 'このAPIで、Kuroco RAGデモ株式会社に関する就業規則の情報が取得できます。'
servers:
-
url: 'https://YOUR_SITEKEY.g.kuroco.app'
description: 'API Backend'
paths:
/rcms-api/8/search:
get:
tags:
- コンテンツ
summary: ''
description: |
### **Topics::list (v1)**
## Controller parameters
> **topics_group_id** `27`
> **cnt** `3`
> **required_param** `vector_search`
parameters:
-
name: vector_search
schema:
type: string
format: ''
in: query
required: true
style: form
explode: true
description: ベクトル検索
responses:
'200':
description: 'Topics data successfully fetched'
'404':
description: 'Topics data could not be found'
security:
-
Token-Auth: []
operationId: getRcmsApi8Search
components:
schemas: { }
securitySchemes:
Token-Auth:
type: apiKey
in: header
name: X-RCMS-API-ACCESS-TOKEN
ここまでできたらKuroco側の準備は完了です。
ChatGPTの設定
GPTの作成
https://chat.openai.com/ にアクセスしてログインします。
サイドバーの[GPTを探す]をクリックし、ページ右上の[+作成する]をクリックします。
GPTの作成画面が開くので、構成タブで以下のように設定します。
項目 | 内容 |
---|---|
名前 | Kuroco RAGデモ株式会社 社内ルールアシスタンタント |
説明 | Kuroco RAGデモ株式会社の就業規定を参照して質問に回答します。 |
指示 | 効率的かつ正確な対応を行うため、ユーザーとのやり取りは以下のガイドラインに従って行ってください。 1. 必ず指定したエンドポイントにリクエストを送ってから回答してください。 2. エンドポイントから得た情報に含まれないことを推測して回答することは禁止します。 3. 業務に関係ないと思われる質問には回答しないでください。 |
次に、画面下までスクロールし、[新しいアクションを作成する]をクリックします。
スキーマにKurocoからエクスポートして調整したopenapi.yamlファイルの内容を張り付け、認証横の歯車マークをクリックします。
以下のように設定して[保存する]をクリックします。
項目 | 値 |
---|---|
認証タイプ | APIキー |
APIキー | Kurocoで発行した静的アクセストークン |
認証タイプ | カスタム |
カスタムヘッダーの名前 | X-RCMS-API-ACCESS-TOKEN |
[テストする]をクリックします。
GPTがKurocoとの通信を試みますので、[許可する]をクリックし、データが取得できれば完了です。
[作成する]をクリックして公開範囲を指定し、GPTの作成を完了してください。
動作の確認
作成したGPTにアクセスして質問をすると、Kurocoに保存したコンテンツの内容を参照して回答することが確認できます。
意図しない回答をする場合はGPTに対する指示を更新して調整します。
以上でKuroco RAGを利用したGPTの作成が完了しました。
このように、Kuroco RAGはGPTに与える情報の管理と連携を容易にする役割を担い、GPTは外部のコンテンツを参照することで生成AIの精度が向上します。
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。