適用対象:Foundry (クラシック) ポータル。 この記事は、新しい Foundry ポータルでは使用できません。
新しいポータルの詳細を確認します。
Note
この記事のリンクは、現在表示している Foundry (クラシック) ドキュメントではなく、新しい Microsoft Foundry ドキュメントのコンテンツを開く場合があります。
Important
Azure OpenAI On Your Dataは廃止されており、まもなく廃止間近です。
Microsoftは新しいモデルのAzure OpenAI On Your Dataへのオンボーディングを停止しました。 この機能は以下のモデルのみをサポートしています:
- GPT-4o(バージョン 2024-05-13、2024-08-06、2024-11-20)
- GPT-4o-mini(バージョン 2024-07-18)このモデルが終了すると、すべてのOpenAI On Your Data APIエンドポイントおよびサポートされたデータソースコネクター Azure機能が停止します。
OpenAI On Your DataのワークロードAzure、
Azure OpenAIをあなたのデータで使用する際のPineconeの設定可能なオプション。 このデータソースはAPIバージョン 2024-02-15-previewからサポートされています。
| Name | タイプ | Required | Description |
|---|---|---|---|
parameters |
Parameters | True | Pineconeの設定時に使うパラメータ。 |
type |
文字列 | True | きっと大 pinecone。 |
Parameters
| Name | タイプ | Required | Description |
|---|---|---|---|
environment |
文字列 | True | 環境名はパインコーンです。 |
index_name |
文字列 | True | パインコーンデータベース索引の名称です。 |
fields_mapping |
FieldsMappingOptions | True | 検索インデックスとやり取りする際に使うためのカスタマイズされたフィールドマッピング動作。 |
authentication |
ApiKeyAuthenticationOptions | True | 定義されたデータソースにアクセスする際に使用する認証方法。 |
embedding_dependency |
DeploymentNameVectorizationSource | True | ベクトル探索における埋め込み依存性。 |
in_scope |
boolean | False | クエリはインデックス付きデータの使用に限定すべきか。 デフォルトは Trueです。 |
role_information |
文字列 | False | モデルに、どのように振る舞うべきか、応答を生成する際に参照すべきコンテキストについて指示を与えます。 アシスタントの性格を説明し、返答のフォーマットを教えることができます。 |
strictness |
整数 | False | 検索関連性フィルタリングの設定厳密性。 厳密度が高いほど、答えの精度は高いですが、呼び起こす記憶力は低いです。 デフォルトは 3です。 |
top_n_documents |
整数 | False | 設定されたクエリで機能するドキュメントの上限数。 デフォルトは 5です。 |
API鍵認証オプション
APIキーを使用した際のAzure OpenAI On Your Dataの認証オプションについて。
| Name | タイプ | Required | Description |
|---|---|---|---|
key |
文字列 | True | 認証に使うAPIキー。 |
type |
文字列 | True | きっと大 api_key。 |
展開名ベクトリゼーションソース
ベクトル検索を適用する際にAzure OpenAIがあなたのデータに使用するベクトル化ソースの詳細。 このベクトル化ソースは、同じAzure OpenAIリソース内の内部埋め込みモデル展開名に基づいています。 このベクトル化ソースにより、Azure OpenAI APIキーやAzure OpenAIのパブリックネットワークアクセスなしでベクター検索を利用できます。
| Name | タイプ | Required | Description |
|---|---|---|---|
deployment_name |
文字列 | True | 同じAzure OpenAIリソース内に埋め込みモデルのデプロイメント名を割り当てます。 |
type |
文字列 | True | きっと大 deployment_name。 |
フィールドマッピングのオプション
フィールドの処理方法を制御する設定です。
| Name | タイプ | Required | Description |
|---|---|---|---|
content_fields |
string[] | True | コンテンツとして扱うべきインデックスフィールドの名前。 |
content_fields_separator |
文字列 | False | コンテンツフィールドが使うべき区切りパターン。 デフォルトは \nです。 |
filepath_field |
文字列 | False | ファイルパスとして使うインデックスフィールドの名前。 |
title_field |
文字列 | False | タイトルとして使うインデックスフィールドの名前。 |
url_field |
文字列 | False | URLとして使うインデックスフィールドの名前。 |
Examples
Prerequisites:
- ユーザーから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
azure-identity
openai最新のPIPパッケージをインストールしてください。
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://ai.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))