Diff Insight Report - openai

最終更新日: 2024-09-28

利用上の注意

このポストは Microsoft 社の Azure 公式ドキュメント(CC BY 4.0 または MIT ライセンス) をもとに生成AIを用いて翻案・要約した派生作品です。 元の文書は MicrosoftDocs/azure-ai-docs にホストされています。

生成AIの性能には限界があり、誤訳や誤解釈が含まれる可能性があります。 本ポストはあくまで参考情報として用い、正確な情報は必ず元の文書を参照してください。

このポストで使用されている商標はそれぞれの所有者に帰属します。これらの商標は技術的な説明のために使用されており、商標権者からの公式な承認や推奨を示すものではありません。

View Diff on GitHub

Highlights

このドキュメント更新では、以下の新機能と主要な変更点に焦点を当てています:
1. APIバージョンの更新
2. 新しいパラメーターとオプションの追加
3. ツールリソース機能の追加
4. モデル引退の通知プロセスの明確化
5. 開発プロセスに関する詳細な手順の追加

New features

  1. APIバージョンの更新: APIのバージョンが2024-05-01-previewから2024-08-01-previewに更新されました。
  2. 新しいパラメーターとオプション: additional_instructionsadditional_messagestemperaturetop_pmax_prompt_tokens及びmax_completion_tokensといった新しいパラメーターが追加されました。
  3. ツールリソース機能: tool_resourcesフィールドが追加され、特定のツールに対するリソースの管理が強化されました。
  4. 開発プロセスの詳細: データの取り込み、アプリケーションの開発、推論に関する具体的な手順が追加されました。
  5. ワークフローダイアグラム: Azure OpenAI On Your Dataの利用プロセスを視覚化する新しいダイアグラムが追加されました。

Breaking changes

特に重大な破壊的変更はありませんが、file_idsattachmentsに変更されるなど、APIを利用する上でのパラメーター名の変更が行われています。

Other updates

  1. モデル引退の通知プロセス: モデル引退日の通知プロセスがより明確に定義されました。具体的には、引退日が通常1年後に設定され、GAモデルについては少なくとも60日前、プレビュー版モデルについては少なくとも30日前に通知されることになりました。

Insights

Azure OpenAIサービスにおけるAPIバージョンの更新や、各種パラメーター、ツールリソース機能の追加により、ユーザーにとっての柔軟性と利便性が大きく向上しました。以下に各変更の意味とその背後にある意図を掘り下げてみます。

今回のAPIバージョンの更新は、おそらく新しいフィーチャーや最適化の導入を反映しています。新しいパラメーターの追加(例えば、additional_instructionsadditional_messages)は、ユーザーが実行ごとに細かい指示やメッセージを付加するための高い拡張性を提供すると同時に、出力のランダム性を管理するためのtemperaturetop_pといったサンプリングオプションも追加されています。これにより、ユーザーは生成されるテキストの質と予測性をより細かく調整できるようになりました。

また、tool_resourcesフィールドの追加により、特定のツールに対して必要なリソースを細かく設定できるようになりました。例えば、コードインタープリターやファイル検索ツールに必要なファイルIDやベクターストアIDをリスト化することで、アシスタントの動作がより合理的かつ効果的に進行するようになります。

モデルの引退に関する情報提供に関する明確なガイドラインの導入も重要です。これにより、ユーザーはモデルのライフサイクル管理をより効果的に行うことができるようになり、計画的な運用が可能になります。

Azure OpenAI On Your Dataに関する新しい開発プロセスの詳細が追加されたのも見逃せないポイントです。データの取り込みからアプリケーションの開発、そして推論までの具体的な手順が示されていることで、開発者はよりスムーズに自身のデータを活用したAIソリューションを構築できます。このプロセスを視覚化するためのワークフローダイアグラムの追加も、理解を助けるうえで非常に有益です。

総じて、このアップデート

Summary Table

Filename Type Title Status A D M
assistants-reference-messages.md minor update APIバージョンの更新と用語の変更 modified 17 16 33
assistants-reference-runs.md minor update APIバージョンの更新と新機能の追加 modified 61 31 92
assistants-reference-threads.md minor update APIバージョンの更新と新しいツールリソース機能の追加 modified 30 13 43
assistants-reference.md minor update APIバージョンの更新とツールリソースの新機能追加 modified 26 22 48
model-retirements.md minor update モデルの引退日通知の変更 modified 1 1 2
use-your-data.md minor update Azure OpenAI On Your Dataの開発プロセスに関するセクションの追加 modified 17 5 22
workflow-diagram.png new feature ワークフローダイアグラムの追加 added 0 0 0

Modified Contents

articles/ai-services/openai/assistants-reference-messages.md

Diff
@@ -21,7 +21,7 @@ This article provides reference documentation for Python and REST for the new As
 ## Create message
 
 ```http
-POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-05-01-preview
+POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-01-preview
 ```
 
 Create a message.
@@ -38,7 +38,7 @@ Create a message.
 |---  |---   |---       |---          |
 | `role` | string | Required | The role of the entity that is creating the message. Can be `user` or `assistant`. `user` indicates the message is sent by an actual user and should be used in most cases to represent user-generated messages. `assistant` indicates the message is generated by the assistant. Use this value to insert messages from the assistant into the conversation. |
 | `content` | string | Required | The content of the message. |
-| `file_ids` | array | Optional | A list of File IDs that the message should use. There can be a maximum of 10 files attached to a message. Useful for tools like retrieval and code_interpreter that can access and use files. |
+| `attachments` | array | Optional | A list of files attached to the message, and the tools they should be added to. |
 | `metadata` | map | Optional | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long. |
 
 ### Returns
