ai_chat_completion_prompt
プラグインを使用すると、言語モデルを使用してチャットの完了を生成し、会話型 AI や対話型システムなどの AI 関連のシナリオをサポートできます。 このプラグインは、Azure OpenAI Service のチャット エンドポイントを使用し、マネージド ID またはユーザーの ID (偽装) を使用してアクセスできます。
ai_chat_completion_prompt
プラグインを使用すると、言語モデルを使用してチャットの完了を生成し、会話型 AI や対話型システムなどの AI 関連のシナリオをサポートできます。 プラグインは、Azure OpenAI サービス内のチャット エンドポイントを使用し、ユーザーの ID (偽装) を使用してアクセスできます。
前提条件
- 使用されている ID に少なくとも (Cognitive Services OpenAI ユーザー) ロールが割り当てられた Azure OpenAI サービス。
- AI サービスへの呼び出しを許可するように構成された コールアウト ポリシー 。
- マネージド ID を使用して Azure OpenAI サービスにアクセスする場合は、サービスとの通信を許可するように マネージド ID ポリシー を構成します。
構文
evaluate
ai_chat_completion_prompt
(
Prompt,ConnectionString [,
Options [,
IncludeErrorMessages]])
パラメーター
名前 | タイプ | 必須 | 説明 |
---|---|---|---|
プロンプト | string |
✔️ | チャットの完了を生成するためのプロンプト。 値には、列参照または定数スカラーを指定できます。 |
ConnectionString の | string |
✔️ |
<ModelDeploymentUri>;<AuthenticationMethod> 形式の言語モデルの接続文字列。<ModelDeploymentUri> と<AuthenticationMethod> をそれぞれ AI モデルのデプロイ URI と認証方法に置き換えます。 |
オプション | dynamic |
チャット モデル エンドポイントへの呼び出しを制御するオプション。 オプションに関するページを参照してください。 | |
IncludeErrorMessages (エラー メッセージを含める) | bool |
出力テーブルの新しい列にエラーを出力するかどうかを示します。 既定値: false 。 |
オプション
次の表では、チャット モデル エンドポイントに対する要求の実行方法を制御するオプションについて説明します。
名前 | タイプ | 説明 |
---|---|---|
RetriesOnThrottling |
int |
調整が発生したときの再試行回数を指定します。 既定値: 0 。 |
GlobalTimeout |
timespan |
AI チャット モデルからの応答を待機する最大時間を指定します。 既定値: null 。 |
ModelParameters |
dynamic |
AI チャット モデルに固有のパラメーター。 使用可能な値: temperature 、 top_p 、 stop 、 max_tokens 、 max_completion_tokens 、 presence_penalty 、 frequency_penalty 、 user 、 seed 。 その他の指定されたモデル パラメーターは無視されます。 既定値: null 。 |
ReturnSuccessfulOnly |
bool |
正常に処理された項目のみを返すかどうかを示します。 既定値: false 。
IncludeErrorMessages パラメーターが true に設定されている場合、このオプションは常に false に設定されます。 |
吹き出しポリシーの構成
azure_openai
callout ポリシーにより、Azure AI サービスへの外部呼び出しが有効になります。
AI モデル エンドポイント ドメインを承認するようにコールアウト ポリシーを構成するには:
.alter-merge cluster policy callout
```
[
{
"CalloutType": "azure_openai",
"CalloutUriRegex": "https://[A-Za-z0-9\\-]{3,63}\\.openai\\.azure\\.com/.*",
"CanCall": true
}
]
```
マネージド ID の構成
マネージド ID を使用して Azure OpenAI サービスにアクセスする場合は、システム割り当て マネージド ID が Azure OpenAI サービスに対して認証されるようにマネージド ID ポリシーを構成する必要があります。
マネージド ID を構成するには:
.alter-merge cluster policy managed_identity
```
[
{
"ObjectId": "system",
"AllowedUsages": "AzureAI"
}
]
```
返品ポリシー
次の新しいチャット完了列を返します。
- チャットの完了値を含む _chat_completion サフィックスを持つ列。
- エラーを返すように構成されている場合、 _chat_completion_error サフィックスを持つ列。エラー文字列が含まれているか、操作が成功した場合は空のままです。
入力の種類に応じて、プラグインは異なる結果を返します。
- 列参照: 参照列名の前に追加の列がある 1 つ以上のレコードを返します。 たとえば、入力列の名前が PromptData の場合、出力列の名前は PromptData_chat_completion になり、エラーを返すように構成されている場合 はPromptData_chat_completion_error。
- 定数スカラー: プレフィックスのない追加の列を含む 1 つのレコードを返します。 列名は _chat_completion され、エラーを返すように構成されている場合は _chat_completion_error。
例示
次の例では、Azure OpenAI チャット完了モデルを使用して、プロンプト Provide a summary of AI capabilities
のチャット完了を生成します。
let prompt = 'Provide a summary of AI capabilities';
let connectionString = 'https://myaccount.openai.azure.com/openai/deployments/gpt4o/chat/completions?api-version=2024-06-01;impersonate';
evaluate ai_chat_completion_prompt(prompt, connectionString)
次の例では、行ごとに個別のプロンプトを Azure OpenAI チャット完了モデルに送信します。
let connectionString = 'https://myaccount.openai.azure.com/openai/deployments/gpt4o/chat/completion?api-version=2024-06-01;managed_identity=system';
let options = dynamic({
"RetriesOnThrottling": 1,
"GlobalTimeout": 2m
});
datatable(Prompt: string)
[
"Provide a summary of AI capabilities",
"What is the answer to everything?",
"What is 42?"
]
| evaluate ai_chat_completion_prompt(prompt, connectionString, options , true)