2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

マーケットプレイス版Oracle WebCenter Content For OCIで会話型検索を有効にする

Posted at

はじめに

マーケットプレイス版Oracle WebCenter Content For OCI(以降WCC For OCI)は、Oracle Cloud Infrastructure上のVMベースのソリューションとして提供されます。WCC For OCIを使用すると、顧客は数回クリックするだけで環境をプロビジョニング/セットアップでき、クラウド上でコンテンツ・ソリューションを提供できるようになります。

詳細は製品ドキュメントおよび概要紹介資料をご確認ください

この記事で説明すること、しないこと

2025年2月にWCC For OCIの14c(14.1.2.0.0) 対応版の提供開始とともに、セマンティック検索(Semantic Search) が新機能としてリリースされました。セマンティック検索の構成手順および利用方法は以下のQita記事にまとめました

今回、2025年4月の新機能として会話型検索(Conversational Search) がリリースされました。この記事では、WCC14c For OCIの会話型検索機能を有効化する手順について説明します。

なお、会話型検索で利用するOCI Generative AIに関する説明は割愛します。詳細は以下の製品ドキュメントおよびスライドをご確認ください

WCCの会話型検索について

会話型検索(Conversational Search) は、WCCに保存されているドキュメントを自然言語クエリで操作できます。対話型の質問応答、ドキュメントの要約、コンテキストに応じた応答をサポートし、ユーザーはドキュメントから必要な情報を効率的に取得できます

image.png

日本語で書かれたドキュメントに対して、日本語で問い合わせを行い、回答を日本語で受け取ることもできます

image.png

会話型検索の利用条件

会話型検索機能の利用条件は以下のとおりです(※2025年5月8日時点)

  1. WCCのセマンティック検索機能が有効化され、利用可能な状態であること
  2. OCI Generative AIをご利用いただけるリージョンがサブスクライブ済であること

OCI Generative AIが利用可能なリージョンは、Regions with Generative AIをご確認ください

会話型検索の構成手順

以下の製品ドキュメントに従って、WCCの会話検索機能を構成・有効化します

  1. ポリシーの追加
  2. WCCのデータベースユーザーに権限を付与する
  3. Generative AIサービスをAPIコールするためのAPIキーを作成する
  4. Generative AI RESTプロバイダへのアクセスを有効にする
  5. WCCの会話型検索のプロパティを構成する

1. ポリシーの追加

