普段AWSばかりですが、他社の動向も知っておきたいと思って、Vertex AI Search and Conversationを試しました。
先入観としては、Amazon KendraのAzure版だと思って始めました。うまく行けばRAGの情報源にしてKendraと比較がしたいと目論んでおります。
Google Cloudに詳しい方のツッコミお待ちしております(笑)
Kendraについてはここを見るとわかった気になれます。
「Azure AI Searchをやってみた」はこちら
Vertex AI Search and Conversationを作ってみた。
ポチポチします。
-
コンソールで
検索と会話
を開く。(日本語はこれが正式名称ですか?)
新しいアプリ
をクリック -
汎用を選択。
Enterprise edition features
とAdvanced LLM features
はオフにしました。
-
CREATE DATA STORE
をクリック -
Cloud Storageを選択
-
Document chunking
を有効にし、Include ancestor headings in chunks
にチェック
データストア名を入力し、作成
をクリック
-
作成
をクリック -
しばらくするとドキュメントが登録されます。
Vertex AI Search and Conversationを使ってみた。
プレビューメニューから検索ができます。
自前で検索サイトを作った気分。すてき
LangChainのRetrieverをやってみた。
LangChainのドキュメントを参考に実施します。
まずはこちらを参考にgcloud CLIをインストールします。
Ubuntu環境の場合はこんな感じ。
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates gnupg curl
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
sudo apt-get update && sudo apt-get install google-cloud-cli
インストールができたら次のコマンドでログインします。
gcloud auth application-default login
Pythonのライブラリーをインストールします。
pip install -U google-cloud-discoveryengine
from langchain_community.retrievers.google_vertex_ai_search import (
GoogleVertexAISearchRetriever,
)
PROJECT_ID = "*****" # Set to your Project ID
LOCATION_ID = "global" # Set to your data store location
SEARCH_ENGINE_ID = "app_*****" # Set to your search app ID
DATA_STORE_ID = "datastore_*****" # Set to your data store ID
retriever = GoogleVertexAISearchRetriever(
project_id=PROJECT_ID,
location_id=LOCATION_ID,
data_store_id=DATA_STORE_ID,
query_expansion_condition=0,
)
query = "DXとはなんですか?"
result = retriever.get_relevant_documents(query)
for doc in result:
print(doc)
実行するとエラー
FailedPrecondition: 400 Cannot use enterprise edition features (website search, multi-modal search, extractive answers/segments, etc.) in a standard edition search engine. Please follow https://cloud.google.com/generative-ai-app-builder/docs/enterprise-edition#toggle-enterprise to enable Enterprise edition. Data store: datastore_*****
エンタープライズ機能が有効じゃないとLangChainで使えないのでしょうか?
エンタープライズ機能を有効にして再チャレンジ。
それでも同じエラー。。
うまくいかない。。