@@ -54,7 +54,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -69,7 +69,7 @@ print(thread_message)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-05-01-preview \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-01-preview \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' \
   -d '{
@@ -83,7 +83,7 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/mess
 ## List messages
 
 ```http
-GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-05-01-preview
+GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-01-preview
 ```
 
 Returns a list of messages for a given thread.
@@ -102,6 +102,7 @@ Returns a list of messages for a given thread.
 | `limit` | integer | Optional - Defaults to 20 |A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.|
 | `order` | string | Optional - Defaults to desc |Sort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order.|
 | `after` | string | Optional | A cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.|
+| `run_id` | string | Optionanl | Filter messages by the run ID that generated them. |
 | `before` | string | Optional | A cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.|
 
 ### Returns
@@ -117,7 +118,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -129,7 +130,7 @@ print(thread_messages.data)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-05-01-preview \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-01-preview \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' 
 ```
@@ -139,7 +140,7 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/mess
 ## Retrieve message
 
 ```http
-GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-05-01-preview
+GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
 ```
 
 Retrieves a message file.
@@ -180,7 +181,7 @@ print(message)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-05-01-preview \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' 
 ```
@@ -190,7 +191,7 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/mess
 ## Modify message
 
 ```http
-POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-05-01-preview
+POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
 ```
 
 Modifies a message.
@@ -206,7 +207,7 @@ Modifies a message.
 
 |Parameter| Type | Required | Description |
 |---|---|---|---|
-| metadata | map| Optional | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.|
+| `metadata` | map| Optional | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.|
 
 ### Returns
 
@@ -219,7 +220,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -237,7 +238,7 @@ print(message)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-05-01-preview
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
 ``` \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' \
@@ -256,7 +257,7 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/mess
 
 
 ```http
-DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-05-01-preview
+DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
 ```
 
 Deletes a message.
@@ -278,7 +279,7 @@ The deletion status of the [message](#message-object) object.
 from openai import AzureOpenAI
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -292,7 +293,7 @@ print(deleted_message)
 # [REST](#tab/rest)
 
 ```console
-curl -x DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-05-01-preview \
+curl -x DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json'
 ```

Summary

{
    "modification_type": "minor update",
    "modification_title": "APIバージョンの更新と用語の変更"
}

Explanation

この変更は、OpenAI APIのリファレンスドキュメントに対するマイナーなアップデートです。主なポイントは、APIのバージョンが「2024-05-01-preview」から「2024-08-01-preview」に更新されていることです。また、メッセージに関連するパラメーター名の変更も見られます。具体的には、file_idsattachmentsに変更されており、これはメッセージに添付されるファイルのリストを示すものです。この変更により、APIの機能が拡張されるとともに、利用者にとっての可読性が向上します。

ドキュメント内では、複数のAPIエンドポイントが影響を受けており、各種メッセージ操作におけるAPIバージョンの更新が一貫して反映されています。変更箇所では、新しいAPIバージョンを使用した例が示され、ユーザーがアップデートされた仕様を容易に理解できるようになっています。

articles/ai-services/openai/assistants-reference-runs.md

Diff
@@ -5,9 +5,9 @@ description: Learn how to use Azure OpenAI's Python & REST API runs with Assista
 manager: nitinme
 ms.service: azure-ai-openai
 ms.topic: conceptual
-ms.date: 04/16/2024
-author: mrbullwinkle
-ms.author: mbullwin
+ms.date: 09/17/2024
+author: aahill
+ms.author: aahi
 recommendations: false
 ms.custom: devx-track-python
 ---
@@ -21,7 +21,7 @@ This article provides reference documentation for Python and REST for the new As
 ## Create run
 
 ```http
-POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs?api-version=2024-05-01-preview
+POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs?api-version=2024-08-01-preview
 ```
 
 Create a run.
@@ -39,8 +39,19 @@ Create a run.
 | `assistant_id` | string | Required | The ID of the assistant to use to execute this run. |
 | `model` | string or null | Optional | The model deployment name to be used to execute this run. If a value is provided here, it will override the model deployment name associated with the assistant. If not, the model deployment name associated with the assistant will be used. |
 | `instructions` | string or null | Optional | Overrides the instructions of the assistant. This is useful for modifying the behavior on a per-run basis. |
+| `additional_instructions` | string | Optional | Appends additional instructions at the end of the instructions for the run. This is useful for modifying the behavior on a per-run basis without overriding other instructions. |
+| `additional_messages` | array | Optional | Adds additional messages to the thread before creating the run. |
 | `tools` | array or null | Optional | Override the tools the assistant can use for this run. This is useful for modifying the behavior on a per-run basis. |
 | `metadata` | map | Optional | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long. |
+| `temperature` | number | Optional | What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. Default is 1. |
+| `top_p` | number | Optional | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We generally recommend altering this or temperature but not both. Default is 1. |
+| `stream` | boolean | optional | If `true`, returns a stream of events that happen during the Run as server-sent events, terminating when the Run enters a terminal state with a `data: [DONE]` message. |
+| `max_prompt_tokens` | integer | optional | The maximum number of completion tokens that might be used over the course of the run. The run will make a best effort to use only the number of completion tokens specified, across multiple turns of the run. If the run exceeds the number of completion tokens specified, the run will end with status `incomplete`. |
+| `max_completion_tokens` | integer | optional | The maximum number of completion tokens that might be used over the course of the run. The run will make a best effort to use only the number of completion tokens specified, across multiple turns of the run. If the run exceeds the number of completion tokens specified, the run will end with status `incomplete`. |
+| `truncation_strategy` | [truncationObject](#truncation-object) | optional | Controls for how a thread will be truncated prior to the run. Use this to control the initial context window of the run. |
+| `tool_choice` | string or object | optional | Controls which (if any) tool is called by the model. A `none` value means the model won't call any tools and instead generates a message. `auto` is the default value and means the model can pick between generating a message or calling a tool. Specifying a particular tool like `{"type": "file_search"}` or `{"type": "function", "function": {"name": "my_function"}}` forces the model to call that tool. |
+| `response_format` | string or object | optional | Specifies the format that the model must output. Compatible with GPT-4 Turbo and all GPT-3.5 Turbo models since `gpt-3.5-turbo-1106`. <br> Setting to `{ "type": "json_object" }` enables JSON mode, which guarantees the message the model generates is valid JSON. <br> **Important**: when using JSON mode, you must also instruct the model to produce JSON yourself via a system or user message. Without this, the model might generate an unending stream of whitespace until the generation reaches the token limit, resulting in a long-running and seemingly "stuck" request. Also note that the message content might be partially cut off if `finish_reason="length"`, which indicates the generation exceeded `max_tokens` or the conversation exceeded the max context length. |
+
 
 ### Returns
 
@@ -55,7 +66,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -69,7 +80,7 @@ print(run)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs?api-version=2024-05-01-preview \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs?api-version=2024-08-01-preview \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' \
   -d '{
@@ -82,7 +93,7 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs
 ## Create thread and run
 
 ```http
-POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/runs?api-version=2024-05-01-preview
+POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/runs?api-version=2024-08-01-preview
 ```
 
 Create a thread and run it in a single request.
@@ -97,6 +108,14 @@ Create a thread and run it in a single request.
 | `instructions` | string or null  | Optional | Override the default system message of the assistant. This is useful for modifying the behavior on a per-run basis.|
 | `tools` | array or null  | Optional | Override the tools the assistant can use for this run. This is useful for modifying the behavior on a per-run basis.|
 | `metadata` | map  | Optional | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.|
+| `temperature` | number | Optional | What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. Default is 1. |
+| `top_p` | number | Optional | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We generally recommend altering this or temperature but not both. Default is 1. |
+| `stream` | boolean | optional | If `true`, returns a stream of events that happen during the Run as server-sent events, terminating when the Run enters a terminal state with a `data: [DONE]` message. |
+| `max_prompt_tokens` | integer | optional | The maximum number of completion tokens that might be used over the course of the run. The run will make a best effort to use only the number of completion tokens specified, across multiple turns of the run. If the run exceeds the number of completion tokens specified, the run will end with status `incomplete`. |
+| `max_completion_tokens` | integer | optional | The maximum number of completion tokens that might be used over the course of the run. The run will make a best effort to use only the number of completion tokens specified, across multiple turns of the run. If the run exceeds the number of completion tokens specified, the run will end with status `incomplete`. |
+| `truncation_strategy` | [truncationObject](#truncation-object) | optional | Controls for how a thread will be truncated prior to the run. Use this to control the initial context window of the run. |
+| `tool_choice` | string or object | optional | Controls which (if any) tool is called by the model. A `none` value means the model won't call any tools and instead generates a message. `auto` is the default value and means the model can pick between generating a message or calling a tool. Specifying a particular tool like `{"type": "file_search"}` or `{"type": "function", "function": {"name": "my_function"}}` forces the model to call that tool. |
+| `response_format` | string or object | optional | Specifies the format that the model must output. Compatible with GPT-4 Turbo and all GPT-3.5 Turbo models since `gpt-3.5-turbo-1106`. <br> Setting to `{ "type": "json_object" }` enables JSON mode, which guarantees the message the model generates is valid JSON. <br> **Important**: when using JSON mode, you must also instruct the model to produce JSON yourself via a system or user message. Without this, the model might generate an unending stream of whitespace until the generation reaches the token limit, resulting in a long-running and seemingly "stuck" request. Also note that the message content might be partially cut off if `finish_reason="length"`, which indicates the generation exceeded `max_tokens` or the conversation exceeded the max context length. |
 
 ### Returns
 
@@ -111,7 +130,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -128,7 +147,7 @@ run = client.beta.threads.create_and_run(
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/runs?api-version=2024-05-01-preview \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/runs?api-version=2024-08-01-preview \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' \
   -d '{
@@ -146,7 +165,7 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/runs?api-version
 ## List runs
 
 ```http
-GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs?api-version=2024-05-01-preview
+GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs?api-version=2024-08-01-preview
 ```
 
 Returns a list of runs belonging to a thread.
@@ -179,7 +198,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -202,7 +221,7 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs
 ## List run steps
 
 ```http
-GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/steps?api-version=2024-05-01-preview
+GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/steps?api-version=2024-08-01-preview
 ```
 
 Returns a list of steps belonging to a run.
@@ -236,7 +255,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -250,7 +269,7 @@ print(run_steps)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/steps?api-version=2024-05-01-preview \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/steps?api-version=2024-08-01-preview \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' 
 ```
@@ -276,7 +295,7 @@ print(run)
 # [REST](#tab/rest)
 
 ```http
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}?api-version=2024-05-01-preview
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}?api-version=2024-08-01-preview
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' 
 ```
@@ -305,7 +324,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -319,7 +338,7 @@ print(run)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}?api-version=2024-05-01-preview \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}?api-version=2024-08-01-preview \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' 
 ```
@@ -329,7 +348,7 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs
 ## Retrieve run step
 
 ```http
-GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/steps/{step_id}?api-version=2024-05-01-preview
+GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/steps/{step_id}?api-version=2024-08-01-preview
 ```
 
 Retrieves a run step.
@@ -355,7 +374,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -370,7 +389,7 @@ print(run_step)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/steps/{step_id}?api-version=2024-05-01-preview \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/steps/{step_id}?api-version=2024-08-01-preview \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' 
 ```
@@ -380,7 +399,7 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs
 ## Modify run
 
 ```http
-POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}?api-version=2024-05-01-preview
+POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}?api-version=2024-08-01-preview
 ```
 
 Modifies a run.
@@ -411,7 +430,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -426,7 +445,7 @@ print(run)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}?api-version=2024-05-01-preview \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}?api-version=2024-08-01-preview \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' 
   -d '{
@@ -441,7 +460,7 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs
 ## Submit tool outputs to run
 
 ```http
-POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/submit_tool_outputs?api-version=2024-05-01-preview
+POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/submit_tool_outputs?api-version=2024-08-01-preview
 ```
 
 When a run has the status: "requires_action" and required_action.type is submit_tool_outputs, this endpoint can be used to submit the outputs from the tool calls once they're all completed. All outputs must be submitted in a single request.
@@ -458,6 +477,7 @@ When a run has the status: "requires_action" and required_action.type is submit_
 |Name | Type | Required | Description |
 |---  |---   |---       |--- |
 | `tool_outputs` | array | Required | A list of tools for which the outputs are being submitted. |