すべてのGenerative AIリソースへのアクセスを取得するために必要なポリシーを設定します(関連ドキュメント: 生成AIへのアクセス

テナンシー全体のすべてのGenerative AIリソースにアクセスする場合は、次のポリシーを追加します

allow group <your-group-name> to manage generative-ai-family in tenancy

特定のコンパートメント内のすべてのGenerative AIリソースにアクセスする場合は、次のポリシーを追加します

allow group <your-group-name> to manage generative-ai-family in compartment <your-compartment-name>

2. WCCのデータベースユーザーに権限を付与する

セマンティック検索機能構成時に準備したクラウド・シェルからATPにSQL Plusで接続する環境をそのまま利用します(参考記事: 4.3 オブジェクトストレージからONNXファイルをATPにロードする

  • クラウド・シェル上でSQL Plusを起動し、adminユーザーでATPに接続します
satoshi_na@cloudshell:~ (us-chicago-1)$ sqlplus admin@wccmpatps23ai_low

SQL*Plus: Release 19.0.0.0.0 - Production on Wed May 7 05:48:48 2025
Version 19.19.0.0.0

Copyright (c) 1982, 2023, Oracle.  All rights reserved.

Enter password: 
Last Successful login time: Wed May 07 2025 04:21:27 +00:00

Connected to:
Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems
Version 23.8.0.25.05

SQL> 
  • WCCで使用するデータベースユーザーに必要な権限を付与します。ここではWCCMP1412_OCSに権限を付与します
SQL> GRANT DB_DEVELOPER_ROLE TO WCCMP1412_OCS;

Grant succeeded.

SQL> GRANT EXECUTE ON DBMS_CLOUD_AI TO WCCMP1412_OCS;

Grant succeeded.

SQL>
  • DBMS_NETWORK_ACL_ADMINプロシージャを使用して、ホストへの接続を許可するための接続権限をユーザー(ここではWCCMP1412_OCS)に付与します
SQL> BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => '*',
ace => xs$ace_type(privilege_list => xs$name_list('connect'),
principal_name => 'WCCMP1412_OCS',
principal_type => xs_acl.ptype_db));
END;  2    3    4    5    6    7  
  8  /

PL/SQL procedure successfully completed.

SQL> 
  • SQL Plusを一旦終了します

3. Generative AIサービスをAPIコールするためのAPIキーを作成する

OCIコンソールからAPIキーを作成します。以下OCIチュートリアルにも手順が記載されていますので、あわせてご確認ください

  1. OCIコンソールを開き、右上のユーザーアイコンをクリックし、ユーザー名をクリックします
    image.png

  2. 左下のリソース→APIキーをクリックします

  3. APIキーの追加をクリック
    image.png

  4. APIキー・ペアの作成を選択した状態で、秘密キーのダウンロードをクリックします。秘密キーがローカルPCにダウンロードされます

  5. 追加をクリック
    image.png

  6. 作成したAPIキーのフィンガープリントをメモします
    image.png

4. Generative AI RESTプロバイダへのアクセスを有効にする

データベース内の資格情報を安全に管理するには、資格情報ヘルパープロシージャ CREATE_CREDENTIAL および DROP_CREDENTIAL を使用します。これらのプロシージャは、PL/SQLパッケージ DBMS_VECTOR および DBMS_VECTOR_CHAIN の両方で使用できます

  • Generative AIにアクセスするには、次の認証パラメータが必要です。既にprivate_key(秘密キー)fingerprint(フィンガープリント)は取得済みです。OCIコンソール等を利用し、user_ocid(ユーザーOCID), tenancy_ocid(テナンシーOCID), compartment_ocid(コンパートメントOCID)の3つをそれぞれ確認し、メモします
{ 
    "user_ocid"       : "<user_ocid>",
    "tenancy_ocid"    : "<tenancy_ocid>",
    "compartment_ocid": "<compartment_ocid>",
    "private_key"     : "<private_key>",
    "fingerprint"     : "<fingerprint>" 
}
  • クラウド・シェル上でSQL Plusを起動し、WCCのデータベースユーザー(ここではWCCMP1412_OCS)で再接続します
satoshi_na@cloudshell:~ (us-chicago-1)$ sqlplus WCCMP1412_OCS@wccmpatps23ai_low

SQL*Plus: Release 19.0.0.0.0 - Production on Wed May 7 05:54:48 2025
Version 19.19.0.0.0

Copyright (c) 1982, 2023, Oracle.  All rights reserved.

Enter password: 
Last Successful login time: Wed May 07 2025 05:42:02 +00:00

Connected to:
Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems
Version 23.8.0.25.05

SQL>
  • 次のコマンドを実行して、OCI資格情報を作成して保存します。ここではOCI_CREDで作成します
SQL> declare
jo json_object_t;
begin
jo := json_object_t();
jo.put('user_ocid','ocid1.user.oc1..XXXXXXXX');
jo.put('tenancy_ocid','ocid1.tenancy.oc1..XXXXXXXX');
jo.put('private_key','MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC+Z9l9lH0IOylT
BvM1tAdZkB30cDng+dJ1hMXvrpjZinzKkeM/AQ/q7WGORFgJOpN7nAx4ntwnf...
...
...UkY/7pofWILp5ZoNXtsL9EEOk5+psxpdc7Q8G+bmQ6ja/XjNml4Q7WDPjuvSl
MUQIY9UlcfWJlz/6cNky39RA');
jo.put('fingerprint','XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX');
jo.put('compartment_ocid','ocid1.compartment.oc1..XXXXXXXX');
dbms_vector_chain.create_credential(
 credential_name   => 'OCI_CRED',
 params            => json(jo.to_string));
end;  2    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38  
 39  /

PL/SQL procedure successfully completed.

SQL> 
  • 作成した資格情報を確認するために、以下のSQLクエリを実行します。GENERATED_TEXTにテキストが表示されればOKです
SQL> SELECT dbms_vector_chain.utl_to_generate_text(
  'What is Oracle Text?',
  json('{
    "provider"       : "OCIGenAI",
    "credential_name": "OCI_CRED",
    "url"            : "https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/20231130/actions/chat",
    "model"          : "meta.llama-3.3-70b-instruct",
    "chatRequest"    : {
                        "maxTokens": 256
                       }
  }')
) AS generated_text FROM dual;
  2    3    4    5    6    7    8    9   10   11   12  

GENERATED_TEXT
--------------------------------------------------------------------------------
Oracle Text is a feature of the Oracle Database that allows for full-text search

SQL> 

5. WCCの会話型検索のプロパティを構成する

  1. WCCのネイティブUIに管理ユーザー(ここではweblogicユーザー)でログインします。URLはhttps://<ロードバランサのパブリックIPアドレス>:16200/csです

  2. 管理→SmartContent→Hybird Search Configurationを開きます

  3. Conversational Search Configurationを以下の通りに構成します

    • Credential Name: OCI_CRED(前の手順で作成した資格情報)を指定
    • Url: Generative AI RESTプロバイダのエンドポイントを指定(ここではhttps://inference.generativeai.us-chicago-1.oci.oraclecloud.com/20231130/actions/chatを指定)
    • Model: cohere.command-r-plus-08-2024 もしくは meta.llama-3.3-70b-instruct より選択(ここではcohere.command-r-plus-08-2024を選択)
      image.png
  4. Update Congigurationをクリックします

  5. Test Connectionをクリックします。LLM connection successful. のメッセージが表示されることを確認します
    image.png

動作確認(会話型検索の実行)

  1. WCCのRedwood UIにアクセスします。URLはhttps://<ロードバランサのパブリックIPアドレス>:16200/cs?IdcService=REDWOODUIです

  2. ユーザー名パスワードを入力します

  3. 画面下部のナビゲーションメニューの検索をクリックします

  4. ドキュメント一覧が表示されます。ドキュメントの会話アイコンをクリックします
    image.png

  5. プレビュー画面を表示され、右パネルにはチャット・タブが表示されます
    image.png

  6. チャット画面のこんにちは。私はあなたのチャット・アシスタントです。これを要約しますか。要約をクリックすると、Summarize のメッセージが入力されます

  7. しばらくすると、ドキュメントの要約が英語で表示されます
    image.png

  8. 日本語で問い合わせメッセージを入力し、結果を日本語で受け取ることもできます(ここではAutonomous Databaseの特徴をおしえてなどを入力)
    image.png

おわりに

マーケットプレイス版Oracle WebCenter Content 14c For OCIの会話型検索機能を有効化する手順を紹介しました。セマンティック検索機能とあわせて、皆さまのお役に立てば幸いです

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?