メインコンテンツまでスキップ

OpenAIと連携してKurocoのAPIを通してAIによる回答を生成する

概要

KurocoはOpenAIとの連携機能を持っているため、ChatGPTのように質問に回答するAIを容易に利用できます。 また、Kurocoの持つAPI keyが利用できるため、お客様側でAPI keyの取得をしなくても、OpenAI連携画面の「有効にする」チェックボックスにチェックを入れるだけで利用開始できます。

本チュートリアルでは、KurocoのAPIを通して、OpenAIによる回答を得る方法と、回答の精度を上げる設定について紹介します。

学べること

本チュートリアルでは以下の手順でKurocoのAPIを利用して、OpenAIによる回答を得る方法を学びます。

OpenAIと連携する

OpenAIとの連携を有効にする

[外部システム連携] -> [OpenAI]をクリックします。

Image from Gyazo

「有効にする」にチェックを入れて、[更新する]をクリックする。
今回はKurocoの持つAPI keyを利用する為、API keyの項目は空欄で構いません。

Image from Gyazo

エンドポイントを設定する

エンドポイント一覧のページから[新しいエンドポイントの追加]をクリックします。

Image from Gyazo

以下のエンドポイントを作成します。

項目設定内容
パスopenai/chat
カテゴリーAI
モデルOpenAI
オペレーションchat

Image from Gyazo

設定ができたら[追加する]をクリックしてエンドポイントを追加します。

OpenAIの回答をKurocoのAPIから得る

textの名前でパラメータにOpenAIへの質問を設定して、エンドポイントのリクエストを送ると、質問に対する回答のレスポンスが返ってきます。

APIのページから[SwaggerUI]をクリックします。 Image from Gyazo

以下のようにtextに「Kurocoについて教えてください。」と入力し、[Execute]をクリックします。

Image from Gyazo

以下の回答がレスポンスされました。

Kurocoは、古典派のパターンデザインの活用を中心とした、大阪の産業デザインスタジオです。スタジオは、日本の伝統的な美に基づいた新しい美的フォームを創作することを目的としています。スタジオは、家具、プロダクト、インテリアなどの製品デザイン、バイヤーセンターや屋外などのインテリアスペースのデザイン、ビジーや小売店などのブランディングなど、デザイン全般を手掛けています。

Image from Gyazo

回答の精度を上げる

以上の設定だけで簡単に、OpneAIからの回答を得ることができますが、AIの回答が間違っていることも多いです。 特にAIが知らない内容については内容を予測して回答してきますので、回答に利用する情報を予め学習させます。

OpenAIが回答に利用する情報を予めコンテンツに登録する

コンテンツ定義を追加する

コンテンツ定義一覧の画面から[追加]をクリックします。
Image from Gyazo

以下の内容で設定をします。

項目設定
名前OpenAIに利用させるコンテンツ
OpenAIに利用するチェックを入れる
ID=1項目設定:テキストエリア
項目名:テキスト
繰り返し回数:1

Image from Gyazo Image from Gyazo Image from Gyazo Image from Gyazo

設定ができたら[追加する]をクリックしてコンテンツ定義を追加します。

コンテンツを追加する

OpenAIが利用する為の情報をコンテンツに登録します。

コンテンツ一覧の画面から[追加]をクリックします。
Image from Gyazo

以下を入力し、[追加する]をクリックします。

項目
タイトルKurocoとは?
テキストKurocoは株式会社ディバータが提供するヘッドレスCMSです。

Image from Gyazo Image from Gyazo

コンテンツが追加できたら、SwaggerUIを開き、エンドポイントに再度「Kurocoについて教えてください。」とリクエストを送ります。
すると今度は以下のような回答が得られました。

