DevOps エンジニアである場合は、スーパーバイザーの TKG クラスタで、VMware Data Services Manager によって管理される pgvector PostgreSQL データベースを使用する NVIDIA の RAG サンプル マルチターン アプリケーションに基づいて RAG ワークロードを展開できます。
手順
- GPU アクセラレーション TKG クラスタをプロビジョニングします。
次のワークフローのいずれかを使用できます。
- kubectl コマンドを使用している場合は、NVIDIA NIM を展開します。
- NVIDIA NIM を使用して Helm チャートを取得します。
- NVIDIA NIM LLM、NVIDIA NeMo Retriever Embedding、および NVIDIA NeMo Retriever Ranking Microservice を展開します。
- サンプルのマルチターン チャットボットの Helm チャートを取得します。
helm fetch https://helm.ngc.nvidia.com/nvidia/aiworkflows/charts/rag-app-multiturn-chatbot-24.08.tgz --username='$oauthtoken' --password=<YOUR API KEY>
- pgvector PostgreSQL データベースにチャットボットを構成するためのカスタム値を使用して YAML を作成します。
接続文字列が
postgres://pgvector_db_admin:encoded_pgvector_db_admin_password@pgvector_db_ip_address:5432/pgvector_db_name
の pgvector データベースの場合は、次の
app_values.yaml ファイルを準備します。
サンプル チャット アプリケーションの外部 IP アドレスを提供するには、YAML ファイルで frontend.service.type
を loadBalancer
に設定します。
query:
env:
APP_VECTORSTORE_URL: "pgvector_db_ip_address:5432"
APP_VECTORSTORE_NAME: "pgvector"
POSTGRES_PASSWORD: "encoded_pgvector_db_admin_password"
POSTGRES_USER: "pgvector_db_admin"
POSTGRES_DB: "pgvector_db_name"
APP_EMBEDDINGS_MODELNAME: "nvidia/nv-embedqa-e5-v5"
frontend:
service:
type: LoadBalancer
- カスタム値ファイルを使用して、名前空間にマルチターン チャットボットを展開します。
kubectl create namespace multiturn-rag
kubectl label --overwrite ns multiturn-rag pod-security.kubernetes.io/enforce=privileged
export NGC_CLI_API_KEY="<NGC-API-key>"
helm install multiturn-rag rag-app-multiturn-chatbot-24.08.tgz -n multiturn-rag --set imagePullSecret.password=$NGC_CLI_API_KEY -f ./app_values.yaml
- チャットボット アプリケーションにアクセスするには、次のコマンドを実行してアプリケーションの外部 IP アドレスを取得します。
kubectl -n multiturn-rag get service
- Web ブラウザで、http://application_external_ip:3001/converse にあるサンプル チャット アプリケーションを開きます。