クイック スタート: 独自のデータを使用して Azure OpenAI モデルとチャットする
参照 | ソース コード | パッケージ (npm) | サンプル
このクイックスタートでは、Azure OpenAI モデルで独自のデータを使用できます。 データに Azure OpenAI のモデルを使用すると、より高速で正確なコミュニケーションを可能にする強力な会話型 AI プラットフォームが使用できます。
前提条件
Azure サブスクリプション。無料で作成できます。
目的の Azure サブスクリプション内の Azure OpenAI に付与されたアクセス権。
Azure OpenAI には登録が必要であり、現在、承認されたエンタープライズのお客様とパートナーのみが利用できます。 詳細については、「Azure OpenAI Service への制限付きアクセス」を参照してください。 Azure OpenAI へのアクセスを申請するには、https://aka.ms/oai/access のフォームに入力してください。 問題がある場合は、このリポジトリで問題をオープンしてお問い合わせください。
チャット モデルがデプロイされた Azure OpenAI リソース (GPT-3 や GPT-4 など)。 モデル デプロイの詳細については、リソース デプロイ ガイドを参照してください。
- チャット モデルでは、バージョン
gpt-35-turbo (0301)
、gpt-35-turbo-16k
、gpt-4
、gpt-4-32k
を使用できます。 Azure OpenAI Studio でモデルのバージョンを表示または変更できます。
- チャット モデルでは、バージョン
少なくとも Azure OpenAI リソースに対する Cognitive Services 共同作成者ロールが割り当てられていることを確認してください。
Azure OpenAI Studio を使用してデータを追加する
Azure OpenAI Studio にアクセスし、Azure OpenAI リソースにアクセスできる資格情報を使用してサインインします。 サインイン ワークフローの途中または後で、適切なディレクトリ、Azure サブスクリプション、Azure OpenAI リソースを選択します。
[チャット プレイグラウンド] タイルを選択します。
[アシスタントのセットアップ] タイルで、[Add your data (preview)] (データの追加 (プレビュー))>[+ Add a data source] (+ データ ソースの追加) の順に選択します。
表示されたウィンドウで、[データ ソースの選択] で [ファイルのアップロード] を選択します。 [Upload files](ファイルのアップロード) を選択します。 Azure OpenAI では、データにアクセスしてインデックスを付けるために、ストレージ リソースと検索リソースの両方が必要です。
ヒント
- 詳細については、次のリソースを参照してください。
- 長いテキストを含むドキュメントとデータセットの場合は、使用可能な データ準備スクリプトを使用することをお勧めします。
Azure OpenAI がストレージ アカウントにアクセスするには、クロス オリジン リソース共有 (CORS) を有効にする必要があります。 Azure Blob Storage リソースに対して CORS がまだ有効になっていない場合は、[Turn on CORS] (CORS を有効にする) を選択します。
ご自分の Azure Cognitive Search リソースを選択し、接続するとアカウントで使用量が発生することの確認を選択します。 [次へ] を選択します。
[ファイルのアップロード] ウィンドウで、[Browse for a file] (ファイルの参照) を選択し、アップロードするファイルを選択します。 その後、[ファイルのアップロード] を選択します。 [次へ] を選択します。
[データ管理] ウィンドウで、インデックスのセマンティック検索とベクター検索のどちらを有効にするかを選択できます。
重要
- セマンティック検索とベクトル検索は、追加価格の対象となります。
- 追加コストなしで、検索の種類として "単純" 検索を使用できます。
- ベクトル検索を有効にするには、Azure OpenAI リソースへの
text-embedding-ada-002
デプロイが必要です。 - 現在、独自のデータに基づく Azure OpenAI では、英語データのみセマンティック検索がサポートされています。 ドキュメントとユース ケースの両方が英語の場合にのみ、セマンティック検索を有効にしてください。
- セマンティック検索とベクトル検索は、追加価格の対象となります。
入力した詳細を確認し、[保存して閉じる] を選択します。 これでモデルとチャットできるようになり、データからの情報を使用して応答が作成されます。
チャット プレイグラウンド
チャット プレイグラウンドを使用すると、コードなしのアプローチで Azure OpenAI 機能の探索を開始できます。 これは単に、入力候補を生成するためのプロンプトを送信できるテキスト ボックスです。 このページから、機能をすばやく反復して実験することができます。
温度や応答前のテキストなどの構成設定を実験して、タスクのパフォーマンスを向上させることができます。 各パラメーターの詳細については、REST API に関するページを参照してください。
- [生成] ボタンを選択すると、入力したテキストが入力候補 API に送信され、返された結果がテキスト ボックスにストリーミングされます。
- 前の生成呼び出しを元に戻すには、[元に戻す] ボタンを選択します。
- 元に戻す操作と生成の呼び出しをまとめて行うには、[再生成] ボタンを選択します。
モデルをデプロイする
Azure OpenAI Studio でのエクスペリエンスに納得していただけたら、[デプロイ先] ボタンを選び、Studio から直接 Web アプリをデプロイできます。
これにより、モデルをスタンドアロン Web アプリとしてデプロイするか、Power Virtual Agents をデプロイ (モデルで独自のデータを使用 している場合) するかを選択できます。
たとえば、Web アプリをデプロイすることを選択した場合は、次のようになります:
初めて Web アプリをデプロイする場合は、[新しい Web アプリを作成する] を選ぶ必要があります。 アプリの URL の一部となるアプリ名を決めます。 たとえば、「 https://<appname>.azurewebsites.net
」のように入力します。
発行されたアプリのサブスクリプション、リソース グループ、場所、価格プランを選びます。 既存のアプリを更新するには、[Publish to an existing web app](既存の Web アプリに発行する) を選び、ドロップダウン メニューから従来のアプリの名前を選びます。
Web アプリをデプロイする場合は、その使用に関する重要な考慮事項を参照してください。
必要な変数を取得する
Azure OpenAI の呼び出しを正しく行うには、次の変数が必要です。 このクイックスタートでは、Azure Blob Storage アカウントにデータをアップロードし、Azure Cognitive Search インデックスを作成していることを前提としています。 Azure AI Studio を使用したデータの追加に関するページを参照してください。
変数名 | 値 |
---|---|
AOAIEndpoint |
この値は、Azure portal から Azure OpenAI リソースを確認する際に、[Keys & Endpoint] (キーとエンドポイント) セクションで確認することができます。 または、Azure AI Studio>[チャット プレイグラウンド]>[コード ビュー] で値を確認することもできます。 エンドポイントの例: https://my-resoruce.openai.azure.com 。 |
AOAIKey |
この値は、Azure portal から Azure OpenAI リソースを確認する際に、リソース管理> キー & エンドポイント セクションで確認することができます。 KEY1 または KEY2 を使用できます。 常に 2 つのキーを用意しておくと、サービスを中断させることなく、キーのローテーションと再生成を安全に行うことができます。 |
AOAIDeploymentId |
この値は、モデルのデプロイ時にデプロイに対して選択したカスタム名に対応します。 この値は、Azure portal の [リソース管理]>[デプロイ] または Azure AI Studio の [管理]>[デプロイ] で確認できます。 |
SearchEndpoint |
この値は、Azure portal から Azure Cognitive Search リソースを確認する際に、概要 セクションで確認することができます。 |
SearchKey |
この値は、Azure portal から Azure Cognitive Search リソースを確認する際に、リソース管理>キー & エンドポイント セクションで確認することができます。 KEY1 または KEY2 を使用できます。 常に 2 つのキーを用意しておくと、サービスを中断させることなく、キーのローテーションと再生成を安全に行うことができます。 |
SearchIndex |
この値は、データを格納するために作成したインデックスの名前に対応します。 Azure portal から Azure Cognitive Search リソースを調べる場合は、[概要] セクションで確認できます。 |
環境変数
setx AOAIEndpoint REPLACE_WITH_YOUR_AOAI_ENDPOINT_VALUE_HERE
setx AOAIKey REPLACE_WITH_YOUR_AOAI_KEY_VALUE_HERE
setx AOAIDeploymentId REPLACE_WITH_YOUR_AOAI_DEPLOYMENT_VALUE_HERE
setx SearchEndpoint REPLACE_WITH_YOUR_AZURE_SEARCH_RESOURCE_VALUE_HERE
setx SearchKey REPLACE_WITH_YOUR_AZURE_SEARCH_RESOURCE_KEY_VALUE_HERE
setx SearchIndex REPLACE_WITH_YOUR_INDEX_NAME_HERE
新しい .NET Core アプリを作成する
コンソール ウィンドウ (cmd、PowerShell、Bash など) で、dotnet new
コマンドを使用し、azure-openai-quickstart
という名前で新しいコンソール アプリを作成します。 このコマンドにより、次の C# ソース ファイルを 1 つ使用する単純な "Hello World" プロジェクトが作成されます: Program.cs。
dotnet new console -n azure-openai-quickstart
新しく作成されたアプリ フォルダーにディレクトリを変更します。 次を使用してアプリケーションをビルドできます。
dotnet build
ビルドの出力に警告やエラーが含まれないようにする必要があります。
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
以下を使って、OpenAI .NET クライアント ライブラリをインストールします。
dotnet add package Azure.AI.OpenAI --prerelease
プロジェクト ディレクトリから Program.cs ファイルを開いて、そのコンテンツを以下のコードに置き換えます。
応答ストリーミングなし
using Azure;
using Azure.AI.OpenAI;
using System.Text.Json;
using static System.Environment;
string azureOpenAIEndpoint = GetEnvironmentVariable("AOAIEndpoint");
string azureOpenAIKey = GetEnvironmentVariable("AOAIKey");
string searchEndpoint = GetEnvironmentVariable("SearchEndpoint");
string searchKey = GetEnvironmentVariable("SearchKey");
string searchIndex = GetEnvironmentVariable("SearchIndex");
string deploymentName = GetEnvironmentVariable("AOAIDeploymentId");
var client = new OpenAIClient(new Uri(azureOpenAIEndpoint), new AzureKeyCredential(azureOpenAIKey));
var chatCompletionsOptions = new ChatCompletionsOptions()
{
Messages =
{
new ChatMessage(ChatRole.User, "What are the differences between Azure Machine Learning and Azure AI services?"),
},
AzureExtensionsOptions = new AzureChatExtensionsOptions()
{
Extensions =
{
new AzureCognitiveSearchChatExtensionConfiguration()
{
SearchEndpoint = new Uri(searchEndpoint),
SearchKey = new AzureKeyCredential(searchKey),
IndexName = searchIndex,
},
}
}
};
Response<ChatCompletions> response = client.GetChatCompletions(deploymentName, chatCompletionsOptions);
ChatMessage responseMessage = response.Value.Choices[0].Message;
Console.WriteLine($"Message from {responseMessage.Role}:");
Console.WriteLine("===");
Console.WriteLine(responseMessage.Content);
Console.WriteLine("===");
Console.WriteLine($"Context information (e.g. citations) from chat extensions:");
Console.WriteLine("===");
foreach (ChatMessage contextMessage in responseMessage.AzureExtensionsContext.Messages)
{
string contextContent = contextMessage.Content;
try
{
var contextMessageJson = JsonDocument.Parse(contextMessage.Content);
contextContent = JsonSerializer.Serialize(contextMessageJson, new JsonSerializerOptions()
{
WriteIndented = true,
});
}
catch (JsonException)
{}
Console.WriteLine($"{contextMessage.Role}: {contextContent}");
}
Console.WriteLine("===");
重要
運用環境では、Azure Key Vault などの資格情報を格納してアクセスする安全な方法を使用します。 資格情報のセキュリティについて詳しくは、Azure AI サービスのセキュリティに関する記事をご覧ください。
dotnet run program.cs
出力
Answer from assistant:
===
Azure Machine Learning is a cloud-based service that provides tools and services to build, train, and deploy machine learning models. It offers a collaborative environment for data scientists, developers, and domain experts to work together on machine learning projects. Azure Machine Learning supports various programming languages, frameworks, and libraries, including Python, R, TensorFlow, and PyTorch [^1^].
===
Context information (e.g. citations) from chat extensions:
===
tool: {
"citations": [
{
"content": "...",
"id": null,
"title": "...",
"filepath": "...",
"url": "...",
"metadata": {
"chunking": "orignal document size=1011. Scores=3.6390076 and None.Org Highlight count=38."
},
"chunk_id": "2"
},
...
],
"intent": "[\u0022What are the differences between Azure Machine Learning and Azure AI services?\u0022]"
}
===
これは、結果を出力する前に、モデルが応答全体を生成するまで待機します。 または、応答を非同期的にストリーミングして結果を出力する場合は、Program.cs の内容を次の例のコードに置き換えることができます。
ストリーミングを使用した非同期
using Azure;
using Azure.AI.OpenAI;
using System.Text.Json;
using static System.Environment;
string endpoint = GetEnvironmentVariable("AOAIEndpoint");
string key = GetEnvironmentVariable("AOAIKey");
var client = new OpenAIClient(new Uri(endpoint), new AzureKeyCredential(key));
string azureOpenAIEndpoint = GetEnvironmentVariable("AOAIEndpoint");
string azureOpenAIKey = GetEnvironmentVariable("AOAIKey");
string searchEndpoint = GetEnvironmentVariable("SearchEndpoint");
string searchKey = GetEnvironmentVariable("SearchKey");
string searchIndex = GetEnvironmentVariable("SearchIndex");
string deploymentName = GetEnvironmentVariable("AOAIDeploymentId");
var client = new OpenAIClient(new Uri(azureOpenAIEndpoint), new AzureKeyCredential(azureOpenAIKey));
var chatCompletionsOptions = new ChatCompletionsOptions()
{
Messages =
{
new ChatMessage(ChatRole.User, "What are the differences between Azure Machine Learning and Azure AI services?"),
},
AzureExtensionsOptions = new AzureChatExtensionsOptions()
{
Extensions =
{
new AzureCognitiveSearchChatExtensionConfiguration()
{
SearchEndpoint = new Uri(searchEndpoint),
SearchKey = new AzureKeyCredential(searchKey),
IndexName = searchIndex,
},
}
}
};
Response<StreamingChatCompletions> response = await client.GetChatCompletionsStreamingAsync(
deploymentName,
chatCompletionsOptions);
using StreamingChatCompletions streamingChatCompletions = response.Value;
await foreach (StreamingChatChoice streamingChatChoice in streamingChatCompletions.GetChoicesStreaming())
{
await foreach (ChatMessage chatMessage in streamingChatChoice.GetMessageStreaming())
{
if (chatMessage.Role != default)
{
Console.WriteLine($"Message from {chatMessage.Role}: ");
}
if (chatMessage.Content != default)
{
Console.Write(chatMessage.Content);
}
if (chatMessage.AzureExtensionsContext != default)
{
Console.WriteLine($"Context information (e.g. citations) from chat extensions:");
foreach (var contextMessage in chatMessage.AzureExtensionsContext.Messages)
{
string contextContent = contextMessage.Content;
try
{
var contextMessageJson = JsonDocument.Parse(contextMessage.Content);
contextContent = JsonSerializer.Serialize(contextMessageJson, new JsonSerializerOptions()
{
WriteIndented = true,
});
}
catch (JsonException)
{}
Console.WriteLine($"{contextMessage.Role}: {contextContent}");
}
}
}
}
必要な変数を取得する
Azure OpenAI の呼び出しを正しく行うには、次の変数が必要です。 このクイックスタートでは、Azure Blob Storage アカウントにデータをアップロードし、Azure Cognitive Search インデックスを作成していることを前提としています。 Azure AI Studio を使用したデータの追加に関するページを参照してください。
変数名 | 値 |
---|---|
AOAIEndpoint |
この値は、Azure portal から Azure OpenAI リソースを確認する際に、[Keys & Endpoint] (キーとエンドポイント) セクションで確認することができます。 または、Azure AI Studio>[チャット プレイグラウンド]>[コード ビュー] で値を確認することもできます。 エンドポイントの例: https://my-resoruce.openai.azure.com 。 |
AOAIKey |
この値は、Azure portal から Azure OpenAI リソースを確認する際に、リソース管理> キー & エンドポイント セクションで確認することができます。 KEY1 または KEY2 を使用できます。 常に 2 つのキーを用意しておくと、サービスを中断させることなく、キーのローテーションと再生成を安全に行うことができます。 |
AOAIDeploymentId |
この値は、モデルのデプロイ時にデプロイに対して選択したカスタム名に対応します。 この値は、Azure portal の [リソース管理]>[デプロイ] または Azure AI Studio の [管理]>[デプロイ] で確認できます。 |
SearchEndpoint |
この値は、Azure portal から Azure Cognitive Search リソースを確認する際に、概要 セクションで確認することができます。 |
SearchKey |
この値は、Azure portal から Azure Cognitive Search リソースを確認する際に、リソース管理>キー & エンドポイント セクションで確認することができます。 KEY1 または KEY2 を使用できます。 常に 2 つのキーを用意しておくと、サービスを中断させることなく、キーのローテーションと再生成を安全に行うことができます。 |
SearchIndex |
この値は、データを格納するために作成したインデックスの名前に対応します。 Azure portal から Azure Cognitive Search リソースを調べる場合は、[概要] セクションで確認できます。 |
環境変数
setx AOAIEndpoint REPLACE_WITH_YOUR_AOAI_ENDPOINT_VALUE_HERE
setx AOAIKey REPLACE_WITH_YOUR_AOAI_KEY_VALUE_HERE
setx AOAIDeploymentId REPLACE_WITH_YOUR_AOAI_DEPLOYMENT_VALUE_HERE
setx SearchEndpoint REPLACE_WITH_YOUR_AZURE_SEARCH_RESOURCE_VALUE_HERE
setx SearchKey REPLACE_WITH_YOUR_AZURE_SEARCH_RESOURCE_KEY_VALUE_HERE
setx SearchIndex REPLACE_WITH_YOUR_INDEX_NAME_HERE
Node アプリケーションを作成する
コンソール ウィンドウ (cmd、PowerShell、Bash など) で、ご利用のアプリ用に新しいディレクトリを作成し、そこに移動します。 次に、npm init
コマンドを実行し、package.json ファイルを使用してノード アプリケーションを作成します。
npm init
クライアント ライブラリをインストールする
npm を使用して、JavaScript 用の Azure OpenAI クライアントと Azure ID ライブラリをインストールします。
npm install @azure/openai @azure/identity
アプリの package.json ファイルは依存関係を含めて更新されます。
サンプル アプリケーションを作成する
新しいプロジェクトを作成するコマンド プロンプトを開き、ChatWithOwnData.js という名前の新しいファイルを作成します。 次のコードを ChatWithOwnData.js ファイルにコピーします。
const { OpenAIClient } = require("@azure/openai");
const { DefaultAzureCredential } = require("@azure/identity")
// Set the Azure and Cognitive Search values from environment variables
const endpoint = process.env["AOAIEndpoint"];
const azureApiKey = process.env["AOAIKey"];
const searchEndpoint = process.env["SearchEndpoint"];
const searchKey = process.env["SearchKey"];
const searchIndex = process.env["SearchIndex"];
const deploymentId = process.env["AOAIDeploymentId"];
async function main() {
console.log("== Chat Using Your Own Data Sample ==");
const client = new OpenAIClient(endpoint, new AzureKeyCredential(azureApiKey));
const messages = [
{ role: "user", content: "What are the differences between Azure Machine Learning and Azure AI services?" },
];
// Get chat responses from Azure OpenAI deployment using your own data via Azure Cognitive Search
const events = client.listChatCompletions(deploymentId, messages, {
azureExtensionOptions: {
extensions: [
{
type: "AzureCognitiveSearch",
parameters: {
endpoint: searchEndpoint,
key: searchKey,
indexName: searchIndex,
},
},
],
},
});
// Display chat responses
for await (const event of events) {
for (const choice of event.choices) {
const delta = choice.delta?.content;
const role = choice.delta?.role;
if (delta && role) {
console.log(`${role}: ${delta}`);
const contextMessages = choice.delta?.context?.messages;
if (!!contextMessages) {
console.log("===");
console.log("Context information (e.g. citations) from chat extensions:");
console.log("===");
for (const message of contextMessages) {
// Display context included with chat responses (such as citations)
console.log(message.content);
}
}
}
}
}
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
module.exports = { main };
重要
運用環境では、Azure Key Vault などの資格情報を格納してアクセスする安全な方法を使用します。 資格情報のセキュリティについて詳しくは、Azure AI サービスのセキュリティに関する記事をご覧ください。
node.exe ChatWithOwnData.js
出力
== Chat With Your Own Data Sample ==
assistant: Azure Machine Learning is a cloud-based service that provides tools and services to build, train, and deploy machine learning models. It offers a collaborative environment for data scientists, developers, and domain experts to work together on machine learning projects. Azure Machine Learning supports various programming languages, frameworks, and libraries, including Python, R, TensorFlow, and PyTorch [^1^].
===
Context information (e.g. citations) from chat extensions:
===
tool: {
'citations': [
{
'content': '...',
'id': null,
'title': '...',
'filepath': '...',
'url': '...',
'metadata': {
"chunking': 'orignal document size=1011. Scores=3.6390076 and None.Org Highlight count=38.'
},
'chunk_id': '2'
},
...
],
'intent': '[\u0022What are the differences between Azure Machine Learning and Azure AI services?\u0022]'
}
必要な変数を取得する
Azure OpenAI の呼び出しを正しく行うには、次の変数が必要です。 このクイックスタートでは、Azure Blob Storage アカウントにデータをアップロードし、Azure Cognitive Search インデックスを作成していることを前提としています。 Azure AI Studio を使用したデータの追加に関するページを参照してください。
変数名 | 値 |
---|---|
AOAIEndpoint |
この値は、Azure portal から Azure OpenAI リソースを確認する際に、[Keys & Endpoint] (キーとエンドポイント) セクションで確認することができます。 または、Azure AI Studio>[チャット プレイグラウンド]>[コード ビュー] で値を確認することもできます。 エンドポイントの例: https://my-resoruce.openai.azure.com 。 |
AOAIKey |
この値は、Azure portal から Azure OpenAI リソースを確認する際に、リソース管理> キー & エンドポイント セクションで確認することができます。 KEY1 または KEY2 を使用できます。 常に 2 つのキーを用意しておくと、サービスを中断させることなく、キーのローテーションと再生成を安全に行うことができます。 |
AOAIDeploymentId |
この値は、モデルのデプロイ時にデプロイに対して選択したカスタム名に対応します。 この値は、Azure portal の [リソース管理]>[デプロイ] または Azure AI Studio の [管理]>[デプロイ] で確認できます。 |
SearchEndpoint |
この値は、Azure portal から Azure Cognitive Search リソースを確認する際に、概要 セクションで確認することができます。 |
SearchKey |
この値は、Azure portal から Azure Cognitive Search リソースを確認する際に、リソース管理>キー & エンドポイント セクションで確認することができます。 KEY1 または KEY2 を使用できます。 常に 2 つのキーを用意しておくと、サービスを中断させることなく、キーのローテーションと再生成を安全に行うことができます。 |
SearchIndex |
この値は、データを格納するために作成したインデックスの名前に対応します。 Azure portal から Azure Cognitive Search リソースを調べる場合は、[概要] セクションで確認できます。 |
環境変数
setx AOAIEndpoint REPLACE_WITH_YOUR_AOAI_ENDPOINT_VALUE_HERE
setx AOAIKey REPLACE_WITH_YOUR_AOAI_KEY_VALUE_HERE
setx AOAIDeploymentId REPLACE_WITH_YOUR_AOAI_DEPLOYMENT_VALUE_HERE
setx SearchEndpoint REPLACE_WITH_YOUR_AZURE_SEARCH_RESOURCE_VALUE_HERE
setx SearchKey REPLACE_WITH_YOUR_AZURE_SEARCH_RESOURCE_KEY_VALUE_HERE
setx SearchIndex REPLACE_WITH_YOUR_INDEX_NAME_HERE
cURL コマンドの例
Azure OpenAI チャット モデルは、会話形式の入力を処理するように最適化されています。 messages
変数は、システム、ユーザー、ツール、アシスタントによって示された会話内のさまざまなロールを持つディクショナリの配列を渡します。 dataSources
変数は Azure Cognitive Search インデックスに接続し、Azure OpenAI モデルがデータを使用して応答できるようにします。
モデルからの応答をトリガーするには、アシスタントが応答する番であることを示すユーザー メッセージで終了する必要があります。
ヒント
temperature
や top_p
など、モデルの応答を変更するために使用できるパラメーターがいくつかあります。 詳しくは、リファレンス ドキュメントをご覧ください。
curl -i -X POST $AOAIEndpoint/openai/deployments/$AOAIDeploymentId/extensions/chat/completions?api-version=2023-06-01-preview \
-H "Content-Type: application/json" \
-H "api-key: $AOAIKey" \
-d \
'
{
"dataSources": [
{
"type": "AzureCognitiveSearch",
"parameters": {
"endpoint": "'$SearchEndpoint'",
"key": "'$SearchKey'",
"indexName": "'$SearchIndex'"
}
}
],
"messages": [
{
"role": "user",
"content": "What are the differences between Azure Machine Learning and Azure AI services?"
}
]
}
'
出力例
{
"id": "12345678-1a2b-3c4e5f-a123-12345678abcd",
"model": "",
"created": 1684304924,
"object": "chat.completion",
"choices": [
{
"index": 0,
"messages": [
{
"role": "tool",
"content": "{\"citations\": [{\"content\": \"\\nAzure AI services are cloud-based artificial intelligence (AI) services...\", \"id\": null, \"title\": \"What is Azure AI services\", \"filepath\": null, \"url\": null, \"metadata\": {\"chunking\": \"orignal document size=250. Scores=0.4314117431640625 and 1.72564697265625.Org Highlight count=4.\"}, \"chunk_id\": \"0\"}], \"intent\": \"[\\\"Learn about Azure AI services.\\\"]\"}",
"end_turn": false
},
{
"role": "assistant",
"content": " \nAzure AI services are cloud-based artificial intelligence (AI) services that help developers build cognitive intelligence into applications without having direct AI or data science skills or knowledge. [doc1]. Azure Machine Learning is a cloud service for accelerating and managing the machine learning project lifecycle. [doc1].",
"end_turn": true
}
]
}
]
}
Web アプリを使用してモデルとチャットする
データを使用する Azure OpenAI モデルとのチャットを開始するには、Azure OpenAI studio または GitHub で提供 されているサンプル コードを使用して Web アプリをデプロイします。 このアプリは、Azure App Service を使用してデプロイされます。これにより、クエリを送信するためのユーザー インターフェイスが提供されます。 このアプリでは、データを使用する Azure OpenAI モデル、またはデータを使用しないモデルを使用できます。 要件、セットアップ、デプロイの手順については、リポジトリ内の readme ファイルを参照してください。 必要に応じて、ソース コードを変更することで、Web アプリのフロントエンドとバックエンドのロジックをカスタマイズできます。
リソースをクリーンアップする
OpenAI リソースまたは Azure Cognitive Search リソースをクリーンアップして削除する場合は、リソースまたはリソース グループを削除できます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。
次の手順
- Azure OpenAI Service でのデータの使用に関する詳細を確認します。
- GitHub 上のチャット アプリのサンプル コード。