+| `stream` | boolean | Optional | If `true`, returns a stream of events that happen during the Run as server-sent events, terminating when the Run enters a terminal state with a `data: [DONE]` message. |
 
 ### Returns
 
@@ -472,7 +492,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -492,7 +512,7 @@ print(run)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/submit_tool_outputs?api-version=2024-05-01-preview \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/submit_tool_outputs?api-version=2024-08-01-preview \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' \
   -d '{
@@ -511,7 +531,7 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs
 ## Cancel a run
 
 ```http
-POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/cancel?api-version=2024-05-01-preview
+POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/cancel?api-version=2024-08-01-preview
 ```
 
 Cancels a run that is in_progress.
@@ -536,7 +556,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -550,7 +570,7 @@ print(run)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/cancel?api-version=2024-05-01-preview \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/cancel?api-version=2024-08-01-preview \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' \
   -X POST
@@ -586,7 +606,9 @@ Represents an execution run on a thread.
 | `max_prompt_tokens` | integer or null | The maximum number of prompt tokens specified to have been used over the course of the run. |
 | `max_completion_tokens` | integer or null | The maximum number of completion tokens specified to have been used over the course of the run. |
 | `usage` | object or null | Usage statistics related to the run. This value will be null if the run is not in a terminal state (for example `in_progress`, `queued`). |
-
+| `truncation_strategy` | object | Controls for how a thread will be truncated prior to the run. | 
+| `response_format` | string | The format that the model must output. Compatible with GPT-4 Turbo and all GPT-3.5 Turbo models since `gpt-3.5-turbo-1106`. |
+| `tool_choice` | string | Controls which (if any) tool is called by the model. `none` means the model won't call any tools and instead generates a message. `auto` is the default value and means the model can pick between generating a message or calling a tool. |
 
 ## Run step object
 
@@ -663,6 +685,14 @@ with client.beta.threads.runs.stream(
   stream.until_done()
 ```
 
+## Truncation object
+
+Controls for how a thread will be truncated prior to the run. Use this to control the initial context window of the run.
+
+| Name | Type | Description | Required |
+|---  |---   |---         |
+| `type` | string | The truncation strategy to use for the thread. The default is `auto`. If set to `last_messages`, the thread will be truncated to the n most recent messages in the thread. When set to `auto`, messages in the middle of the thread will be dropped to fit the context length of the model, `max_prompt_tokens`. | Yes |	
+| `last_messages`	| integer | The number of most recent messages from the thread when constructing the context for the run. | No | 
 
 ## Message delta object
 
@@ -720,4 +750,4 @@ Events are emitted whenever a new object is created, transitions to a new state,
 | `thread.message.completed` | `data` is a message. | Occurs when a message is completed. |
 | `thread.message.incomplete` | `data` is a message. | Occurs when a message ends before it is completed. |
 | `error` | `data` is an error. | Occurs when an error occurs. This can happen due to an internal server error or a timeout. |
-| `done` | `data` is `[DONE]` | Occurs when a stream ends. |
\ No newline at end of file
+| `done` | `data` is `[DONE]` | Occurs when a stream ends. |

Summary

{
    "modification_type": "minor update",
    "modification_title": "APIバージョンの更新と新機能の追加"
}

Explanation

このコードの変更は、Azure OpenAIのリファレンスドキュメントに対するマイナーなアップデートです。主な変更点は、APIのバージョンが「2024-05-01-preview」から「2024-08-01-preview」に更新されていることに加えて、いくつかの新しいオプションやパラメーターが追加されています。

新しく追加された機能には、additional_instructionsadditional_messagesが含まれ、これにより各実行ごとに指示やメッセージを追加することが可能となります。また、temperaturetop_pといったサンプリングオプションが含まれ、出力のランダム性を調整できるようになっています。さらに、max_prompt_tokensmax_completion_tokensなどのトークン制限に関するパラメーターも追加され、ユーザーは実行の過程で生成されるトークンの数を管理できるようになっています。

このような変更により、ユーザーはAPIを使用してより細かい制御を提供できるようになり、全体の柔軟性と機能性が向上しています。これにより、OpenAIのアシスタントを使用したアプリケーション開発がより一層洗練され、効率的になります。

articles/ai-services/openai/assistants-reference-threads.md

Diff
@@ -5,9 +5,9 @@ description: Learn how to use Azure OpenAI's Python & REST API threads with Assi
 manager: nitinme
 ms.service: azure-ai-openai
 ms.topic: conceptual
-ms.date: 05/20/2024
-author: mrbullwinkle
-ms.author: mbullwin
+ms.date: 09/17/2024
+author: aahill
+ms.author: aahi
 recommendations: false
 ms.custom: devx-track-python
 ---
@@ -21,7 +21,7 @@ This article provides reference documentation for Python and REST for the new As
 ## Create a thread
 
 ```http
-POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads?api-version=2024-05-01-preview
+POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads?api-version=2024-08-01-preview
 ```
 
 Create a thread.
@@ -32,6 +32,22 @@ Create a thread.
 |---  |---   |---       |--- |
 |`messages`|array| Optional | A list of messages to start the thread with. |
 |`metadata`| map | Optional | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long. |
+| `tool_resources` | [object](#tool_resources-properties) | Optional | A set of resources that are made available to the assistant's tools in this thread. The resources are specific to the type of tool. For example, the `code_interpreter` tool requires a list of file IDs, while the `file_search` tool requires a list of vector store IDs. |
+
+### tool_resources properties
+
+**code_interpreter**
+
+| Name | Type | Description | Default |
+|---  |---   |---       |--- |
+| `file_ids` | array | A list of file IDs made available to the code_interpreter tool. There can be a maximum of 20 files associated with the tool. | `[]` |
+
+**file_search** 
+
+| Name | Type | Description | Default |
+|---  |---   |---       |--- |
+| `vector_store_ids` | array | The vector store attached to this thread. There can be a maximum of 1 vector store attached to the thread. | `[]` | 
+| `vector_stores` | array | A helper to create a vector store with file_ids and attach it to this thread. There can be a maximum of 1 vector store attached to the thread. | `[]` |
 
 ### Returns
 
@@ -46,7 +62,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -57,7 +73,7 @@ print(empty_thread)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads?api-version=2024-05-01-preview \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads?api-version=2024-08-01-preview \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' \
   -d ''
@@ -68,7 +84,7 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads?api-version=2024
 ## Retrieve thread
 
 ```http
-GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}?api-version=2024-05-01-preview
+GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}?api-version=2024-08-01-preview
 ```
 
 Retrieves a thread.
@@ -93,7 +109,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -104,7 +120,7 @@ print(my_thread)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}?api-version=2024-05-01-preview \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}?api-version=2024-08-01-preview \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' 
 ```
