Skip to content

Commit

Permalink
Copy Files From Source Repo (2023-12-15 17:33)
Browse files Browse the repository at this point in the history
  • Loading branch information
olprod committed Dec 16, 2023
1 parent ceafda2 commit 47359af
Show file tree
Hide file tree
Showing 6 changed files with 363 additions and 229 deletions.
33 changes: 11 additions & 22 deletions Instructions/Labs/01-get-started-azure-openai.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,35 +34,24 @@ Azure OpenAI モデルを使用する前に、Azure サブスクリプション
Azure OpenAI には、モデルのデプロイ、管理、探索に使用できる **Azure OpenAI Studio** という名前の Web ベースのポータルが用意されています。 Azure OpenAI Studio を使用してモデルをデプロイすることで、Azure OpenAI の探索を開始します。

1. Azure OpenAI リソースの **[概要]** ページで、 **[Azure OpenAI Studio に移動する]** ボタンを使用して、新しいブラウザー タブで Azure OpenAI Studio を開きます。
2. Azure OpenAI Studio で、次の設定で新しいデプロイを作成します
- **モデル**: gpt-35-turbo
2. Azure OpenAI Studio [**デプロイ**] ページで、既存のモデルのデプロイを表示します。 まだデプロイがない場合は、次の設定で **gpt-35-turbo-16k** モデルの新しいデプロイを作成します
- **モデル**: gpt-35-turbo-16k
- **モデル バージョン**: 既定値に自動更新
- **デプロイ名**: my-gpt-model
- **デプロイの名前**: *任意の一意の名前*
- **詳細オプション**
- **コンテンツ フィルター**: 既定
- **1 分あたりのトークンのレート制限**: 5K\*
- **動的クォータを有効にする**: 有効