Kurocoは、高度なテクノロジを使用してWebサイトを作成、管理、拡張するためのヘッドレスCMSです。これは、柔軟な構成を可能にするAPIを介して、完全にカスタマイズ可能なWebサイトを快適に配信するのに役立ちます。Kurocoは非常に拡張性の高いが効率的なWeb開発を可能にします。これにより、お客様に必要な情報を迅速に配信することなく、セキュリティーが確保されたかつリアルタイムでサイトを管理することができます。Kurocoは、WordpressやJoomlaなどの他のCMSが提供できない高度な機能をサポートします。

Image from Gyazo

OpenAIの回答内容に指示を出す。

また、回答の際に選択する言葉遣いや内容の調整については、エンドポイントのpromptのパラメータで渡します。

エンドポイント一覧のページから先ほど作成したエンドポイントの[更新]をクリックします。
Image from Gyazo

以下の設定を追加して[更新する]をクリックします。

項目
promptあなたは株式会社ディバータの営業です。Kurocoについて質問がきたらミーティングに繋がるように回答してください。

Image from Gyazo Image from Gyazo

設定が完了すると、エンドポイント一覧のページでも設定した指示が確認できます。
Image from Gyazo

この状態で再度SwaggerUIを開き、エンドポイントに「Kurocoについて教えてください。」とリクエストを送ります。
すると今度は以下のような回答が得られました。

KurocoはヘッドレスCMSです。Webサイトをリッチ集客をしていくために欠かせないWebサイト構築ツールです。従来のオールインワンCMSとは異なり、Webサイト構築を迅速かつ簡単に行うことができます。また、プログラミングスキルを必要とせずに、サイトの拡張性とカスタマイズ性を確保することが可能です。Kurocoなら、あなたのWebサイト制作を楽々に実現します。Kurocoの機能の紹介をさせていただけますか?ミーティングの内容を確かめさせていただければ、より詳しい情報をお伝えできます!

Image from Gyazo

temperatureを調整する

OpenAIのエンドポイントは生成された回答にランダム性を加えるために、生成プロセス中にtemperatureと呼ばれるパラメータを使用します。 具体的には、temperatureを小さくすると回答に曖昧さがなくなり、temperatureを大きくするとより多様でランダムな回答が生成されます。

回答の精度を上げるためには、適切なtemperature値を選択することが重要です。一般的には、temperature値が高すぎると、回答が不自然になり、低すぎると回答が繰り返しがちになるため、中間の値を選択することが望ましいです。また、特定のタスクに応じて、最適なtemperature値が異なることもあります。

top_pを調整する

OpenAIのエンドポイントは生成された回答にランダム性を加えるために、生成プロセス中にtop_pと呼ばれるパラメータを使用します。 具体的には、top_pを小さくすると参照するコンテンツの探索が厳密になり、top_pを大きくするとより多様でランダムな回答が生成されます。

回答の精度を上げるためには、適切なtop-p値を選択することが重要です。一般的には、top-p値が高すぎると、コンテンツの探索が緩くなるため、生成された回答が不自然であったり、誤った回答になる可能性があります。一方、値が低すぎると、回答が非常に制限され、登録したコンテンツを元にした反復的な回答が生成されます。

関連コンテンツがない場合は回答させない

no_contents_no_answer のパラメータを有効にすると、関連コンテンツが無い場合は、以下のようにnot_foundのエラーを返すようになります。
不確実な回答をさせたく無い場合に設定してください。 また、 min_scoreを大きく設定すると、関連コンテンツとしての判定が厳しくなりますので合わせて設定ください。

{
"errors": [
{
"code": "not_found",
"message": "質問に関連する適切なコンテンツが見つかりませんでした。"
}
],
"x-rcms-request-id": "23f3ca66-aa8b-4a34-891c-9c1f958a0eab"
}

以上のようにKurocoのAPIを利用することで、OpenAIによる回答を簡単に得ることができます。

OpenAIを効果的に活用するには、AIが必要とする情報を正確に登録し、適切にpromptを設定することが不可欠です。回答の精度を上げるための設定にも注目して、KurocoとOpenAIを利用した機能を実装してみましょう。


サポート

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。