@@ -114,7 +130,7 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}?api-
 ## Modify thread
 
 ```http
-POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}?api-version=2024-05-01-preview
+POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}?api-version=2024-08-01-preview
 ```
 
 Modifies a thread.
@@ -129,7 +145,8 @@ Modifies a thread.
 
 |Name | Type | Required | Description |
 |---  |---   |---       |--- |
-| metadata| map | Optional | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.|
+| `metadata` | map | Optional | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.|
+| `tool_resources` | [object](#tool_resources-properties) | Optional | A set of resources that are made available to the assistant's tools in this thread. The resources are specific to the type of tool. For example, the `code_interpreter` tool requires a list of file IDs, while the `file_search` tool requires a list of vector store IDs. |
 
 ### Returns
 
@@ -144,7 +161,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -161,7 +178,7 @@ print(my_updated_thread)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}?api-version=2024-05-01-preview \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}?api-version=2024-08-01-preview \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' \
   -d '{

Summary

{
    "modification_type": "minor update",
    "modification_title": "APIバージョンの更新と新しいツールリソース機能の追加"
}

Explanation

この変更は、Azure OpenAIのリファレンスドキュメントに対するマイナーなアップデートです。主な更新点には、APIのバージョンが「2024-05-01-preview」から「2024-08-01-preview」に変更されたことが含まれています。また、スレッド作成や修正において新たにtool_resourcesフィールドが追加されており、これにより特定のツールにリソースを提供する機能が強化されています。

具体的には、tool_resourcesオブジェクトの中には、code_interpreterfile_searchツールに対するリソースの設定が含まれており、ファイルIDやベクターストアIDのリストが必要になります。これにより、スレッド内のアシスタントが利用できるリソースがより明確に管理できるようになっています。

これらの変更により、ユーザーは複雑なタスクを処理するアシスタントの動作をより細かく制御できるようになり、全体的な利便性と機能が向上しています。

articles/ai-services/openai/assistants-reference.md

Diff
@@ -5,9 +5,9 @@ description: Learn how to use Azure OpenAI's Python & REST API with Assistants.
 manager: nitinme
 ms.service: azure-ai-openai
 ms.topic: conceptual
-ms.date: 07/25/2024
-author: mrbullwinkle
-ms.author: mbullwin
+ms.date: 09/17/2024
+author: aahill
+ms.author: aahi
 recommendations: false
 ms.custom: devx-track-python
 ---
@@ -36,11 +36,11 @@ Create an assistant with a model and instructions.
 | description| string or null | Optional | The description of the assistant. The maximum length is 512 characters.|
 | instructions | string or null | Optional | The system instructions that the assistant uses. The maximum length is 256,000 characters.|
 | tools | array | Optional | Defaults to []. A list of tools enabled on the assistant. There can be a maximum of 128 tools per assistant. Tools can currently be of types `code_interpreter`, or `function`. A `function` description can be a maximum of 1,024 characters. |
-| file_ids | array | Optional | Defaults to []. A list of file IDs attached to this assistant. There can be a maximum of 20 files attached to the assistant. Files are ordered by their creation date in ascending order.|
 | metadata | map | Optional | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.|
 | temperature | number or null | Optional | Defaults to 1. Determines what sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. |
 | top_p | number or null | Optional | Defaults to 1. An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We generally recommend altering this or temperature but not both. |
 | response_format | string or object | Optional | Specifies the format that the model must output. Compatible with GPT-4 Turbo and all GPT-3.5 Turbo models since gpt-3.5-turbo-1106. Setting this parameter to `{ "type": "json_object" }` enables JSON mode, which guarantees the message the model generates is valid JSON. Importantly, when using JSON mode, you must also instruct the model to produce JSON yourself using a system or user message. Without this instruction, the model may generate an unending stream of whitespace until the generation reaches the token limit, resulting in a long-running and seemingly "stuck" request. Additionally, the message content may be partially cut off if you use `finish_reason="length"`, which indicates the generation exceeded `max_tokens` or the conversation exceeded the max context length. |
+| tool_resources | object | Optional | A set of resources that are used by the assistant's tools. The resources are specific to the type of tool. For example, the `code_interpreter` tool requires a list of file IDs, while the `file_search` tool requires a list of vector store IDs. |
 
 ### Returns
 
@@ -55,7 +55,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -69,7 +69,7 @@ assistant = client.beta.assistants.create(
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-08-01-preview \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' \
   -d '{
@@ -113,7 +113,7 @@ from openai import AzureOpenAI
     
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -128,7 +128,7 @@ print(my_assistants.data)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview  \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-08-01-preview  \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' 
 ```
@@ -139,7 +139,7 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2
 ## Retrieve assistant
 
 ```http
-GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-05-01-preview
+GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-08-01-preview
 ```
 
 Retrieves an assistant.
@@ -161,7 +161,7 @@ The [assistant](#assistant-object) object matching the specified ID.
 ```python
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -172,7 +172,7 @@ print(my_assistant)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant-id}?api-version=2024-05-01-preview  \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant-id}?api-version=2024-08-01-preview  \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' 
 ```
@@ -182,7 +182,7 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant-id
 ## Modify assistant
 
 ```http
-POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-05-01-preview
+POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-08-01-preview
 ```
 
 Modifies an assistant.
@@ -202,8 +202,11 @@ Modifies an assistant.
 | `description` | string or null | Optional | The description of the assistant. The maximum length is 512 characters. |
 | `instructions` | string or null | Optional | The system instructions that the assistant uses. The maximum length is 32768 characters. |
 | `tools` | array | Optional | Defaults to []. A list of tools enabled on the assistant. There can be a maximum of 128 tools per assistant. Tools can be of types code_interpreter, or function. A `function` description can be a maximum of 1,024 characters. |
-| `file_ids` | array | Optional | Defaults to []. A list of File IDs attached to this assistant. There can be a maximum of 20 files attached to the assistant. Files are ordered by their creation date in ascending order. If a file was previously attached to the list but does not show up in the list, it will be deleted from the assistant. |
 | `metadata` | map | Optional | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long. |
+| `temperature` | number or null | Optional | Defaults to 1. Determines what sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. |
+| `top_p` | number or null | Optional | Defaults to 1. An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We generally recommend altering this or temperature but not both. |
+| `response_format` | string or object | Optional | Specifies the format that the model must output. Compatible with GPT-4 Turbo and all GPT-3.5 Turbo models since gpt-3.5-turbo-1106. Setting this parameter to `{ "type": "json_object" }` enables JSON mode, which guarantees the message the model generates is valid JSON. Importantly, when using JSON mode, you must also instruct the model to produce JSON yourself using a system or user message. Without this instruction, the model may generate an unending stream of whitespace until the generation reaches the token limit, resulting in a long-running and seemingly "stuck" request. Additionally, the message content may be partially cut off if you use `finish_reason="length"`, which indicates the generation exceeded `max_tokens` or the conversation exceeded the max context length. |
+| `tool_resources` | object | Optional | A set of resources that are used by the assistant's tools. The resources are specific to the type of tool. For example, the `code_interpreter` tool requires a list of file IDs, while the `file_search` tool requires a list of vector store IDs. |
 
 **Returns**
 
@@ -216,7 +219,7 @@ The modified [assistant object](#assistant-object).
 ```python
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -226,7 +229,6 @@ my_updated_assistant = client.beta.assistants.update(
   name="HR Helper",
   tools=[{"type": "code-interpreter"}],
   model="gpt-4", #model = model deployment name
-  file_ids=["assistant-abc123", "assistant-abc456"],
 )
 
 print(my_updated_assistant)
@@ -235,14 +237,13 @@ print(my_updated_assistant)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant-id}?api-version=2024-05-01-preview  \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant-id}?api-version=2024-08-01-preview  \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' \
   -d '{
       "instructions": "You are an HR bot, and you have access to files to answer employee questions about company policies. Always response with info from either of the files.",
       "tools": [{"type": "code-interpreter"}],
-      "model": "gpt-4",
-      "file_ids": ["assistant-abc123", "assistant-abc456"]
+      "model": "gpt-4"
     }'
 ```
 
@@ -251,7 +252,7 @@ curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant-id
 ## Delete assistant
 
 ```http
-DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-05-01-preview
+DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-08-01-preview
 ```
 
 Delete an assistant.
@@ -273,7 +274,7 @@ Deletion status.
 ```python
 client = AzureOpenAI(
     api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
-    api_version="2024-05-01-preview",
+    api_version="2024-08-01-preview",
     azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
     )
 
@@ -284,7 +285,7 @@ print(response)
 # [REST](#tab/rest)
 
 ```console
-curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant-id}?api-version=2024-05-01-preview  \
+curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant-id}?api-version=2024-08-01-preview  \
   -H "api-key: $AZURE_OPENAI_API_KEY" \
   -H 'Content-Type: application/json' \
   -X DELETE
@@ -309,5 +310,8 @@ Assistants use the [same API for file upload as fine-tuning](/rest/api/azureopen
 | `model` | string | Name of the model deployment name to use.|
 | `instructions` | string or null | The system instructions that the assistant uses. The maximum length is 32768 characters.|
 | `tools` | array | A list of tool enabled on the assistant. There can be a maximum of 128 tools per assistant. Tools can be of types code_interpreter, or function. A `function` description can be a maximum of 1,024 characters.|
-| `file_ids` | array | A list of file IDs attached to this assistant. There can be a maximum of 20 files attached to the assistant. Files are ordered by their creation date in ascending order.|
 | `metadata` | map | Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.|
+| `temperature` | number or null | Defaults to 1. Determines what sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. |
+| `top_p` | number or null | Defaults to 1. An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We generally recommend altering this or temperature but not both. |
+| `response_format` | string or object | Specifies the format that the model must output. Compatible with GPT-4 Turbo and all GPT-3.5 Turbo models since gpt-3.5-turbo-1106. Setting this parameter to `{ "type": "json_object" }` enables JSON mode, which guarantees the message the model generates is valid JSON. Importantly, when using JSON mode, you must also instruct the model to produce JSON yourself using a system or user message. Without this instruction, the model may generate an unending stream of whitespace until the generation reaches the token limit, resulting in a long-running and seemingly "stuck" request. Additionally, the message content may be partially cut off if you use `finish_reason="length"`, which indicates the generation exceeded `max_tokens` or the conversation exceeded the max context length. |
+| `tool_resources` | object | A set of resources that are used by the assistant's tools. The resources are specific to the type of tool. For example, the `code_interpreter` tool requires a list of file IDs, while the `file_search` tool requires a list of vector store IDs. |

Summary

{
    "modification_type": "minor update",
    "modification_title": "APIバージョンの更新とツールリソースの新機能追加"
}

Explanation

この変更は、Azure OpenAIのリファレンスドキュメントにおけるマイナーなアップデートです。最も重要な変更は、APIのバージョンが「2024-05-01-preview」から「2024-08-01-preview」に更新されたことです。また、アシスタントの作成や操作に関する機能も強化されています。

新しい機能として、tool_resourcesオブジェクトが追加されました。これにより、アシスタントが使用するツールごとに特定のリソースを指定することができるようになります。例えば、code_interpreterツールにはファイルIDのリストが必要であり、file_searchツールにはベクターストアIDのリストが要求されます。このようにして、ツールの利用をより効率的に管理できます。

さらに、説明や指示に関するいくつかのフィールドが明確化され、アシスタントの動作をカスタマイズしやすくなっています。この変更により、ユーザーはアシスタントの作成や管理においてより多くの柔軟性を持つことができ、全体的な操作体験が向上しています。

articles/ai-services/openai/concepts/model-retirements.md

Diff
@@ -29,7 +29,7 @@ Azure OpenAI Service models are continually refreshed with newer and more capabl
 
 Azure OpenAI notifies customers of active Azure OpenAI Service deployments for models with upcoming retirements. We notify customers of upcoming retirements as follows for each deployment:
 
-1. At model launch, we programmatically designate a "not sooner than" retirement date (typically six months to one year out).
+1. At model launch, we programmatically designate a "not sooner than" retirement date (typically one year out).
 2. At least 60 days notice before model retirement for Generally Available (GA) models.
 3. At least 30 days notice before preview model version upgrades.  
 

Summary

{
    "modification_type": "minor update",
    "modification_title": "モデルの引退日通知の変更"
}

Explanation

この変更は、Azure OpenAIサービスのモデルの引退に関する通知プロセスのマイナーなアップデートです。具体的には、モデルのローンチ時にプログラム的に設定される「早くてもこの日には引退させない」という日付が、従来の「通常は6ヶ月から1年」から「通常は1年」に変更されました。

この変更により、顧客に通知される引退日がより明確になり、プロセスが簡素化されました。引退日についての顧客通知は、引退が近づいているモデルに関して、以下のスケジュールで行われます:
1. モデルのローンチ時に、引退日は通常1年後に設定されます。
2. 一般提供(GA)モデルの引退の少なくとも60日前に通知します。
3. プレビュー版モデルのアップグレードの少なくとも30日前に通知します。

このように、モデルの引退に関する情報提供が一貫して行われていることが強調されます。

articles/ai-services/openai/concepts/use-your-data.md

Diff
@@ -21,12 +21,25 @@ Use this article to learn about Azure OpenAI On Your Data, which makes it easier
 
 Azure OpenAI On Your Data enables you to run advanced AI models such as GPT-35-Turbo and GPT-4 on your own enterprise data without needing to train or fine-tune models. You can chat on top of and analyze your data with greater accuracy. You can specify sources to support the responses based on the latest information available in your designated data sources. You can access Azure OpenAI On Your Data using a REST API, via the SDK or the web-based interface in the [Azure OpenAI Studio](https://oai.azure.com/). You can also create a web app that connects to your data to enable an enhanced chat solution or deploy it directly as a copilot in the Copilot Studio (preview).
 
-## Get started
+## Developing with Azure OpenAI On Your Data
 
-To get started, [connect your data source](../use-your-data-quickstart.md) using Azure OpenAI Studio and start asking questions and chatting on your data.
+:::image type="content" source="../media/use-your-data/workflow-diagram.png" alt-text="A diagram showing an example workflow.":::
 
-> [!NOTE]
-> To get started, you need to already have been approved for [Azure OpenAI access](../overview.md#how-do-i-get-access-to-azure-openai) and have an [Azure OpenAI Service resource](../how-to/create-resource.md) deployed in a [supported region](#regional-availability-and-model-support) with either the gpt-35-turbo or the gpt-4 models.
+Typically, the development process you'd use with Azure OpenAI On Your Data is:
+1. **Ingest**: Upload files using either Azure OpenAI Studio or the ingestion API. This enables your data to be cracked, chunked and embedded into an Azure AI Search instance that can be used by Azure Open AI models. If you have an existing [supported data source](#supported-data-sources), you can also connect it directly.
+
+1. **Develop**: After trying Azure OpenAI On Your Data, begin developing your application using the available REST API and SDKs, which are available in several languages. It will create prompts and search intents to pass to the Azure OpenAI service.
+
+1. **Inference**: After your application is deployed in your preferred environment, it will send prompts to Azure OpenAI, which will perform several steps before returning a response:
+    1. **Intent generation**: The service will determine the intent of the user's prompt to determine a proper response.
+
+    1. **Retrieval**: The service retrieves relevant chunks of available data from the connected data source by querying it. For example by using a semantic or vector search. [Parameters](#runtime-parameters) such as strictness and number of documents to retreive are utilized to influence the retrieval.
+    
+    1. **Filtration and reranking**: Search results from the retrieval step are improved by ranking and filtering data to refine relevance.    
+    
+    1. **Response generation**: The resulting data is submitted along with other information like the system message to the Large Language Model (LLM) and the response is sent back to the application.
+
+To get started, [connect your data source](../use-your-data-quickstart.md) using Azure OpenAI Studio and start asking questions and chatting on your data.
 
 ## Azure Role-based access controls (Azure RBAC) for adding data sources
 
@@ -184,7 +197,6 @@ To keep your Azure AI Search index up-to-date with your latest data, you can sch
 After the data ingestion is set to a cadence other than once, Azure AI Search indexers will be created with a schedule equivalent to `0.5 * the cadence specified`. This means that at the specified cadence, the indexers will pull, reprocess, and index the documents that were added or modified from the storage container. This process ensures that the updated data gets preprocessed and indexed in the final index at the desired cadence automatically. To update your data, you only need to upload the additional documents from the Azure portal. From the portal, select **Storage Account** > **Containers**. Select the name of the original container, then **Upload**. The index will pick up the files automatically after the scheduled refresh period. The intermediate assets created in the Azure AI Search resource won't be cleaned up after ingestion to allow for future runs. These assets are:
    - `{Index Name}-index`
    - `{Index Name}-indexer`
-   - `{Index Name}-indexer-chunk`
    - `{Index Name}-datasource`
    - `{Index Name}-skillset`
 

Summary

{
    "modification_type": "minor update",
    "modification_title": "Azure OpenAI On Your Dataの開発プロセスに関するセクションの追加"
}

Explanation

この変更は、Azure OpenAI On Your Dataに関連するドキュメントの内容を更新し、開発プロセスに関する具体的な手順を追加したマイナーなアップデートです。新しいセクションでは、Azure OpenAIを自身のデータで利用する際の具体的な開発フローが示されています。

主な変更点として、以下の開発プロセスが追加されました:
1. データの取り込み(Ingest): Azure OpenAI Studioまたは取り込みAPIを使用してファイルをアップロードし、データを処理してAzure AI Searchインスタンスに埋め込みます。既存のサポートされているデータソースにも直接接続可能です。
2. アプリケーションの開発(Develop): Azure OpenAI On Your Dataを試した後、利用可能なREST APIやSDKを使用してアプリケーションを開発します。
3. 推論(Inference): デプロイされたアプリケーションがプロンプトをAzure OpenAIに送信し、一連のステップを経て応答が返されます。この過程では、意図の生成、関連データの取得、フィルタリング・再ランク、そして応答の生成が含まれます。

これにより、ユーザーは自身のデータを活用したAIモデルの利用方法をより明確に理解できるようになり、具体的な開発手順が示されることで、実装が容易になります。

articles/ai-services/openai/media/use-your-data/workflow-diagram.png

Summary

{
    "modification_type": "new feature",
    "modification_title": "ワークフローダイアグラムの追加"
}

Explanation

この変更は、Azure OpenAI On Your Dataに関連する新しいワークフローダイアグラムを追加したことを示しています。このダイアグラムは、ユーザーが自身のデータを使用してAzure OpenAIを利用するプロセスを視覚化するためのもので、開発者やユーザーが具体的な手順を理解しやすくするためのツールとなります。

新しく追加された画像は、データの取り込み、アプリケーションの開発、推論の過程を示しており、各ステップの理解を助ける役割を果たします。これにより、ユーザーは複雑なプロセスを一目で把握でき、Azure OpenAIと自身のデータを効果的に活用するためのガイドとして機能します。