> ****: Azure OpenAI には複数のモデルが含まれており、それぞれが機能とパフォーマンスの異なるバランスに合わせて最適化されています。 この演習では、**GPT-35-Turbo** モデルを使用します。これは、自然言語とコードを要約して生成するための優れた一般的なモデルです。 Azure OpenAI で使用可能なモデルの詳細については、Azure OpenAI ドキュメントの[モデル](https://learn.microsoft.com/azure/cognitive-services/openai/concepts/models)に関する記事を参照してください
> \* この演習は、1 分あたり 5,000 トークンのレート制限内で余裕を持って完了できます。またこの制限によって、同じサブスクリプションを使用する他のユーザーのために容量を残すこともできます
## 入力候補のプレイグラウンドでモデルを探索する

"プレイグラウンド" は、Azure OpenAI Studio の便利なインターフェイスであり、独自のクライアント アプリケーションを開発することなく、デプロイされるモデルを実験するために使用できます。**

1. Azure OpenAI Studio の左ペインの **[プレイグラウンド]** で、 **[入力候補]** を選択します。
2. **[入力候補]** ページで、**my-gpt-model** デプロイが選択されていることを確認し、 **[]** の一覧で **[テストの生成]** を選択します。

テキストの要約のサンプルは、どのような応答が必要かをモデルに伝え、コンテキスト情報を含めたテキストを提供する "プロンプト" で構成されています。**

3. ページの下部の、テキストで検出された "トークン" の数をメモします。** トークンは、プロンプトの基本的な単位です。基本的には、テキスト内の単語または単語の一部です。
4. **[生成]** ボタンを使用して、プロンプトをモデルに送信し、応答を取得します。

応答は、プロンプトの例に基づくテストで構成されます。

5. **[再生成]** ボタンを使用してプロンプトを再送信します。応答が元のものとは異なる場合があります。 生成 AI モデルは、呼び出されるたびに新しい言葉を生成できます。
6. **[コードの表示]** ボタンを使用して、クライアント アプリケーションがプロンプトの送信に使用するコードを表示します。 任意のプログラミング言語を選択できます。 プロンプトには、モデルに送信したテキストが含まれます。 要求は、Azure OpenAI Service の *Completions* API に送信されます。
> ****: 一部のリージョンでは、新しいモデル デプロイ インターフェイスに [**モデル バージョン**] オプションが表示されません。 この場合は、オプションを設定せずにそのまま続行してください。
## チャット プレイグラウンドを使用する

"チャット" プレイグラウンドには、GPT 3.5 以降のモデル用のチャットボット インターフェイスが用意されています。** 以前の *Completions* API ではなく *ChatCompletions* API が使用されます。

1. **[プレイグラウンド]** セクションで **[チャット]** ページを選択し、右側の構成ペインで **my-gpt-model** モデルが選択されていることを確認します
1. [**プレイグラウンド**] セクションで [**チャット**] ページを選択し、右側の構成ウィンドウでモデルが選択されていることを確認します
2. **[アシスタントのセットアップ]** セクションの **[システム メッセージ]** ボックスで、現在のテキストを `The system is an AI teacher that helps people learn about AI` のステートメントに置き換えます。

3. **[システム メッセージ]** ボックスの下にある **[Add few-shot examples] (Few-shot の例を追加する)** をクリックし、指定されたボックスに次のメッセージと応答を入力します。
Expand All @@ -88,7 +77,7 @@ Azure OpenAI には、モデルのデプロイ、管理、探索に使用でき

1. **[パラメーター]** ペインでは、次のパラメーター値を設定します。
- **[温度]** : 0
- **[最大長 (トークン)]** : 500
- **最大応答**: 500

2. 次のメッセージを送信します

Expand Down
133 changes: 70 additions & 63 deletions Instructions/Labs/02-natural-language-azure-openai.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,18 @@ Azure OpenAI モデルを使用する前に、Azure サブスクリプション
Azure OpenAI API を使用するには、まず、**Azure OpenAI Studio** を介して使用するモデルをデプロイする必要があります。 デプロイが完了したら、アプリでそのモデルを参照します。

1. Azure OpenAI リソースの **[概要]** ページで、 **[探索]** ボタンを使用して、新しいブラウザー タブで Azure OpenAI Studio を開きます。
2. Azure OpenAI Studio で、次の設定で新しいデプロイを作成します。
- **モデル**: gpt-35-turbo
- **モデル バージョン**: "既定のバージョンを使用する"**
- **デプロイ名**: text-turbo
2. Azure OpenAI Studio の [**デプロイ**] ページで、既存のモデルのデプロイを表示します。 まだデプロイがない場合は、次の設定で **gpt-35-turbo-16k** モデルの新しいデプロイを作成します。
- **モデル**: gpt-35-turbo-16k
- **モデル バージョン**: 既定値に自動更新
- **デプロイの名前**: *任意の一意の名前*
- **詳細オプション**
- **コンテンツ フィルター**: 既定
- **1 分あたりのトークンのレート制限**: 5K\*
- **動的クォータを有効にする**: 有効

> ****: 各 Azure OpenAI モデルは、機能とパフォーマンスの異なるバランスに合わせて最適化されています。 この演習では、**GPT-3** モデル ファミリの **3.5 Turbo** モデル シリーズを使用します。これは、言語理解に非常に適しています。 この演習では 1 つのモデルのみを使いますが、デプロイする他のモデルのデプロイと使用の場合も同じように動作します。
> \* この演習は、1 分あたり 5,000 トークンのレート制限内で余裕を持って完了できます。またこの制限によって、同じサブスクリプションを使用する他のユーザーのために容量を残すこともできます。
> ****: 一部のリージョンでは、新しいモデル デプロイ インターフェイスに [**モデル バージョン**] オプションが表示されません。 この場合は、オプションを設定せずにそのまま続行してください
## Cloud Shell でアプリケーションを設定する

Expand Down Expand Up @@ -79,17 +85,19 @@ Azure OpenAI モデルと統合する方法を示すために、Azure 上の Clo
cd azure-openai/Labfiles/02-nlp-azure-openai
```

C# と Python の両方のアプリケーションと、要約のテストに使用するサンプル テキスト ファイルが提供されています。 どちらのアプリにも同じ機能があります
7. 次のコマンドを実行して、組み込みのコード エディターを開きます

組み込みのコード エディターを開き、`text-files/sample-text.txt` にあるモデルで要約するテキスト ファイルを確認します。 次のコマンドを使用して、コード エディターでラボ ファイルを開きます。
```bash
code .
```

```bash
code .
```
8. コード エディターで**テキスト ファイル** フォルダーを展開し、**sample-text.txt** を選択して、モデルを使用して集計するテキストを表示します。

> **ヒント**: Azure Cloud Shell コード エディターを使用して Azure Cloud Shell 環境でファイルを操作する方法の詳細については、[Azure Cloud Shell コード エディターのドキュメント](https://learn.microsoft.com/azure/cloud-shell/using-cloud-shell-editor)を参照してください。

## アプリケーションの作成

この演習では、Azure OpenAI リソースの使用を有効にするために、アプリケーションのいくつかの重要な部分を完成します。
この演習では、Azure OpenAI リソースの使用を有効にするために、アプリケーションのいくつかの重要な部分を完成します。 C# と Python の両方のアプリケーションが提供されています。 どちらのアプリにも同じ機能があります。

1. コード エディターで、言語の設定に応じて **CSharp** または **Python** フォルダーを展開します。

Expand All @@ -98,92 +106,91 @@ code .
- C#: `appsettings.json`
- Python: `.env`

3. 構成値を更新して、作成した Azure OpenAI リソースの**エンドポイント**および**キー**と、デプロイしたモデル名 (`text-turbo`) を含めるようにします。 ファイルを保存します。
3. 構成値を更新して、作成した Azure OpenAI リソースの**エンドポイント****キー**と、デプロイしたモデル名を含めるようにします。 ファイルを保存します。

4. 優先する言語のフォルダーに移動し、必要なパッケージをインストールします
4. コンソール ウィンドウで次のコマンドを入力して、優先言語のフォルダーに移動し、必要なパッケージをインストールします

**C#**

```bash
cd CSharp
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.5
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.9
```

**Python**

```bash
cd Python
pip install python-dotenv
pip install openai
cd Python
pip install python-dotenv
pip install openai==1.2.0
```

5. 選択した言語のフォルダーに移動し、コード ファイルを選択して、必要なライブラリを追加します。

**C#**

```csharp
// Add Azure OpenAI package
using Azure.AI.OpenAI;
// Add Azure OpenAI package
using Azure.AI.OpenAI;
```

**Python**

```python
# Add OpenAI import
import openai
# Add OpenAI import
from openai import AzureOpenAI
```

5. 言語のアプリケーション コードを開き、要求をビルドするために必要なコードを追加します。これにより、`prompt``temperature` などのモデルのさまざまなパラメーターが指定されます。
6. 言語のアプリケーション コードを開き、要求をビルドするために必要なコードを追加します。これにより、`prompt``temperature` などのモデルのさまざまなパラメーターが指定されます。

**C#**

```csharp
// Initialize the Azure OpenAI client
OpenAIClient client = new OpenAIClient(new Uri(oaiEndpoint), new AzureKeyCredential(oaiKey));
// Build completion options object
ChatCompletionsOptions chatCompletionsOptions = new ChatCompletionsOptions()
{
Messages =
{
new ChatMessage(ChatRole.System, "You are a helpful assistant. Summarize the following text in 60 words or less."),
new ChatMessage(ChatRole.User, text),
},
MaxTokens = 120,
Temperature = 0.7f,
};
// Send request to Azure OpenAI model
ChatCompletions response = client.GetChatCompletions(
deploymentOrModelName: oaiModelName,
chatCompletionsOptions);
string completion = response.Choices[0].Message.Content;
Console.WriteLine("Summary: " + completion + "\n");
// Initialize the Azure OpenAI client
OpenAIClient client = new OpenAIClient(new Uri(oaiEndpoint), new AzureKeyCredential(oaiKey));
// Build completion options object
ChatCompletionsOptions chatCompletionsOptions = new ChatCompletionsOptions()
{
Messages =
{
new ChatMessage(ChatRole.System, "You are a helpful assistant."),
new ChatMessage(ChatRole.User, "Summarize the following text in 20 words or less:\n" + text),
},
MaxTokens = 120,
Temperature = 0.7f,
DeploymentName = oaiModelName
};
// Send request to Azure OpenAI model
ChatCompletions response = client.GetChatCompletions(chatCompletionsOptions);
string completion = response.Choices[0].Message.Content;
Console.WriteLine("Summary: " + completion + "\n");
```

**Python**

```python
# Set OpenAI configuration settings
openai.api_type = "azure"
openai.api_base = azure_oai_endpoint
openai.api_version = "2023-03-15-preview"
openai.api_key = azure_oai_key
# Send request to Azure OpenAI model
print("Sending request for summary to Azure OpenAI endpoint...\n\n")
response = openai.ChatCompletion.create(
engine=azure_oai_model,
temperature=0.7,
max_tokens=120,
messages=[
{"role": "system", "content": "You are a helpful assistant. Summarize the following text in 60 words or less."},
{"role": "user", "content": text}
]
)
print("Summary: " + response.choices[0].message.content + "\n")
# Initialize the Azure OpenAI client
client = AzureOpenAI(
azure_endpoint = azure_oai_endpoint,
api_key=azure_oai_key,
api_version="2023-05-15"
)
# Send request to Azure OpenAI model
response = client.chat.completions.create(
model=azure_oai_model,
temperature=0.7,
max_tokens=120,
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Summarize the following text in 20 words or less:\n" + text}
]
)
print("Summary: " + response.choices[0].message.content + "\n")
```

## アプリケーションを実行する
Expand Down
Loading

0 comments on commit 47359af

Please sign in to comment.