データ ソース - Pinecone (プレビュー)
Azure OpenAI On Your Data を使用する場合の Pinecone の構成可能なオプション。 このデータ ソースは API バージョン 2024-02-15-preview
でサポートされています。
名前 | タイプ | Required | 説明 |
---|---|---|---|
parameters |
パラメーター | True | Pinecone を構成するときに使用するパラメーター。 |
type |
string | True | pinecone である必要があります。 |
パラメーター
件名 | タイプ | Required | Description |
---|---|---|---|
environment |
string | True | Pinecone の環境名。 |
index_name |
string | True | Pinecone データベース インデックスの名前。 |
fields_mapping |
FieldsMappingOptions | True | 検索インデックスを操作するときに使用するカスタマイズされたフィールド マッピング動作。 |
authentication |
ApiKeyAuthenticationOptions | True | 定義されたデータ ソースにアクセスするときに使用する認証方法。 |
embedding_dependency |
DeploymentNameVectorizationSource | True | ベクトル検索の埋め込み依存関係。 |
in_scope |
boolean | False | クエリをインデックス付きデータの使用に制限するかどうか。 既定値は True です。 |
role_information |
string | False | ふるまいに関する指示と、応答の生成時に参照する必要があるコンテキストをモデルに与えます。 アシスタントのパーソナリティを説明し、応答の書式設定方法を伝えることができます。 |
strictness |
integer | False | 検索の関連性フィルター処理の構成された厳密度。 厳密度が高いほど、精度は高くなりますが、回答の再現率は低くなります。 既定値は 3 です。 |
top_n_documents |
integer | False | 構成されたクエリの特徴量に対して構成されている上位のドキュメントの数。 既定値は 5 です。 |
API キー認証オプション
API キーを使用する場合の Azure OpenAI On Your Data の認証オプション。
名前 | タイプ | Required | Description |
---|---|---|---|
key |
string | True | 認証に使用する API キー。 |
type |
string | True | api_key である必要があります。 |
デプロイ名のベクター化ソース
ベクトル検索を適用するときに Azure OpenAI On Your Data で使用されるベクター化ソースの詳細。 このベクター化ソースは、同じ Azure OpenAI リソース内の内部埋め込みモデル デプロイ名に基づきます。 このベクター化ソースにより、Azure OpenAI API キーを使用せずに、Azure OpenAI パブリック ネットワーク アクセスなしでベクトル検索を使用できます。
名前 | タイプ | Required | Description |
---|---|---|---|
deployment_name |
string | True | 同じ Azure OpenAI リソース内の埋め込みモデル デプロイ名。 |
type |
string | True | deployment_name である必要があります。 |
フィールド マッピング オプション
フィールドの処理方法を制御する設定。
名前 | タイプ | Required | 説明 |
---|---|---|---|
content_fields |
string[] | True | コンテンツとして扱う必要があるインデックス フィールドの名前。 |
content_fields_separator |
string | False | コンテンツ フィールドで使用する区切り記号パターン。 既定値は \n です。 |
filepath_field |
string | False | ファイルパスとして使用するインデックス フィールドの名前。 |
title_field |
string | False | タイトルとして使用するインデックス フィールドの名前。 |
url_field |
string | False | URL として使用するインデックス フィールドの名前。 |
例
前提条件:
- ユーザーから Azure OpenAI リソースへのロールの割り当てを構成します。 必要なロール:
Cognitive Services OpenAI User
。 - Az CLI をインストールし、
az login
を実行します。 - 環境変数
AzureOpenAIEndpoint
、ChatCompletionsDeploymentName
、Environment
、IndexName
、Key
、EmbeddingDeploymentName
を定義します。
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export Environment=testenvironment
export Key=***
export IndexName=pinecone-test-index
export EmbeddingDeploymentName=ada
最新の pip パッケージ openai
、azure-identity
をインストールします。
import os
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
endpoint = os.environ.get("AzureOpenAIEndpoint")
deployment = os.environ.get("ChatCompletionsDeploymentName")
environment = os.environ.get("Environment")
key = os.environ.get("Key")
index_name = os.environ.get("IndexName")
embedding_deployment_name = os.environ.get("EmbeddingDeploymentName")
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default")
client = AzureOpenAI(
azure_endpoint=endpoint,
azure_ad_token_provider=token_provider,
api_version="2024-02-15-preview",
)
completion = client.chat.completions.create(
model=deployment,
messages=[
{
"role": "user",
"content": "Who is DRI?",
},
],
extra_body={
"data_sources": [
{
"type": "pinecone",
"parameters": {
"environment": environment,
"authentication": {
"type": "api_key",
"key": key
},
"index_name": index_name,
"fields_mapping": {
"content_fields": [
"content"
]
},
"embedding_dependency": {
"type": "deployment_name",
"deployment_name": embedding_deployment_name
}
}}
],
}
)
print(completion.model_dump_json(indent=2))