diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index dc7dc89e90d7..90b1e11394ba 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -35,6 +35,10 @@ # PRLabel: %AI /sdk/ai/ @luigiw @needuv @paulshealy1 @singankit @dargilco @trrwilson +# PRLabel: %AI Projects +# ServiceLabel: %AI Projects %Service Attention +/sdk/aiprojects @dargilco @trrwilson @trangevi @glharper @nick863 @howieleung @kingernupur @singankit + # ServiceOwners: @luigiw @needuv @singankit # ServiceLabel: %Evaluation @@ -255,15 +259,10 @@ # ServiceLabel: %AI Agents %Service Attention /sdk/ai/azure-ai-agents/ @dargilco @trrwilson @trangevi @glharper @nick863 @howieleung -# PRLabel: %AI Projects -# ServiceLabel: %AI Projects %Service Attention -/sdk/ai/azure-ai-projects/ @dargilco @trrwilson @trangevi @glharper @nick863 @howieleung @kingernupur - # PRLabel: %Voice Live # ServiceLabel: %Voice Live %Service Attention /sdk/ai/azure-ai-voicelive/ @rhurey @xitzhang @amber-yujueWang - # PRLabel: %HDInsight /sdk/hdinsight/ @idear1203 diff --git a/.vscode/cspell.json b/.vscode/cspell.json index c4b5b0967b70..4c022e6a26ec 100644 --- a/.vscode/cspell.json +++ b/.vscode/cspell.json @@ -185,6 +185,7 @@ "adls", "aenter", "aiohttp", + "aiprojects", "alru", "amqp", "amqps", diff --git a/conda/conda-recipes/azure-ai-projects/meta.yaml b/conda/conda-recipes/azure-ai-projects/meta.yaml index 6d14fdf75d02..8f22805ea1ea 100644 --- a/conda/conda-recipes/azure-ai-projects/meta.yaml +++ b/conda/conda-recipes/azure-ai-projects/meta.yaml @@ -36,7 +36,7 @@ test: - azure.ai.projects about: - home: "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/ai/azure-ai-projects" + home: "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/aiprojects/azure-ai-projects" license: MIT license_family: MIT license_file: diff --git a/eng/.docsettings.yml b/eng/.docsettings.yml index 8289d6d95909..dc260e72ce68 100644 --- a/eng/.docsettings.yml +++ b/eng/.docsettings.yml @@ -16,7 +16,7 @@ omitted_paths: - sdk/vision/azure-ai-vision-imageanalysis/tests/* - sdk/ai/azure-ai-agents/tests/* - sdk/ai/azure-ai-inference/tests/* - - sdk/ai/azure-ai-projects/tests/* + - sdk/aiprojects/azure-ai-projects/tests/* - sdk/storage/azure-storage-extensions/* language: python diff --git a/pyrightconfig.json b/pyrightconfig.json index 23f5155848f6..db13108dd6ae 100644 --- a/pyrightconfig.json +++ b/pyrightconfig.json @@ -1,5 +1,5 @@ { "reportTypeCommentUsage": true, "reportMissingImports": false, - "pythonVersion": "3.9" + "pythonVersion": "3.11" } diff --git a/sdk/ai/azure-ai-projects/assets.json b/sdk/ai/azure-ai-projects/assets.json deleted file mode 100644 index 1ebde2ec9637..000000000000 --- a/sdk/ai/azure-ai-projects/assets.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "AssetsRepo": "Azure/azure-sdk-assets", - "AssetsRepoPrefixPath": "python", - "TagPrefix": "python/ai/azure-ai-projects", - "Tag": "python/ai/azure-ai-projects_ae8b55e649" -} diff --git a/sdk/ai/azure-ai-projects/pyrightconfig.json b/sdk/ai/azure-ai-projects/pyrightconfig.json deleted file mode 100644 index b5a3fafb4354..000000000000 --- a/sdk/ai/azure-ai-projects/pyrightconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "reportTypeCommentUsage": true, - "reportMissingImports": false, - "pythonVersion": "3.11", - "exclude": [ - ], - "extraPaths": [ - "./../../core/azure-core", - "./../../evaluation/azure-ai-evaluation", - "./../../identity/azure-identity", - "./../../monitor/azure-monitor-opentelemetry" - ] -} \ No newline at end of file diff --git a/sdk/ai/azure-ai-projects/tests/samples/test_samples_async.py b/sdk/ai/azure-ai-projects/tests/samples/test_samples_async.py deleted file mode 100644 index 8c8bca337f6a..000000000000 --- a/sdk/ai/azure-ai-projects/tests/samples/test_samples_async.py +++ /dev/null @@ -1,42 +0,0 @@ -# pylint: disable=line-too-long,useless-suppression -# ------------------------------------ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# ------------------------------------ -import pytest -from devtools_testutils.aio import recorded_by_proxy_async -from devtools_testutils import AzureRecordedTestCase, RecordedTransport -from test_samples import ( - SampleExecutor, - SamplePathPasser, - get_sample_paths, - get_sample_environment_variables_map, - servicePreparer, -) - - -def _get_async_sample_paths(sub_folder: str, *, samples_to_skip: list[str]) -> list: - return get_sample_paths(sub_folder, samples_to_skip=samples_to_skip, is_async=True) - - -class TestSamplesAsync(AzureRecordedTestCase): - """Async test cases for samples.""" - - # To run this test with a specific sample, use: - # pytest tests/samples/test_samples_async.py::TestSamplesAsync::test_agent_tools_samples_async[sample_agent_memory_search_async] - @servicePreparer() - @pytest.mark.parametrize( - "sample_path", - _get_async_sample_paths( - "agents/tools", - samples_to_skip=[ - "sample_agent_mcp_with_project_connection_async.py", - ], - ), - ) - @SamplePathPasser() - @recorded_by_proxy_async(RecordedTransport.AZURE_CORE, RecordedTransport.HTTPX) - async def test_agent_tools_samples_async(self, sample_path: str, **kwargs) -> None: - env_var_mapping = get_sample_environment_variables_map(operation_group="agents") - executor = SampleExecutor(self, sample_path, env_var_mapping, **kwargs) - await executor.execute_async() diff --git a/sdk/ai/azure-ai-projects/tsp-location.yaml b/sdk/ai/azure-ai-projects/tsp-location.yaml deleted file mode 100644 index 80b8dc2ae282..000000000000 --- a/sdk/ai/azure-ai-projects/tsp-location.yaml +++ /dev/null @@ -1,4 +0,0 @@ -directory: specification/ai/Azure.AI.Projects -commit: 78bfd335c31b8764578cfb9840f3b74349c10354 -repo: Azure/azure-rest-api-specs-pr -additionalDirectories: diff --git a/sdk/ai/ci.yml b/sdk/ai/ci.yml index 43dbf57d4feb..a1a163615ab2 100644 --- a/sdk/ai/ci.yml +++ b/sdk/ai/ci.yml @@ -42,8 +42,6 @@ extends: MatrixFilters: - PythonVersion=^(?!pypy3).* Artifacts: - - name: azure-ai-projects - safeName: azureaiprojects - name: azure-ai-agents safeName: azureaiagents - name: azure-ai-voicelive diff --git a/sdk/ai/azure-ai-projects/.env.template b/sdk/aiprojects/azure-ai-projects/.env.template similarity index 100% rename from sdk/ai/azure-ai-projects/.env.template rename to sdk/aiprojects/azure-ai-projects/.env.template diff --git a/sdk/ai/azure-ai-projects/CHANGELOG.md b/sdk/aiprojects/azure-ai-projects/CHANGELOG.md similarity index 100% rename from sdk/ai/azure-ai-projects/CHANGELOG.md rename to sdk/aiprojects/azure-ai-projects/CHANGELOG.md diff --git a/sdk/ai/azure-ai-projects/LICENSE b/sdk/aiprojects/azure-ai-projects/LICENSE similarity index 100% rename from sdk/ai/azure-ai-projects/LICENSE rename to sdk/aiprojects/azure-ai-projects/LICENSE diff --git a/sdk/ai/azure-ai-projects/MANIFEST.in b/sdk/aiprojects/azure-ai-projects/MANIFEST.in similarity index 100% rename from sdk/ai/azure-ai-projects/MANIFEST.in rename to sdk/aiprojects/azure-ai-projects/MANIFEST.in diff --git a/sdk/ai/azure-ai-projects/README.md b/sdk/aiprojects/azure-ai-projects/README.md similarity index 93% rename from sdk/ai/azure-ai-projects/README.md rename to sdk/aiprojects/azure-ai-projects/README.md index e546e9d64c67..76fb2d36722e 100644 --- a/sdk/ai/azure-ai-projects/README.md +++ b/sdk/aiprojects/azure-ai-projects/README.md @@ -223,7 +223,7 @@ tool = CodeInterpreterTool(container=CodeInterpreterToolAuto(file_ids=[file.id]) *After calling `responses.create()`, check for generated files in response annotations (type `container_file_citation`) and download them using `openai_client.containers.files.content.retrieve()`.* -See the full sample code in [sample_agent_code_interpreter.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_code_interpreter.py). +See the full sample code in [sample_agent_code_interpreter.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_code_interpreter.py). **File Search** @@ -250,7 +250,7 @@ tool = FileSearchTool(vector_store_ids=[vector_store.id]) -See the full sample code in [sample_agent_file_search.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_file_search.py). +See the full sample code in [sample_agent_file_search.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_file_search.py). **Image Generation** @@ -284,7 +284,7 @@ if image_data and image_data[0]: -See the full sample code in [sample_agent_image_generation.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_image_generation.py). +See the full sample code in [sample_agent_image_generation.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_image_generation.py). **Web Search** @@ -299,7 +299,7 @@ tool = WebSearchPreviewTool(user_location=ApproximateLocation(country="GB", city -See the full sample code in [sample_agent_web_search.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_web_search.py). +See the full sample code in [sample_agent_web_search.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_web_search.py). **Computer Use** @@ -315,7 +315,7 @@ tool = ComputerUsePreviewTool(display_width=1026, display_height=769, environmen *After calling `responses.create()`, process the response in an interaction loop. Handle `computer_call` output items and provide screenshots as `computer_call_output` with `computer_screenshot` type to continue the interaction.* -See the full sample code in [sample_agent_computer_use.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_computer_use.py). +See the full sample code in [sample_agent_computer_use.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_computer_use.py). **Model Context Protocol (MCP)** @@ -335,7 +335,7 @@ mcp_tool = MCPTool( *After calling `responses.create()`, check for `mcp_approval_request` items in the response output. Send back `McpApprovalResponse` with your approval decision to allow the agent to continue its work.* -See the full sample code in [sample_agent_mcp.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_mcp.py). +See the full sample code in [sample_agent_mcp.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_mcp.py). **OpenAPI** @@ -359,7 +359,7 @@ tool = OpenApiAgentTool( -See the full sample code in [sample_agent_openapi.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_openapi.py). +See the full sample code in [sample_agent_openapi.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_openapi.py). **Function Tool** @@ -390,7 +390,7 @@ tool = FunctionTool( *After calling `responses.create()`, process `function_call` items from response output, execute your function logic with the provided arguments, and send back `FunctionCallOutput` with the results.* -See the full sample code in [sample_agent_function_tool.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_function_tool.py). +See the full sample code in [sample_agent_function_tool.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_function_tool.py). * **Memory Search Tool** @@ -411,9 +411,9 @@ See the full sample code in [sample_agent_function_tool.py](https://github.com/A ``` - See the full [sample_agent_memory_search.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_memory_search.py) showing how to create an Agent with a memory store, and use it in multiple conversations. + See the full [sample_agent_memory_search.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_memory_search.py) showing how to create an Agent with a memory store, and use it in multiple conversations. - See also samples in the folder [samples\memories](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/ai/azure-ai-projects/samples/memories) showing how to manage memory stores. + See also samples in the folder [samples\memories](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/aiprojects/azure-ai-projects/samples/memories) showing how to manage memory stores. #### Connection-Based Tools @@ -441,7 +441,7 @@ tool = AzureAISearchAgentTool( -See the full sample code in [sample_agent_ai_search.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_ai_search.py). +See the full sample code in [sample_agent_ai_search.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_ai_search.py). **Bing Grounding** @@ -461,7 +461,7 @@ tool = BingGroundingAgentTool( -See the full sample code in [sample_agent_bing_grounding.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_bing_grounding.py). +See the full sample code in [sample_agent_bing_grounding.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_bing_grounding.py). **Bing Custom Search** @@ -484,7 +484,7 @@ tool = BingCustomSearchAgentTool( -See the full sample code in [sample_agent_bing_custom_search.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_bing_custom_search.py). +See the full sample code in [sample_agent_bing_custom_search.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_bing_custom_search.py). **Microsoft Fabric** @@ -504,7 +504,7 @@ tool = MicrosoftFabricAgentTool( -See the full sample code in [sample_agent_fabric.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_fabric.py). +See the full sample code in [sample_agent_fabric.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_fabric.py). **SharePoint** @@ -524,7 +524,7 @@ tool = SharepointAgentTool( -See the full sample code in [sample_agent_sharepoint.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_sharepoint.py). +See the full sample code in [sample_agent_sharepoint.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_sharepoint.py). **Browser Automation** @@ -544,7 +544,7 @@ tool = BrowserAutomationAgentTool( -See the full sample code in [sample_agent_browser_automation.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_browser_automation.py). +See the full sample code in [sample_agent_browser_automation.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_browser_automation.py). **MCP with Project Connection** @@ -564,7 +564,7 @@ tool = MCPTool( -See the full sample code in [sample_agent_mcp_with_project_connection.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_mcp_with_project_connection.py). +See the full sample code in [sample_agent_mcp_with_project_connection.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_mcp_with_project_connection.py). **Agent-to-Agent (A2A)** @@ -583,7 +583,7 @@ if os.environ.get("A2A_ENDPOINT"): -See the full sample code in [sample_agent_to_agent.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_to_agent.py). +See the full sample code in [sample_agent_to_agent.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_to_agent.py). **OpenAPI with Project Connection** @@ -611,9 +611,9 @@ tool = OpenApiAgentTool( -See the full sample code in [sample_agent_openapi_with_project_connection.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_openapi_with_project_connection.py). +See the full sample code in [sample_agent_openapi_with_project_connection.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_openapi_with_project_connection.py). -For complete working examples of all tools, see the [sample tools directory](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/tools). +For complete working examples of all tools, see the [sample tools directory](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/tools). ### Evaluation @@ -976,7 +976,7 @@ with tracer.start_as_current_span(scenario): -See the full sample code in [sample_agent_basic_with_azure_monitor_tracing.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_azure_monitor_tracing.py). +See the full sample code in [sample_agent_basic_with_azure_monitor_tracing.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_azure_monitor_tracing.py). In addition, you might find it helpful to see the tracing logs in the console. You can achieve this with the following code: @@ -997,7 +997,7 @@ AIProjectInstrumentor().instrument() -See the full sample code in [sample_agent_basic_with_console_tracing.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_console_tracing.py). +See the full sample code in [sample_agent_basic_with_console_tracing.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_console_tracing.py). ### Enabling content recording @@ -1075,7 +1075,7 @@ provider.add_span_processor(CustomAttributeSpanProcessor()) -See the full sample code in [sample_agent_basic_with_console_tracing_custom_attributes.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/ai/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_console_tracing_custom_attributes.py). +See the full sample code in [sample_agent_basic_with_console_tracing_custom_attributes.py](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/aiprojects/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_console_tracing_custom_attributes.py). ### Additional resources @@ -1156,7 +1156,7 @@ To report an issue with the client library, or request additional features, plea ## Next steps -Have a look at the [Samples](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/ai/azure-ai-projects/samples) folder, containing fully runnable Python code for synchronous and asynchronous clients. +Have a look at the [Samples](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/aiprojects/azure-ai-projects/samples) folder, containing fully runnable Python code for synchronous and asynchronous clients. ## Contributing diff --git a/sdk/ai/azure-ai-projects/_metadata.json b/sdk/aiprojects/azure-ai-projects/_metadata.json similarity index 100% rename from sdk/ai/azure-ai-projects/_metadata.json rename to sdk/aiprojects/azure-ai-projects/_metadata.json diff --git a/sdk/ai/azure-ai-projects/_tsp-location.yaml b/sdk/aiprojects/azure-ai-projects/_tsp-location.yaml similarity index 100% rename from sdk/ai/azure-ai-projects/_tsp-location.yaml rename to sdk/aiprojects/azure-ai-projects/_tsp-location.yaml diff --git a/sdk/ai/azure-ai-projects/apiview-properties.json b/sdk/aiprojects/azure-ai-projects/apiview-properties.json similarity index 100% rename from sdk/ai/azure-ai-projects/apiview-properties.json rename to sdk/aiprojects/azure-ai-projects/apiview-properties.json diff --git a/sdk/aiprojects/azure-ai-projects/assets.json b/sdk/aiprojects/azure-ai-projects/assets.json new file mode 100644 index 000000000000..2d6b0bc1d712 --- /dev/null +++ b/sdk/aiprojects/azure-ai-projects/assets.json @@ -0,0 +1,6 @@ +{ + "AssetsRepo": "Azure/azure-sdk-assets", + "AssetsRepoPrefixPath": "python", + "TagPrefix": "python/aiprojects/azure-ai-projects", + "Tag": "python/aiprojects/azure-ai-projects_e889d3e836" +} diff --git a/sdk/ai/azure-ai-projects/azure/__init__.py b/sdk/aiprojects/azure-ai-projects/azure/__init__.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/__init__.py rename to sdk/aiprojects/azure-ai-projects/azure/__init__.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/__init__.py b/sdk/aiprojects/azure-ai-projects/azure/ai/__init__.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/__init__.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/__init__.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/__init__.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/__init__.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/__init__.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/__init__.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/_client.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/_client.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/_client.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/_client.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/_configuration.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/_configuration.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/_configuration.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/_configuration.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/_patch.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/_patch.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/_patch.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/_patch.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/_types.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/_types.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/_types.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/_types.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/_utils/__init__.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/_utils/__init__.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/_utils/__init__.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/_utils/__init__.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/_utils/model_base.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/_utils/model_base.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/_utils/model_base.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/_utils/model_base.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/_utils/serialization.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/_utils/serialization.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/_utils/serialization.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/_utils/serialization.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/_validation.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/_validation.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/_validation.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/_validation.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/_version.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/_version.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/_version.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/_version.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/aio/__init__.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/__init__.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/aio/__init__.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/__init__.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/aio/_client.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/_client.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/aio/_client.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/_client.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/aio/_configuration.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/_configuration.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/aio/_configuration.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/_configuration.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/aio/_patch.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/_patch.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/aio/_patch.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/_patch.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/aio/operations/__init__.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/operations/__init__.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/aio/operations/__init__.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/operations/__init__.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/aio/operations/_operations.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/operations/_operations.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/aio/operations/_operations.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/operations/_operations.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/aio/operations/_patch.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/operations/_patch.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/aio/operations/_patch.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/operations/_patch.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/aio/operations/_patch_connections_async.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/operations/_patch_connections_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/aio/operations/_patch_connections_async.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/operations/_patch_connections_async.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/aio/operations/_patch_datasets_async.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/operations/_patch_datasets_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/aio/operations/_patch_datasets_async.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/operations/_patch_datasets_async.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/aio/operations/_patch_memories_async.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/operations/_patch_memories_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/aio/operations/_patch_memories_async.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/operations/_patch_memories_async.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/aio/operations/_patch_telemetry_async.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/operations/_patch_telemetry_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/aio/operations/_patch_telemetry_async.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/aio/operations/_patch_telemetry_async.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/models/__init__.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/models/__init__.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/models/__init__.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/models/__init__.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/models/_enums.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/models/_enums.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/models/_enums.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/models/_enums.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/models/_models.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/models/_models.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/models/_models.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/models/_models.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/models/_patch.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/models/_patch.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/models/_patch.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/models/_patch.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/operations/__init__.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/operations/__init__.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/operations/__init__.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/operations/__init__.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/operations/_operations.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/operations/_operations.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/operations/_operations.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/operations/_operations.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/operations/_patch.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/operations/_patch.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/operations/_patch.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/operations/_patch.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/operations/_patch_connections.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/operations/_patch_connections.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/operations/_patch_connections.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/operations/_patch_connections.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/operations/_patch_datasets.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/operations/_patch_datasets.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/operations/_patch_datasets.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/operations/_patch_datasets.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/operations/_patch_memories.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/operations/_patch_memories.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/operations/_patch_memories.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/operations/_patch_memories.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/operations/_patch_telemetry.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/operations/_patch_telemetry.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/operations/_patch_telemetry.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/operations/_patch_telemetry.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/py.typed b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/py.typed similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/py.typed rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/py.typed diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/telemetry/__init__.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/telemetry/__init__.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/telemetry/__init__.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/telemetry/__init__.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/telemetry/_ai_project_instrumentor.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/telemetry/_ai_project_instrumentor.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/telemetry/_ai_project_instrumentor.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/telemetry/_ai_project_instrumentor.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/telemetry/_responses_instrumentor.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/telemetry/_responses_instrumentor.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/telemetry/_responses_instrumentor.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/telemetry/_responses_instrumentor.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/telemetry/_trace_function.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/telemetry/_trace_function.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/telemetry/_trace_function.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/telemetry/_trace_function.py diff --git a/sdk/ai/azure-ai-projects/azure/ai/projects/telemetry/_utils.py b/sdk/aiprojects/azure-ai-projects/azure/ai/projects/telemetry/_utils.py similarity index 100% rename from sdk/ai/azure-ai-projects/azure/ai/projects/telemetry/_utils.py rename to sdk/aiprojects/azure-ai-projects/azure/ai/projects/telemetry/_utils.py diff --git a/sdk/ai/azure-ai-projects/cspell.json b/sdk/aiprojects/azure-ai-projects/cspell.json similarity index 88% rename from sdk/ai/azure-ai-projects/cspell.json rename to sdk/aiprojects/azure-ai-projects/cspell.json index 12f5733ae5c7..24cb74691400 100644 --- a/sdk/ai/azure-ai-projects/cspell.json +++ b/sdk/aiprojects/azure-ai-projects/cspell.json @@ -2,31 +2,35 @@ "ignoreWords": [ "agentic", "aiproject", - "azureopenai", - "GLEU", + "aiprojectclient", + "aiprojects", "aiservices", - "azureai", - "GENAI", - "UPIA", "ansii", - "getconnectionwithcredentials", - "quantitive", - "balapvbyostoragecanary", - "fspath", "aread", - "inpainting", - "CSDL", - "fstring", - "aiprojectclient", - "Tadmaq", - "Udbk", - "Ministral", + "azureai", + "azureml", + "azureopenai", + "balapvbyostoragecanary", + "closefd", "cogsvc", + "CSDL", "evals", "FineTuning", - "ftjob", + "fspath", + "fstring", "ftchkpt", - "closefd" + "ftjob", + "GENAI", + "getconnectionwithcredentials", + "GLEU", + "inpainting", + "Ministral", + "quantitive", + "roups", + "Tadmaq", + "Udbk", + "UPIA", + "wsid" ], "ignorePaths": [ "*.csv", diff --git a/sdk/ai/azure-ai-projects/dev_requirements.txt b/sdk/aiprojects/azure-ai-projects/dev_requirements.txt similarity index 100% rename from sdk/ai/azure-ai-projects/dev_requirements.txt rename to sdk/aiprojects/azure-ai-projects/dev_requirements.txt diff --git a/sdk/ai/azure-ai-projects/post-emitter-fixes.cmd b/sdk/aiprojects/azure-ai-projects/post-emitter-fixes.cmd similarity index 100% rename from sdk/ai/azure-ai-projects/post-emitter-fixes.cmd rename to sdk/aiprojects/azure-ai-projects/post-emitter-fixes.cmd diff --git a/sdk/ai/azure-ai-projects/pyproject.toml b/sdk/aiprojects/azure-ai-projects/pyproject.toml similarity index 95% rename from sdk/ai/azure-ai-projects/pyproject.toml rename to sdk/aiprojects/azure-ai-projects/pyproject.toml index d5d669150aa4..410bc99ea30e 100644 --- a/sdk/ai/azure-ai-projects/pyproject.toml +++ b/sdk/aiprojects/azure-ai-projects/pyproject.toml @@ -43,7 +43,7 @@ dynamic = [ ] [project.urls] -repository = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/ai/azure-ai-projects" +repository = "https://aka.ms/azsdk/azure-ai-projects-v2/python/code" [tool.setuptools.dynamic] version = {attr = "azure.ai.projects._version.VERSION"} diff --git a/sdk/aiprojects/azure-ai-projects/pyrightconfig.json b/sdk/aiprojects/azure-ai-projects/pyrightconfig.json new file mode 100644 index 000000000000..0c640286b01d --- /dev/null +++ b/sdk/aiprojects/azure-ai-projects/pyrightconfig.json @@ -0,0 +1,23 @@ +{ + // See https://github.com/microsoft/pyright/blob/main/docs/configuration.md#pyright-configuration + "reportTypeCommentUsage": true, + "reportMissingImports": false, + "reportAbstractUsage": false, + "reportArgumentType": false, + "reportAttributeAccessIssue": false, + "reportCallIssue": false, + "reportGeneralTypeIssues": false, + "reportInvalidTypeForm": false, + "reportPossiblyUnboundVariable": false, + "reportRedeclaration": false, + "reportUndefinedVariable": false, + "pythonVersion": "3.11", + "exclude": [ + ], + "extraPaths": [ + "./../../core/azure-core", + "./../../evaluation/azure-ai-evaluation", + "./../../identity/azure-identity", + "./../../monitor/azure-monitor-opentelemetry" + ] +} \ No newline at end of file diff --git a/sdk/ai/azure-ai-projects/samples/agents/assets/cua_browser_search.png b/sdk/aiprojects/azure-ai-projects/samples/agents/assets/cua_browser_search.png similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/assets/cua_browser_search.png rename to sdk/aiprojects/azure-ai-projects/samples/agents/assets/cua_browser_search.png diff --git a/sdk/ai/azure-ai-projects/samples/agents/assets/cua_search_results.png b/sdk/aiprojects/azure-ai-projects/samples/agents/assets/cua_search_results.png similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/assets/cua_search_results.png rename to sdk/aiprojects/azure-ai-projects/samples/agents/assets/cua_search_results.png diff --git a/sdk/ai/azure-ai-projects/samples/agents/assets/cua_search_typed.png b/sdk/aiprojects/azure-ai-projects/samples/agents/assets/cua_search_typed.png similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/assets/cua_search_typed.png rename to sdk/aiprojects/azure-ai-projects/samples/agents/assets/cua_search_typed.png diff --git a/sdk/ai/azure-ai-projects/samples/agents/assets/product_info.md b/sdk/aiprojects/azure-ai-projects/samples/agents/assets/product_info.md similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/assets/product_info.md rename to sdk/aiprojects/azure-ai-projects/samples/agents/assets/product_info.md diff --git a/sdk/ai/azure-ai-projects/samples/agents/assets/synthetic_500_quarterly_results.csv b/sdk/aiprojects/azure-ai-projects/samples/agents/assets/synthetic_500_quarterly_results.csv similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/assets/synthetic_500_quarterly_results.csv rename to sdk/aiprojects/azure-ai-projects/samples/agents/assets/synthetic_500_quarterly_results.csv diff --git a/sdk/ai/azure-ai-projects/samples/agents/assets/tripadvisor_openapi.json b/sdk/aiprojects/azure-ai-projects/samples/agents/assets/tripadvisor_openapi.json similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/assets/tripadvisor_openapi.json rename to sdk/aiprojects/azure-ai-projects/samples/agents/assets/tripadvisor_openapi.json diff --git a/sdk/ai/azure-ai-projects/samples/agents/assets/weather_openapi.json b/sdk/aiprojects/azure-ai-projects/samples/agents/assets/weather_openapi.json similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/assets/weather_openapi.json rename to sdk/aiprojects/azure-ai-projects/samples/agents/assets/weather_openapi.json diff --git a/sdk/ai/azure-ai-projects/samples/agents/sample_agent_basic.py b/sdk/aiprojects/azure-ai-projects/samples/agents/sample_agent_basic.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/sample_agent_basic.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/sample_agent_basic.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/sample_agent_basic_async.py b/sdk/aiprojects/azure-ai-projects/samples/agents/sample_agent_basic_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/sample_agent_basic_async.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/sample_agent_basic_async.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/sample_agent_retrieve_basic.py b/sdk/aiprojects/azure-ai-projects/samples/agents/sample_agent_retrieve_basic.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/sample_agent_retrieve_basic.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/sample_agent_retrieve_basic.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/sample_agent_retrieve_basic_async.py b/sdk/aiprojects/azure-ai-projects/samples/agents/sample_agent_retrieve_basic_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/sample_agent_retrieve_basic_async.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/sample_agent_retrieve_basic_async.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/sample_agent_stream_events.py b/sdk/aiprojects/azure-ai-projects/samples/agents/sample_agent_stream_events.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/sample_agent_stream_events.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/sample_agent_stream_events.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/sample_agent_structured_output.py b/sdk/aiprojects/azure-ai-projects/samples/agents/sample_agent_structured_output.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/sample_agent_structured_output.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/sample_agent_structured_output.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/sample_agent_structured_output_async.py b/sdk/aiprojects/azure-ai-projects/samples/agents/sample_agent_structured_output_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/sample_agent_structured_output_async.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/sample_agent_structured_output_async.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/sample_workflow_multi_agent.py b/sdk/aiprojects/azure-ai-projects/samples/agents/sample_workflow_multi_agent.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/sample_workflow_multi_agent.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/sample_workflow_multi_agent.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/sample_workflow_multi_agent_async.py b/sdk/aiprojects/azure-ai-projects/samples/agents/sample_workflow_multi_agent_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/sample_workflow_multi_agent_async.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/sample_workflow_multi_agent_async.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_azure_monitor_tracing.py b/sdk/aiprojects/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_azure_monitor_tracing.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_azure_monitor_tracing.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_azure_monitor_tracing.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_console_tracing.py b/sdk/aiprojects/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_console_tracing.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_console_tracing.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_console_tracing.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_console_tracing_custom_attributes.py b/sdk/aiprojects/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_console_tracing_custom_attributes.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_console_tracing_custom_attributes.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/telemetry/sample_agent_basic_with_console_tracing_custom_attributes.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/computer_use_util.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/computer_use_util.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/computer_use_util.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/computer_use_util.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_ai_search.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_ai_search.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_ai_search.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_ai_search.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_bing_custom_search.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_bing_custom_search.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_bing_custom_search.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_bing_custom_search.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_bing_grounding.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_bing_grounding.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_bing_grounding.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_bing_grounding.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_browser_automation.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_browser_automation.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_browser_automation.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_browser_automation.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_code_interpreter.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_code_interpreter.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_code_interpreter.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_code_interpreter.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_code_interpreter_async.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_code_interpreter_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_code_interpreter_async.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_code_interpreter_async.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_computer_use.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_computer_use.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_computer_use.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_computer_use.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_computer_use_async.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_computer_use_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_computer_use_async.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_computer_use_async.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_fabric.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_fabric.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_fabric.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_fabric.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_file_search.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_file_search.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_file_search.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_file_search.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_file_search_in_stream.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_file_search_in_stream.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_file_search_in_stream.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_file_search_in_stream.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_file_search_in_stream_async.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_file_search_in_stream_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_file_search_in_stream_async.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_file_search_in_stream_async.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_function_tool.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_function_tool.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_function_tool.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_function_tool.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_function_tool_async.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_function_tool_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_function_tool_async.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_function_tool_async.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_image_generation.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_image_generation.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_image_generation.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_image_generation.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_image_generation_async.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_image_generation_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_image_generation_async.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_image_generation_async.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_mcp.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_mcp.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_mcp.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_mcp.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_mcp_async.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_mcp_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_mcp_async.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_mcp_async.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_mcp_with_project_connection.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_mcp_with_project_connection.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_mcp_with_project_connection.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_mcp_with_project_connection.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_mcp_with_project_connection_async.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_mcp_with_project_connection_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_mcp_with_project_connection_async.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_mcp_with_project_connection_async.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_memory_search.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_memory_search.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_memory_search.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_memory_search.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_memory_search_async.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_memory_search_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_memory_search_async.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_memory_search_async.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_openapi.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_openapi.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_openapi.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_openapi.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_openapi_with_project_connection.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_openapi_with_project_connection.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_openapi_with_project_connection.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_openapi_with_project_connection.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_sharepoint.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_sharepoint.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_sharepoint.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_sharepoint.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_to_agent.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_to_agent.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_to_agent.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_to_agent.py diff --git a/sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_web_search.py b/sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_web_search.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/agents/tools/sample_agent_web_search.py rename to sdk/aiprojects/azure-ai-projects/samples/agents/tools/sample_agent_web_search.py diff --git a/sdk/ai/azure-ai-projects/samples/assets/image_input.png b/sdk/aiprojects/azure-ai-projects/samples/assets/image_input.png similarity index 100% rename from sdk/ai/azure-ai-projects/samples/assets/image_input.png rename to sdk/aiprojects/azure-ai-projects/samples/assets/image_input.png diff --git a/sdk/ai/azure-ai-projects/samples/connections/sample_connections.py b/sdk/aiprojects/azure-ai-projects/samples/connections/sample_connections.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/connections/sample_connections.py rename to sdk/aiprojects/azure-ai-projects/samples/connections/sample_connections.py diff --git a/sdk/ai/azure-ai-projects/samples/connections/sample_connections_async.py b/sdk/aiprojects/azure-ai-projects/samples/connections/sample_connections_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/connections/sample_connections_async.py rename to sdk/aiprojects/azure-ai-projects/samples/connections/sample_connections_async.py diff --git a/sdk/ai/azure-ai-projects/samples/datasets/data_folder/data_file1.txt b/sdk/aiprojects/azure-ai-projects/samples/datasets/data_folder/data_file1.txt similarity index 100% rename from sdk/ai/azure-ai-projects/samples/datasets/data_folder/data_file1.txt rename to sdk/aiprojects/azure-ai-projects/samples/datasets/data_folder/data_file1.txt diff --git a/sdk/ai/azure-ai-projects/samples/datasets/data_folder/data_file2.txt b/sdk/aiprojects/azure-ai-projects/samples/datasets/data_folder/data_file2.txt similarity index 100% rename from sdk/ai/azure-ai-projects/samples/datasets/data_folder/data_file2.txt rename to sdk/aiprojects/azure-ai-projects/samples/datasets/data_folder/data_file2.txt diff --git a/sdk/ai/azure-ai-projects/samples/datasets/data_folder/data_subfolder/data_file3.txt b/sdk/aiprojects/azure-ai-projects/samples/datasets/data_folder/data_subfolder/data_file3.txt similarity index 100% rename from sdk/ai/azure-ai-projects/samples/datasets/data_folder/data_subfolder/data_file3.txt rename to sdk/aiprojects/azure-ai-projects/samples/datasets/data_folder/data_subfolder/data_file3.txt diff --git a/sdk/ai/azure-ai-projects/samples/datasets/data_folder/data_subfolder/data_file4.txt b/sdk/aiprojects/azure-ai-projects/samples/datasets/data_folder/data_subfolder/data_file4.txt similarity index 100% rename from sdk/ai/azure-ai-projects/samples/datasets/data_folder/data_subfolder/data_file4.txt rename to sdk/aiprojects/azure-ai-projects/samples/datasets/data_folder/data_subfolder/data_file4.txt diff --git a/sdk/ai/azure-ai-projects/samples/datasets/sample_datasets.py b/sdk/aiprojects/azure-ai-projects/samples/datasets/sample_datasets.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/datasets/sample_datasets.py rename to sdk/aiprojects/azure-ai-projects/samples/datasets/sample_datasets.py diff --git a/sdk/ai/azure-ai-projects/samples/datasets/sample_datasets_async.py b/sdk/aiprojects/azure-ai-projects/samples/datasets/sample_datasets_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/datasets/sample_datasets_async.py rename to sdk/aiprojects/azure-ai-projects/samples/datasets/sample_datasets_async.py diff --git a/sdk/ai/azure-ai-projects/samples/datasets/sample_datasets_download.py b/sdk/aiprojects/azure-ai-projects/samples/datasets/sample_datasets_download.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/datasets/sample_datasets_download.py rename to sdk/aiprojects/azure-ai-projects/samples/datasets/sample_datasets_download.py diff --git a/sdk/ai/azure-ai-projects/samples/deployments/sample_deployments.py b/sdk/aiprojects/azure-ai-projects/samples/deployments/sample_deployments.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/deployments/sample_deployments.py rename to sdk/aiprojects/azure-ai-projects/samples/deployments/sample_deployments.py diff --git a/sdk/ai/azure-ai-projects/samples/deployments/sample_deployments_async.py b/sdk/aiprojects/azure-ai-projects/samples/deployments/sample_deployments_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/deployments/sample_deployments_async.py rename to sdk/aiprojects/azure-ai-projects/samples/deployments/sample_deployments_async.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_coherence.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_coherence.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_coherence.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_coherence.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_fluency.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_fluency.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_fluency.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_fluency.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_generic_agentic_evaluator/agent_utils.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_generic_agentic_evaluator/agent_utils.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_generic_agentic_evaluator/agent_utils.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_generic_agentic_evaluator/agent_utils.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_generic_agentic_evaluator/sample_generic_agentic_evaluator.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_generic_agentic_evaluator/sample_generic_agentic_evaluator.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_generic_agentic_evaluator/sample_generic_agentic_evaluator.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_generic_agentic_evaluator/sample_generic_agentic_evaluator.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_generic_agentic_evaluator/schema_mappings.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_generic_agentic_evaluator/schema_mappings.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_generic_agentic_evaluator/schema_mappings.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_generic_agentic_evaluator/schema_mappings.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_groundedness.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_groundedness.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_groundedness.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_groundedness.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_intent_resolution.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_intent_resolution.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_intent_resolution.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_intent_resolution.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_relevance.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_relevance.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_relevance.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_relevance.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_response_completeness.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_response_completeness.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_response_completeness.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_response_completeness.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_task_adherence.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_task_adherence.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_task_adherence.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_task_adherence.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_task_completion.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_task_completion.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_task_completion.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_task_completion.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_task_navigation_efficiency.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_task_navigation_efficiency.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_task_navigation_efficiency.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_task_navigation_efficiency.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_call_accuracy.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_call_accuracy.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_call_accuracy.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_call_accuracy.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_call_success.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_call_success.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_call_success.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_call_success.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_input_accuracy.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_input_accuracy.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_input_accuracy.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_input_accuracy.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_output_utilization.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_output_utilization.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_output_utilization.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_output_utilization.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_selection.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_selection.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_selection.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/agentic_evaluators/sample_tool_selection.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/data_folder/sample_data_evaluation.jsonl b/sdk/aiprojects/azure-ai-projects/samples/evaluations/data_folder/sample_data_evaluation.jsonl similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/data_folder/sample_data_evaluation.jsonl rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/data_folder/sample_data_evaluation.jsonl diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/data_folder/sample_evaluations_score_model_grader_with_image.jpg b/sdk/aiprojects/azure-ai-projects/samples/evaluations/data_folder/sample_evaluations_score_model_grader_with_image.jpg similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/data_folder/sample_evaluations_score_model_grader_with_image.jpg rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/data_folder/sample_evaluations_score_model_grader_with_image.jpg diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_agent_evaluation.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_agent_evaluation.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_agent_evaluation.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_agent_evaluation.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_agent_response_evaluation.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_agent_response_evaluation.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_agent_response_evaluation.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_agent_response_evaluation.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_agent_response_evaluation_with_function_tool.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_agent_response_evaluation_with_function_tool.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_agent_response_evaluation_with_function_tool.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_agent_response_evaluation_with_function_tool.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_continuous_evaluation_rule.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_continuous_evaluation_rule.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_continuous_evaluation_rule.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_continuous_evaluation_rule.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_eval_catalog.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_eval_catalog.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_eval_catalog.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_eval_catalog.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_eval_catalog_code_based_evaluators.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_eval_catalog_code_based_evaluators.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_eval_catalog_code_based_evaluators.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_eval_catalog_code_based_evaluators.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_eval_catalog_prompt_based_evaluators.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_eval_catalog_prompt_based_evaluators.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_eval_catalog_prompt_based_evaluators.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_eval_catalog_prompt_based_evaluators.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluation_cluster_insight.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluation_cluster_insight.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluation_cluster_insight.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluation_cluster_insight.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluation_compare_insight.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluation_compare_insight.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluation_compare_insight.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluation_compare_insight.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluations_ai_assisted.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluations_ai_assisted.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluations_ai_assisted.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluations_ai_assisted.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluations_builtin_with_dataset_id.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluations_builtin_with_dataset_id.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluations_builtin_with_dataset_id.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluations_builtin_with_dataset_id.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluations_builtin_with_inline_data.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluations_builtin_with_inline_data.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluations_builtin_with_inline_data.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluations_builtin_with_inline_data.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluations_builtin_with_inline_data_oai.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluations_builtin_with_inline_data_oai.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluations_builtin_with_inline_data_oai.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluations_builtin_with_inline_data_oai.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluations_builtin_with_traces.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluations_builtin_with_traces.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluations_builtin_with_traces.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluations_builtin_with_traces.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluations_graders.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluations_graders.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluations_graders.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluations_graders.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluations_score_model_grader_with_image.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluations_score_model_grader_with_image.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_evaluations_score_model_grader_with_image.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_evaluations_score_model_grader_with_image.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_model_evaluation.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_model_evaluation.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_model_evaluation.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_model_evaluation.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_redteam_evaluations.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_redteam_evaluations.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_redteam_evaluations.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_redteam_evaluations.py diff --git a/sdk/ai/azure-ai-projects/samples/evaluations/sample_scheduled_evaluations.py b/sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_scheduled_evaluations.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/evaluations/sample_scheduled_evaluations.py rename to sdk/aiprojects/azure-ai-projects/samples/evaluations/sample_scheduled_evaluations.py diff --git a/sdk/ai/azure-ai-projects/samples/files/data/test_file.jsonl b/sdk/aiprojects/azure-ai-projects/samples/files/data/test_file.jsonl similarity index 100% rename from sdk/ai/azure-ai-projects/samples/files/data/test_file.jsonl rename to sdk/aiprojects/azure-ai-projects/samples/files/data/test_file.jsonl diff --git a/sdk/ai/azure-ai-projects/samples/files/sample_files.py b/sdk/aiprojects/azure-ai-projects/samples/files/sample_files.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/files/sample_files.py rename to sdk/aiprojects/azure-ai-projects/samples/files/sample_files.py diff --git a/sdk/ai/azure-ai-projects/samples/files/sample_files_async.py b/sdk/aiprojects/azure-ai-projects/samples/files/sample_files_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/files/sample_files_async.py rename to sdk/aiprojects/azure-ai-projects/samples/files/sample_files_async.py diff --git a/sdk/ai/azure-ai-projects/samples/finetuning/data/dpo_training_set.jsonl b/sdk/aiprojects/azure-ai-projects/samples/finetuning/data/dpo_training_set.jsonl similarity index 100% rename from sdk/ai/azure-ai-projects/samples/finetuning/data/dpo_training_set.jsonl rename to sdk/aiprojects/azure-ai-projects/samples/finetuning/data/dpo_training_set.jsonl diff --git a/sdk/ai/azure-ai-projects/samples/finetuning/data/dpo_validation_set.jsonl b/sdk/aiprojects/azure-ai-projects/samples/finetuning/data/dpo_validation_set.jsonl similarity index 100% rename from sdk/ai/azure-ai-projects/samples/finetuning/data/dpo_validation_set.jsonl rename to sdk/aiprojects/azure-ai-projects/samples/finetuning/data/dpo_validation_set.jsonl diff --git a/sdk/ai/azure-ai-projects/samples/finetuning/data/rft_training_set.jsonl b/sdk/aiprojects/azure-ai-projects/samples/finetuning/data/rft_training_set.jsonl similarity index 100% rename from sdk/ai/azure-ai-projects/samples/finetuning/data/rft_training_set.jsonl rename to sdk/aiprojects/azure-ai-projects/samples/finetuning/data/rft_training_set.jsonl diff --git a/sdk/ai/azure-ai-projects/samples/finetuning/data/rft_validation_set.jsonl b/sdk/aiprojects/azure-ai-projects/samples/finetuning/data/rft_validation_set.jsonl similarity index 100% rename from sdk/ai/azure-ai-projects/samples/finetuning/data/rft_validation_set.jsonl rename to sdk/aiprojects/azure-ai-projects/samples/finetuning/data/rft_validation_set.jsonl diff --git a/sdk/ai/azure-ai-projects/samples/finetuning/data/sft_training_set.jsonl b/sdk/aiprojects/azure-ai-projects/samples/finetuning/data/sft_training_set.jsonl similarity index 100% rename from sdk/ai/azure-ai-projects/samples/finetuning/data/sft_training_set.jsonl rename to sdk/aiprojects/azure-ai-projects/samples/finetuning/data/sft_training_set.jsonl diff --git a/sdk/ai/azure-ai-projects/samples/finetuning/data/sft_validation_set.jsonl b/sdk/aiprojects/azure-ai-projects/samples/finetuning/data/sft_validation_set.jsonl similarity index 100% rename from sdk/ai/azure-ai-projects/samples/finetuning/data/sft_validation_set.jsonl rename to sdk/aiprojects/azure-ai-projects/samples/finetuning/data/sft_validation_set.jsonl diff --git a/sdk/ai/azure-ai-projects/samples/finetuning/sample_finetuning_dpo_job.py b/sdk/aiprojects/azure-ai-projects/samples/finetuning/sample_finetuning_dpo_job.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/finetuning/sample_finetuning_dpo_job.py rename to sdk/aiprojects/azure-ai-projects/samples/finetuning/sample_finetuning_dpo_job.py diff --git a/sdk/ai/azure-ai-projects/samples/finetuning/sample_finetuning_dpo_job_async.py b/sdk/aiprojects/azure-ai-projects/samples/finetuning/sample_finetuning_dpo_job_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/finetuning/sample_finetuning_dpo_job_async.py rename to sdk/aiprojects/azure-ai-projects/samples/finetuning/sample_finetuning_dpo_job_async.py diff --git a/sdk/ai/azure-ai-projects/samples/finetuning/sample_finetuning_oss_models_supervised_job.py b/sdk/aiprojects/azure-ai-projects/samples/finetuning/sample_finetuning_oss_models_supervised_job.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/finetuning/sample_finetuning_oss_models_supervised_job.py rename to sdk/aiprojects/azure-ai-projects/samples/finetuning/sample_finetuning_oss_models_supervised_job.py diff --git a/sdk/ai/azure-ai-projects/samples/finetuning/sample_finetuning_oss_models_supervised_job_async.py b/sdk/aiprojects/azure-ai-projects/samples/finetuning/sample_finetuning_oss_models_supervised_job_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/finetuning/sample_finetuning_oss_models_supervised_job_async.py rename to sdk/aiprojects/azure-ai-projects/samples/finetuning/sample_finetuning_oss_models_supervised_job_async.py diff --git a/sdk/ai/azure-ai-projects/samples/finetuning/sample_finetuning_reinforcement_job.py b/sdk/aiprojects/azure-ai-projects/samples/finetuning/sample_finetuning_reinforcement_job.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/finetuning/sample_finetuning_reinforcement_job.py rename to sdk/aiprojects/azure-ai-projects/samples/finetuning/sample_finetuning_reinforcement_job.py diff --git a/sdk/ai/azure-ai-projects/samples/finetuning/sample_finetuning_reinforcement_job_async.py b/sdk/aiprojects/azure-ai-projects/samples/finetuning/sample_finetuning_reinforcement_job_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/finetuning/sample_finetuning_reinforcement_job_async.py rename to sdk/aiprojects/azure-ai-projects/samples/finetuning/sample_finetuning_reinforcement_job_async.py diff --git a/sdk/ai/azure-ai-projects/samples/finetuning/sample_finetuning_supervised_job.py b/sdk/aiprojects/azure-ai-projects/samples/finetuning/sample_finetuning_supervised_job.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/finetuning/sample_finetuning_supervised_job.py rename to sdk/aiprojects/azure-ai-projects/samples/finetuning/sample_finetuning_supervised_job.py diff --git a/sdk/ai/azure-ai-projects/samples/finetuning/sample_finetuning_supervised_job_async.py b/sdk/aiprojects/azure-ai-projects/samples/finetuning/sample_finetuning_supervised_job_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/finetuning/sample_finetuning_supervised_job_async.py rename to sdk/aiprojects/azure-ai-projects/samples/finetuning/sample_finetuning_supervised_job_async.py diff --git a/sdk/ai/azure-ai-projects/samples/indexes/sample_indexes.py b/sdk/aiprojects/azure-ai-projects/samples/indexes/sample_indexes.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/indexes/sample_indexes.py rename to sdk/aiprojects/azure-ai-projects/samples/indexes/sample_indexes.py diff --git a/sdk/ai/azure-ai-projects/samples/indexes/sample_indexes_async.py b/sdk/aiprojects/azure-ai-projects/samples/indexes/sample_indexes_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/indexes/sample_indexes_async.py rename to sdk/aiprojects/azure-ai-projects/samples/indexes/sample_indexes_async.py diff --git a/sdk/ai/azure-ai-projects/samples/mcp_client/assets/product_info.md b/sdk/aiprojects/azure-ai-projects/samples/mcp_client/assets/product_info.md similarity index 100% rename from sdk/ai/azure-ai-projects/samples/mcp_client/assets/product_info.md rename to sdk/aiprojects/azure-ai-projects/samples/mcp_client/assets/product_info.md diff --git a/sdk/ai/azure-ai-projects/samples/mcp_client/sample_mcp_tool_async.py b/sdk/aiprojects/azure-ai-projects/samples/mcp_client/sample_mcp_tool_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/mcp_client/sample_mcp_tool_async.py rename to sdk/aiprojects/azure-ai-projects/samples/mcp_client/sample_mcp_tool_async.py diff --git a/sdk/ai/azure-ai-projects/samples/memories/sample_memory_advanced.py b/sdk/aiprojects/azure-ai-projects/samples/memories/sample_memory_advanced.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/memories/sample_memory_advanced.py rename to sdk/aiprojects/azure-ai-projects/samples/memories/sample_memory_advanced.py diff --git a/sdk/ai/azure-ai-projects/samples/memories/sample_memory_advanced_async.py b/sdk/aiprojects/azure-ai-projects/samples/memories/sample_memory_advanced_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/memories/sample_memory_advanced_async.py rename to sdk/aiprojects/azure-ai-projects/samples/memories/sample_memory_advanced_async.py diff --git a/sdk/ai/azure-ai-projects/samples/memories/sample_memory_basic.py b/sdk/aiprojects/azure-ai-projects/samples/memories/sample_memory_basic.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/memories/sample_memory_basic.py rename to sdk/aiprojects/azure-ai-projects/samples/memories/sample_memory_basic.py diff --git a/sdk/ai/azure-ai-projects/samples/memories/sample_memory_basic_async.py b/sdk/aiprojects/azure-ai-projects/samples/memories/sample_memory_basic_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/memories/sample_memory_basic_async.py rename to sdk/aiprojects/azure-ai-projects/samples/memories/sample_memory_basic_async.py diff --git a/sdk/ai/azure-ai-projects/samples/memories/sample_memory_crud.py b/sdk/aiprojects/azure-ai-projects/samples/memories/sample_memory_crud.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/memories/sample_memory_crud.py rename to sdk/aiprojects/azure-ai-projects/samples/memories/sample_memory_crud.py diff --git a/sdk/ai/azure-ai-projects/samples/memories/sample_memory_crud_async.py b/sdk/aiprojects/azure-ai-projects/samples/memories/sample_memory_crud_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/memories/sample_memory_crud_async.py rename to sdk/aiprojects/azure-ai-projects/samples/memories/sample_memory_crud_async.py diff --git a/sdk/ai/azure-ai-projects/samples/red_team/sample_red_team.py b/sdk/aiprojects/azure-ai-projects/samples/red_team/sample_red_team.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/red_team/sample_red_team.py rename to sdk/aiprojects/azure-ai-projects/samples/red_team/sample_red_team.py diff --git a/sdk/ai/azure-ai-projects/samples/red_team/sample_red_team_async.py b/sdk/aiprojects/azure-ai-projects/samples/red_team/sample_red_team_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/red_team/sample_red_team_async.py rename to sdk/aiprojects/azure-ai-projects/samples/red_team/sample_red_team_async.py diff --git a/sdk/ai/azure-ai-projects/samples/responses/sample_responses_basic.py b/sdk/aiprojects/azure-ai-projects/samples/responses/sample_responses_basic.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/responses/sample_responses_basic.py rename to sdk/aiprojects/azure-ai-projects/samples/responses/sample_responses_basic.py diff --git a/sdk/ai/azure-ai-projects/samples/responses/sample_responses_basic_async.py b/sdk/aiprojects/azure-ai-projects/samples/responses/sample_responses_basic_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/responses/sample_responses_basic_async.py rename to sdk/aiprojects/azure-ai-projects/samples/responses/sample_responses_basic_async.py diff --git a/sdk/ai/azure-ai-projects/samples/responses/sample_responses_basic_without_aiprojectclient.py b/sdk/aiprojects/azure-ai-projects/samples/responses/sample_responses_basic_without_aiprojectclient.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/responses/sample_responses_basic_without_aiprojectclient.py rename to sdk/aiprojects/azure-ai-projects/samples/responses/sample_responses_basic_without_aiprojectclient.py diff --git a/sdk/ai/azure-ai-projects/samples/responses/sample_responses_basic_without_aiprojectclient_async.py b/sdk/aiprojects/azure-ai-projects/samples/responses/sample_responses_basic_without_aiprojectclient_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/responses/sample_responses_basic_without_aiprojectclient_async.py rename to sdk/aiprojects/azure-ai-projects/samples/responses/sample_responses_basic_without_aiprojectclient_async.py diff --git a/sdk/ai/azure-ai-projects/samples/responses/sample_responses_image_input.py b/sdk/aiprojects/azure-ai-projects/samples/responses/sample_responses_image_input.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/responses/sample_responses_image_input.py rename to sdk/aiprojects/azure-ai-projects/samples/responses/sample_responses_image_input.py diff --git a/sdk/ai/azure-ai-projects/samples/responses/sample_responses_stream_events.py b/sdk/aiprojects/azure-ai-projects/samples/responses/sample_responses_stream_events.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/responses/sample_responses_stream_events.py rename to sdk/aiprojects/azure-ai-projects/samples/responses/sample_responses_stream_events.py diff --git a/sdk/ai/azure-ai-projects/samples/responses/sample_responses_stream_manager.py b/sdk/aiprojects/azure-ai-projects/samples/responses/sample_responses_stream_manager.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/responses/sample_responses_stream_manager.py rename to sdk/aiprojects/azure-ai-projects/samples/responses/sample_responses_stream_manager.py diff --git a/sdk/ai/azure-ai-projects/samples/responses/sample_responses_structured_output.py b/sdk/aiprojects/azure-ai-projects/samples/responses/sample_responses_structured_output.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/responses/sample_responses_structured_output.py rename to sdk/aiprojects/azure-ai-projects/samples/responses/sample_responses_structured_output.py diff --git a/sdk/ai/azure-ai-projects/samples/telemetry/sample_telemetry.py b/sdk/aiprojects/azure-ai-projects/samples/telemetry/sample_telemetry.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/telemetry/sample_telemetry.py rename to sdk/aiprojects/azure-ai-projects/samples/telemetry/sample_telemetry.py diff --git a/sdk/ai/azure-ai-projects/samples/telemetry/sample_telemetry_async.py b/sdk/aiprojects/azure-ai-projects/samples/telemetry/sample_telemetry_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/samples/telemetry/sample_telemetry_async.py rename to sdk/aiprojects/azure-ai-projects/samples/telemetry/sample_telemetry_async.py diff --git a/sdk/ai/azure-ai-projects/tests/README.md b/sdk/aiprojects/azure-ai-projects/tests/README.md similarity index 94% rename from sdk/ai/azure-ai-projects/tests/README.md rename to sdk/aiprojects/azure-ai-projects/tests/README.md index b9737eb32591..416db499422d 100644 --- a/sdk/ai/azure-ai-projects/tests/README.md +++ b/sdk/aiprojects/azure-ai-projects/tests/README.md @@ -5,7 +5,7 @@ The instructions below are for running tests locally, on a Windows machine, agai ## Build and install the client library - Clone or download this sample repository. -- Open a command prompt window in the folder `sdk\ai\azure-ai-projects` +- Open a command prompt window in the folder `sdk\aiprojects\azure-ai-projects` - Install development dependencies: ```bash pip install -r dev_requirements.txt diff --git a/sdk/ai/azure-ai-projects/tests/agents/telemetry/gen_ai_trace_verifier.py b/sdk/aiprojects/azure-ai-projects/tests/agents/telemetry/gen_ai_trace_verifier.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/telemetry/gen_ai_trace_verifier.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/telemetry/gen_ai_trace_verifier.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/telemetry/memory_trace_exporter.py b/sdk/aiprojects/azure-ai-projects/tests/agents/telemetry/memory_trace_exporter.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/telemetry/memory_trace_exporter.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/telemetry/memory_trace_exporter.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/telemetry/test_ai_agents_instrumentor.py b/sdk/aiprojects/azure-ai-projects/tests/agents/telemetry/test_ai_agents_instrumentor.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/telemetry/test_ai_agents_instrumentor.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/telemetry/test_ai_agents_instrumentor.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/telemetry/test_ai_agents_instrumentor_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/telemetry/test_ai_agents_instrumentor_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/telemetry/test_ai_agents_instrumentor_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/telemetry/test_ai_agents_instrumentor_async.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/telemetry/test_ai_instrumentor_base.py b/sdk/aiprojects/azure-ai-projects/tests/agents/telemetry/test_ai_instrumentor_base.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/telemetry/test_ai_instrumentor_base.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/telemetry/test_ai_instrumentor_base.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/telemetry/test_responses_instrumentor.py b/sdk/aiprojects/azure-ai-projects/tests/agents/telemetry/test_responses_instrumentor.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/telemetry/test_responses_instrumentor.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/telemetry/test_responses_instrumentor.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/telemetry/test_responses_instrumentor_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/telemetry/test_responses_instrumentor_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/telemetry/test_responses_instrumentor_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/telemetry/test_responses_instrumentor_async.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/telemetry/test_responses_instrumentor_metrics.py b/sdk/aiprojects/azure-ai-projects/tests/agents/telemetry/test_responses_instrumentor_metrics.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/telemetry/test_responses_instrumentor_metrics.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/telemetry/test_responses_instrumentor_metrics.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/test_agent_responses_crud.py b/sdk/aiprojects/azure-ai-projects/tests/agents/test_agent_responses_crud.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/test_agent_responses_crud.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/test_agent_responses_crud.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/test_agent_responses_crud_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/test_agent_responses_crud_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/test_agent_responses_crud_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/test_agent_responses_crud_async.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/test_agents_crud.py b/sdk/aiprojects/azure-ai-projects/tests/agents/test_agents_crud.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/test_agents_crud.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/test_agents_crud.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/test_agents_crud_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/test_agents_crud_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/test_agents_crud_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/test_agents_crud_async.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/test_container_app_agents.py b/sdk/aiprojects/azure-ai-projects/tests/agents/test_container_app_agents.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/test_container_app_agents.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/test_container_app_agents.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/test_container_app_agents_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/test_container_app_agents_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/test_container_app_agents_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/test_container_app_agents_async.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/test_conversation_crud.py b/sdk/aiprojects/azure-ai-projects/tests/agents/test_conversation_crud.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/test_conversation_crud.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/test_conversation_crud.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/test_conversation_crud_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/test_conversation_crud_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/test_conversation_crud_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/test_conversation_crud_async.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/test_conversation_items_crud.py b/sdk/aiprojects/azure-ai-projects/tests/agents/test_conversation_items_crud.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/test_conversation_items_crud.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/test_conversation_items_crud.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/test_conversation_items_crud_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/test_conversation_items_crud_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/test_conversation_items_crud_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/test_conversation_items_crud_async.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/test_hosted_agents.py b/sdk/aiprojects/azure-ai-projects/tests/agents/test_hosted_agents.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/test_hosted_agents.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/test_hosted_agents.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/__init__.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/__init__.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/__init__.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/__init__.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/multitool/test_agent_code_interpreter_and_function.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/multitool/test_agent_code_interpreter_and_function.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/multitool/test_agent_code_interpreter_and_function.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/multitool/test_agent_code_interpreter_and_function.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/multitool/test_agent_file_search_and_code_interpreter.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/multitool/test_agent_file_search_and_code_interpreter.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/multitool/test_agent_file_search_and_code_interpreter.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/multitool/test_agent_file_search_and_code_interpreter.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/multitool/test_agent_file_search_and_function.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/multitool/test_agent_file_search_and_function.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/multitool/test_agent_file_search_and_function.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/multitool/test_agent_file_search_and_function.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/multitool/test_agent_file_search_code_interpreter_function.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/multitool/test_agent_file_search_code_interpreter_function.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/multitool/test_agent_file_search_code_interpreter_function.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/multitool/test_agent_file_search_code_interpreter_function.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/multitool/test_multitool_with_conversations.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/multitool/test_multitool_with_conversations.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/multitool/test_multitool_with_conversations.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/multitool/test_multitool_with_conversations.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_ai_search.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_ai_search.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_ai_search.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_ai_search.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_ai_search_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_ai_search_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_ai_search_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_ai_search_async.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_bing_grounding.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_bing_grounding.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_bing_grounding.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_bing_grounding.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_code_interpreter.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_code_interpreter.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_code_interpreter.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_code_interpreter.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_code_interpreter_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_code_interpreter_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_code_interpreter_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_code_interpreter_async.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_file_search.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_file_search.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_file_search.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_file_search.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_file_search_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_file_search_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_file_search_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_file_search_async.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_file_search_stream.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_file_search_stream.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_file_search_stream.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_file_search_stream.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_file_search_stream_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_file_search_stream_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_file_search_stream_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_file_search_stream_async.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_function_tool.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_function_tool.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_function_tool.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_function_tool.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_function_tool_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_function_tool_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_function_tool_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_function_tool_async.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_image_generation.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_image_generation.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_image_generation.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_image_generation.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_image_generation_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_image_generation_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_image_generation_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_image_generation_async.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_mcp.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_mcp.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_mcp.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_mcp.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_mcp_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_mcp_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_mcp_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_mcp_async.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_memory_search.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_memory_search.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_memory_search.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_memory_search.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_memory_search_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_memory_search_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_memory_search_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_memory_search_async.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_openapi.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_openapi.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_openapi.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_openapi.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_openapi_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_openapi_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_openapi_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_openapi_async.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_tools_with_conversations.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_tools_with_conversations.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_tools_with_conversations.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_tools_with_conversations.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_web_search.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_web_search.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_web_search.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_web_search.py diff --git a/sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_web_search_async.py b/sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_web_search_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/agents/tools/test_agent_web_search_async.py rename to sdk/aiprojects/azure-ai-projects/tests/agents/tools/test_agent_web_search_async.py diff --git a/sdk/ai/azure-ai-projects/tests/conftest.py b/sdk/aiprojects/azure-ai-projects/tests/conftest.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/conftest.py rename to sdk/aiprojects/azure-ai-projects/tests/conftest.py diff --git a/sdk/ai/azure-ai-projects/tests/connections/test_connections.py b/sdk/aiprojects/azure-ai-projects/tests/connections/test_connections.py similarity index 98% rename from sdk/ai/azure-ai-projects/tests/connections/test_connections.py rename to sdk/aiprojects/azure-ai-projects/tests/connections/test_connections.py index 968fe4d7a503..c6db7ef534ed 100644 --- a/sdk/ai/azure-ai-projects/tests/connections/test_connections.py +++ b/sdk/aiprojects/azure-ai-projects/tests/connections/test_connections.py @@ -9,7 +9,7 @@ class TestConnections(TestBase): - # To run this test, use the following command in the \sdk\ai\azure-ai-projects folder: + # To run this test, use the following command in the \sdk\aiprojects\azure-ai-projects folder: # cls & pytest tests\test_connections.py::TestConnections::test_connections -s @servicePreparer() @recorded_by_proxy diff --git a/sdk/ai/azure-ai-projects/tests/connections/test_connections_async.py b/sdk/aiprojects/azure-ai-projects/tests/connections/test_connections_async.py similarity index 97% rename from sdk/ai/azure-ai-projects/tests/connections/test_connections_async.py rename to sdk/aiprojects/azure-ai-projects/tests/connections/test_connections_async.py index b98cdacad711..4576d21f0635 100644 --- a/sdk/ai/azure-ai-projects/tests/connections/test_connections_async.py +++ b/sdk/aiprojects/azure-ai-projects/tests/connections/test_connections_async.py @@ -3,14 +3,13 @@ # Licensed under the MIT License. # ------------------------------------ -from azure.ai.projects.aio import AIProjectClient from test_base import TestBase, servicePreparer from devtools_testutils.aio import recorded_by_proxy_async class TestConnectionsAsync(TestBase): - # To run this test, use the following command in the \sdk\ai\azure-ai-projects folder: + # To run this test, use the following command in the \sdk\aiprojects\azure-ai-projects folder: # cls & pytest tests\test_connections_async.py::TestConnectionsAsync::test_connections_async -s @servicePreparer() @recorded_by_proxy_async diff --git a/sdk/ai/azure-ai-projects/tests/datasets/test_datasets.py b/sdk/aiprojects/azure-ai-projects/tests/datasets/test_datasets.py similarity index 99% rename from sdk/ai/azure-ai-projects/tests/datasets/test_datasets.py rename to sdk/aiprojects/azure-ai-projects/tests/datasets/test_datasets.py index 542c1090a384..c6d4e276ac79 100644 --- a/sdk/ai/azure-ai-projects/tests/datasets/test_datasets.py +++ b/sdk/aiprojects/azure-ai-projects/tests/datasets/test_datasets.py @@ -22,7 +22,7 @@ class TestDatasets(TestBase): - # To run this test, use the following command in the \sdk\ai\azure-ai-projects folder: + # To run this test, use the following command in the \sdk\aiprojects\azure-ai-projects folder: # cls & pytest tests\test_datasets.py::TestDatasets::test_datasets_upload_file -s @servicePreparer() @pytest.mark.skipif( @@ -130,7 +130,7 @@ def test_datasets_upload_file(self, **kwargs): assert "Could not find asset with ID" in e.message assert exception_thrown - # To run this test, use the following command in the \sdk\ai\azure-ai-projects folder: + # To run this test, use the following command in the \sdk\aiprojects\azure-ai-projects folder: # cls & pytest tests\test_datasets.py::TestDatasets::test_datasets_upload_folder -s @servicePreparer() @pytest.mark.skipif( diff --git a/sdk/ai/azure-ai-projects/tests/datasets/test_datasets_async.py b/sdk/aiprojects/azure-ai-projects/tests/datasets/test_datasets_async.py similarity index 99% rename from sdk/ai/azure-ai-projects/tests/datasets/test_datasets_async.py rename to sdk/aiprojects/azure-ai-projects/tests/datasets/test_datasets_async.py index c8445a2d8410..0303022555e5 100644 --- a/sdk/ai/azure-ai-projects/tests/datasets/test_datasets_async.py +++ b/sdk/aiprojects/azure-ai-projects/tests/datasets/test_datasets_async.py @@ -23,7 +23,7 @@ class TestDatasetsAsync(TestBase): - # To run this test, use the following command in the \sdk\ai\azure-ai-projects folder: + # To run this test, use the following command in the \sdk\aiprojects\azure-ai-projects folder: # cls & pytest tests\test_datasets_async.py::TestDatasetsAsync::test_datasets_upload_file_async -s @servicePreparer() @pytest.mark.skipif( @@ -131,7 +131,7 @@ async def test_datasets_upload_file(self, **kwargs): assert "Could not find asset with ID" in e.message assert exception_thrown - # To run this test, use the following command in the \sdk\ai\azure-ai-projects folder: + # To run this test, use the following command in the \sdk\aiprojects\azure-ai-projects folder: # cls & pytest tests\test_datasets_async.py::TestDatasetsAsync::test_datasets_upload_folder_async -s @servicePreparer() @pytest.mark.skipif( diff --git a/sdk/ai/azure-ai-projects/tests/deployments/test_deployments.py b/sdk/aiprojects/azure-ai-projects/tests/deployments/test_deployments.py similarity index 98% rename from sdk/ai/azure-ai-projects/tests/deployments/test_deployments.py rename to sdk/aiprojects/azure-ai-projects/tests/deployments/test_deployments.py index 8bc90ee53a4c..c33a279adf64 100644 --- a/sdk/ai/azure-ai-projects/tests/deployments/test_deployments.py +++ b/sdk/aiprojects/azure-ai-projects/tests/deployments/test_deployments.py @@ -10,7 +10,7 @@ class TestDeployments(TestBase): - # To run this test, use the following command in the \sdk\ai\azure-ai-projects folder: + # To run this test, use the following command in the \sdk\aiprojects\azure-ai-projects folder: # cls & pytest tests\test_deployments.py::TestDeployments::test_deployments -s @servicePreparer() @recorded_by_proxy diff --git a/sdk/ai/azure-ai-projects/tests/deployments/test_deployments_async.py b/sdk/aiprojects/azure-ai-projects/tests/deployments/test_deployments_async.py similarity index 98% rename from sdk/ai/azure-ai-projects/tests/deployments/test_deployments_async.py rename to sdk/aiprojects/azure-ai-projects/tests/deployments/test_deployments_async.py index 92549800faa2..012bc9c21ffa 100644 --- a/sdk/ai/azure-ai-projects/tests/deployments/test_deployments_async.py +++ b/sdk/aiprojects/azure-ai-projects/tests/deployments/test_deployments_async.py @@ -10,7 +10,7 @@ class TestDeploymentsAsync(TestBase): - # To run this test, use the following command in the \sdk\ai\azure-ai-projects folder: + # To run this test, use the following command in the \sdk\aiprojects\azure-ai-projects folder: # cls & pytest tests\test_deployments_async.py::TestDeploymentsAsync::test_deployments_async -s @servicePreparer() @recorded_by_proxy_async diff --git a/sdk/ai/azure-ai-projects/tests/files/test_files.py b/sdk/aiprojects/azure-ai-projects/tests/files/test_files.py similarity index 98% rename from sdk/ai/azure-ai-projects/tests/files/test_files.py rename to sdk/aiprojects/azure-ai-projects/tests/files/test_files.py index f934ce955547..42f4e0743797 100644 --- a/sdk/ai/azure-ai-projects/tests/files/test_files.py +++ b/sdk/aiprojects/azure-ai-projects/tests/files/test_files.py @@ -12,7 +12,7 @@ class TestFiles(TestBase): - # To run this test, use the following command in the \sdk\ai\azure-ai-projects folder: + # To run this test, use the following command in the \sdk\aiprojects\azure-ai-projects folder: # cls & pytest tests\test_files.py::TestFiles::test_files -s @servicePreparer() @recorded_by_proxy(RecordedTransport.HTTPX) diff --git a/sdk/ai/azure-ai-projects/tests/files/test_files_async.py b/sdk/aiprojects/azure-ai-projects/tests/files/test_files_async.py similarity index 98% rename from sdk/ai/azure-ai-projects/tests/files/test_files_async.py rename to sdk/aiprojects/azure-ai-projects/tests/files/test_files_async.py index cc85b778e1a5..488d3033ed43 100644 --- a/sdk/ai/azure-ai-projects/tests/files/test_files_async.py +++ b/sdk/aiprojects/azure-ai-projects/tests/files/test_files_async.py @@ -13,7 +13,7 @@ class TestFilesAsync(TestBase): - # To run this test, use the following command in the \sdk\ai\azure-ai-projects folder: + # To run this test, use the following command in the \sdk\aiprojects\azure-ai-projects folder: # cls & pytest tests\test_files_async.py::TestFilesAsync::test_files_async -s @servicePreparer() @recorded_by_proxy_async(RecordedTransport.HTTPX) diff --git a/sdk/ai/azure-ai-projects/tests/finetuning/test_finetuning.py b/sdk/aiprojects/azure-ai-projects/tests/finetuning/test_finetuning.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/finetuning/test_finetuning.py rename to sdk/aiprojects/azure-ai-projects/tests/finetuning/test_finetuning.py diff --git a/sdk/ai/azure-ai-projects/tests/finetuning/test_finetuning_async.py b/sdk/aiprojects/azure-ai-projects/tests/finetuning/test_finetuning_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/finetuning/test_finetuning_async.py rename to sdk/aiprojects/azure-ai-projects/tests/finetuning/test_finetuning_async.py diff --git a/sdk/ai/azure-ai-projects/tests/indexes/test_indexes.py b/sdk/aiprojects/azure-ai-projects/tests/indexes/test_indexes.py similarity index 99% rename from sdk/ai/azure-ai-projects/tests/indexes/test_indexes.py rename to sdk/aiprojects/azure-ai-projects/tests/indexes/test_indexes.py index eb22ca9ff27b..439daea0ce52 100644 --- a/sdk/ai/azure-ai-projects/tests/indexes/test_indexes.py +++ b/sdk/aiprojects/azure-ai-projects/tests/indexes/test_indexes.py @@ -12,7 +12,7 @@ class TestIndexes(TestBase): - # To run this test, use the following command in the \sdk\ai\azure-ai-projects folder: + # To run this test, use the following command in the \sdk\aiprojects\azure-ai-projects folder: # cls & pytest tests\test_indexes.py::TestIndexes::test_indexes -s @servicePreparer() @recorded_by_proxy diff --git a/sdk/ai/azure-ai-projects/tests/indexes/test_indexes_async.py b/sdk/aiprojects/azure-ai-projects/tests/indexes/test_indexes_async.py similarity index 99% rename from sdk/ai/azure-ai-projects/tests/indexes/test_indexes_async.py rename to sdk/aiprojects/azure-ai-projects/tests/indexes/test_indexes_async.py index eb88e0d9a915..89918c29309a 100644 --- a/sdk/ai/azure-ai-projects/tests/indexes/test_indexes_async.py +++ b/sdk/aiprojects/azure-ai-projects/tests/indexes/test_indexes_async.py @@ -12,7 +12,7 @@ class TestIndexesAsync(TestBase): - # To run this test, use the following command in the \sdk\ai\azure-ai-projects folder: + # To run this test, use the following command in the \sdk\aiprojects\azure-ai-projects folder: # cls & pytest tests\test_indexes_async.py::TestIndexesAsync::test_indexes_async -s @servicePreparer() @recorded_by_proxy_async diff --git a/sdk/ai/azure-ai-projects/tests/redteams/test_redteams.py b/sdk/aiprojects/azure-ai-projects/tests/redteams/test_redteams.py similarity index 98% rename from sdk/ai/azure-ai-projects/tests/redteams/test_redteams.py rename to sdk/aiprojects/azure-ai-projects/tests/redteams/test_redteams.py index 2aefc6cef437..14b1ba4a12fa 100644 --- a/sdk/ai/azure-ai-projects/tests/redteams/test_redteams.py +++ b/sdk/aiprojects/azure-ai-projects/tests/redteams/test_redteams.py @@ -16,7 +16,7 @@ class TestRedTeams(TestBase): - # To run this test, use the following command in the \sdk\ai\azure-ai-projects folder: + # To run this test, use the following command in the \sdk\aiprojects\azure-ai-projects folder: # cls & pytest tests\test_redteams.py::TestRedTeams::test_red_teams -s @servicePreparer() @recorded_by_proxy diff --git a/sdk/ai/azure-ai-projects/tests/redteams/test_redteams_async.py b/sdk/aiprojects/azure-ai-projects/tests/redteams/test_redteams_async.py similarity index 98% rename from sdk/ai/azure-ai-projects/tests/redteams/test_redteams_async.py rename to sdk/aiprojects/azure-ai-projects/tests/redteams/test_redteams_async.py index d6809d2d785b..ecf4ca92b385 100644 --- a/sdk/ai/azure-ai-projects/tests/redteams/test_redteams_async.py +++ b/sdk/aiprojects/azure-ai-projects/tests/redteams/test_redteams_async.py @@ -16,7 +16,7 @@ class TestRedTeams(TestBase): - # To run this test, use the following command in the \sdk\ai\azure-ai-projects folder: + # To run this test, use the following command in the \sdk\aiprojects\azure-ai-projects folder: # cls & pytest tests\test_redteams.py::TestRedTeams::test_red_teams_async -s @servicePreparer() @recorded_by_proxy_async diff --git a/sdk/ai/azure-ai-projects/tests/responses/test_responses.py b/sdk/aiprojects/azure-ai-projects/tests/responses/test_responses.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/responses/test_responses.py rename to sdk/aiprojects/azure-ai-projects/tests/responses/test_responses.py diff --git a/sdk/ai/azure-ai-projects/tests/responses/test_responses_async.py b/sdk/aiprojects/azure-ai-projects/tests/responses/test_responses_async.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/responses/test_responses_async.py rename to sdk/aiprojects/azure-ai-projects/tests/responses/test_responses_async.py diff --git a/sdk/ai/azure-ai-projects/tests/samples/test_samples.py b/sdk/aiprojects/azure-ai-projects/tests/samples/sample_executor_helpers.py similarity index 53% rename from sdk/ai/azure-ai-projects/tests/samples/test_samples.py rename to sdk/aiprojects/azure-ai-projects/tests/samples/sample_executor_helpers.py index db1eadb4d8cb..8697362b1631 100644 --- a/sdk/ai/azure-ai-projects/tests/samples/test_samples.py +++ b/sdk/aiprojects/azure-ai-projects/tests/samples/sample_executor_helpers.py @@ -3,31 +3,22 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ -import os, pytest, inspect, sys, json +"""Shared base code for sample tests - sync dependencies only.""" +import os +import sys +import pytest +import inspect import importlib.util -import unittest.mock as mock -from typing import Optional, Union, cast, overload -from azure.core.credentials import TokenCredential -from azure.core.credentials_async import AsyncTokenCredential -from devtools_testutils.aio import recorded_by_proxy_async -from devtools_testutils import recorded_by_proxy, AzureRecordedTestCase, RecordedTransport -from devtools_testutils.fake_credentials import FakeTokenCredential -from devtools_testutils.fake_credentials_async import AsyncFakeCredential -from test_base import servicePreparer, patched_open_crlf_to_lf -from pytest import MonkeyPatch -from azure.ai.projects import AIProjectClient -from azure.ai.projects.aio import AIProjectClient as AsyncAIProjectClient +from typing import Optional from pydantic import BaseModel -class SampleExecutor: - """Helper class for executing sample files with proper environment setup and credential mocking.""" +class BaseSampleExecutor: + """Base helper class for executing sample files with proper environment setup. - # Note that Python 3.9 doesn't support the | operator for type unions in annotations. That syntax was introduced - # in Python 3.10. So here we use Union from the typing module instead. - tokenCredential: Optional[ - Union[TokenCredential, AsyncTokenCredential, FakeTokenCredential, AsyncFakeCredential] - ] = None + This class contains all shared logic that doesn't require async/aio imports. + Subclasses implement sync/async specific credential and execution logic. + """ class TestReport(BaseModel): """Schema for validation test report.""" @@ -36,9 +27,7 @@ class TestReport(BaseModel): correct: bool reason: str - def __init__( - self, test_instance: "AzureRecordedTestCase", sample_path: str, env_var_mapping: dict[str, str], **kwargs - ): + def __init__(self, test_instance, sample_path: str, env_var_mapping: dict[str, str], **kwargs): self.test_instance = test_instance self.sample_path = sample_path self.print_calls: list[str] = [] @@ -70,66 +59,6 @@ def _capture_print(self, *args, **kwargs): self.print_calls.append(" ".join(str(arg) for arg in args)) self._original_print(*args, **kwargs) - def _get_mock_credential(self, is_async: bool): - """Get a mock credential that supports context manager protocol.""" - self.tokenCredential = self.test_instance.get_credential(AIProjectClient, is_async=is_async) - if is_async: - patch_target = "azure.identity.aio.DefaultAzureCredential" - else: - patch_target = "azure.identity.DefaultAzureCredential" - - # Create a mock that returns a context manager wrapping the credential - mock_credential_class = mock.MagicMock() - mock_credential_class.return_value.__enter__ = mock.MagicMock(return_value=self.tokenCredential) - mock_credential_class.return_value.__exit__ = mock.MagicMock(return_value=None) - mock_credential_class.return_value.__aenter__ = mock.AsyncMock(return_value=self.tokenCredential) - mock_credential_class.return_value.__aexit__ = mock.AsyncMock(return_value=None) - - return mock.patch(patch_target, new=mock_credential_class) - - def execute(self, enable_llm_validation: bool = True): - """Execute a synchronous sample with proper mocking and environment setup.""" - - with ( - MonkeyPatch.context() as mp, - self._get_mock_credential(is_async=False), - ): - for var_name, var_value in self.env_vars.items(): - mp.setenv(var_name, var_value) - - with ( - mock.patch("builtins.print", side_effect=self._capture_print), - mock.patch("builtins.open", side_effect=patched_open_crlf_to_lf), - ): - if self.spec.loader is None: - raise ImportError(f"Could not load module {self.spec.name} from {self.sample_path}") - self.spec.loader.exec_module(self.module) - - if enable_llm_validation: - self._validate_output() - - async def execute_async(self, enable_llm_validation: bool = True): - """Execute an asynchronous sample with proper mocking and environment setup.""" - - with ( - MonkeyPatch.context() as mp, - self._get_mock_credential(is_async=True), - ): - for var_name, var_value in self.env_vars.items(): - mp.setenv(var_name, var_value) - - with ( - mock.patch("builtins.open", side_effect=patched_open_crlf_to_lf), - mock.patch("builtins.print", side_effect=self._capture_print), - ): - if self.spec.loader is None: - raise ImportError(f"Could not load module {self.spec.name} from {self.sample_path}") - self.spec.loader.exec_module(self.module) - await self.module.main() - - if enable_llm_validation: - await self._validate_output_async() - def _get_validation_request_params(self) -> dict: """Get common parameters for validation request.""" return { @@ -186,42 +115,10 @@ def _assert_validation_result(self, test_report: dict) -> None: assert test_report["correct"], f"Error is identified: {test_report['reason']}" print(f"Reason: {test_report['reason']}") - def _validate_output(self): - """Validate sample output using synchronous OpenAI client.""" - endpoint = os.environ["AZURE_AI_PROJECT_ENDPOINT"] - print(f"For validating console output, creating AIProjectClient with endpoint: {endpoint}") - assert isinstance(self.tokenCredential, TokenCredential) or isinstance( - self.tokenCredential, FakeTokenCredential - ) - with ( - AIProjectClient( - endpoint=endpoint, credential=cast(TokenCredential, self.tokenCredential) - ) as project_client, - project_client.get_openai_client() as openai_client, - ): - response = openai_client.responses.create(**self._get_validation_request_params()) - test_report = json.loads(response.output_text) - self._assert_validation_result(test_report) - - async def _validate_output_async(self): - """Validate sample output using asynchronous OpenAI client.""" - endpoint = os.environ["AZURE_AI_PROJECT_ENDPOINT"] - print(f"For validating console output, creating AIProjectClient with endpoint: {endpoint}") - assert isinstance(self.tokenCredential, AsyncTokenCredential) or isinstance( - self.tokenCredential, AsyncFakeCredential - ) - async with ( - AsyncAIProjectClient( - endpoint=endpoint, credential=cast(AsyncTokenCredential, self.tokenCredential) - ) as project_client, - ): - async with project_client.get_openai_client() as openai_client: - response = await openai_client.responses.create(**self._get_validation_request_params()) - test_report = json.loads(response.output_text) - self._assert_validation_result(test_report) - class SamplePathPasser: + """Decorator for passing sample path to test functions.""" + def __call__(self, fn): if inspect.iscoroutinefunction(fn): @@ -243,6 +140,7 @@ def get_sample_paths( samples_to_skip: Optional[list[str]] = None, is_async: Optional[bool] = False, ) -> list: + """Get list of sample paths for testing.""" # Get the path to the samples folder current_dir = os.path.dirname(os.path.abspath(__file__)) samples_folder_path = os.path.normpath(os.path.join(current_dir, os.pardir, os.pardir)) @@ -306,32 +204,3 @@ def get_sample_environment_variables_map(operation_group: Optional[str] = None) "MEMORY_STORE_CHAT_MODEL_DEPLOYMENT_NAME": "azure_ai_projects_tests_memory_store_chat_model_deployment_name", "MEMORY_STORE_EMBEDDING_MODEL_DEPLOYMENT_NAME": "azure_ai_projects_tests_memory_store_embedding_model_deployment_name", } - - -class TestSamples(AzureRecordedTestCase): - - # To run this test with a specific sample, use: - # pytest tests/samples/test_samples.py::TestSamples::test_agent_tools_samples[sample_agent_memory_search] - @servicePreparer() - @pytest.mark.parametrize( - "sample_path", - get_sample_paths( - "agents/tools", - samples_to_skip=[ - "sample_agent_bing_custom_search.py", - "sample_agent_bing_grounding.py", - "sample_agent_browser_automation.py", - "sample_agent_fabric.py", - "sample_agent_mcp_with_project_connection.py", - "sample_agent_openapi_with_project_connection.py", - "sample_agent_to_agent.py", - ], - is_async=False, - ), - ) - @SamplePathPasser() - @recorded_by_proxy(RecordedTransport.AZURE_CORE, RecordedTransport.HTTPX) - def test_agent_tools_samples(self, sample_path: str, **kwargs) -> None: - env_var_mapping = get_sample_environment_variables_map(operation_group="agents") - executor = SampleExecutor(self, sample_path, env_var_mapping, **kwargs) - executor.execute() diff --git a/sdk/aiprojects/azure-ai-projects/tests/samples/test_samples.py b/sdk/aiprojects/azure-ai-projects/tests/samples/test_samples.py new file mode 100644 index 000000000000..f606368a3b12 --- /dev/null +++ b/sdk/aiprojects/azure-ai-projects/tests/samples/test_samples.py @@ -0,0 +1,119 @@ +# pylint: disable=line-too-long,useless-suppression +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import os +import json +import unittest.mock as mock +from typing import cast +import pytest +from azure.core.credentials import TokenCredential +from devtools_testutils.fake_credentials import FakeTokenCredential +from devtools_testutils import recorded_by_proxy, AzureRecordedTestCase, RecordedTransport +from azure.ai.projects import AIProjectClient +from pytest import MonkeyPatch +from test_base import servicePreparer +from sample_executor_helpers import ( + BaseSampleExecutor, + SamplePathPasser, + get_sample_paths, + get_sample_environment_variables_map, +) + + +class SyncSampleExecutor(BaseSampleExecutor): + """Synchronous sample executor that only uses sync credentials.""" + + def __init__(self, test_instance, sample_path: str, env_var_mapping: dict[str, str], **kwargs): + super().__init__(test_instance, sample_path, env_var_mapping, **kwargs) + self.tokenCredential: TokenCredential | FakeTokenCredential | None = None + + def _get_mock_credential(self): + """Get a mock credential that supports context manager protocol.""" + self.tokenCredential = self.test_instance.get_credential(AIProjectClient, is_async=False) + patch_target = "azure.identity.DefaultAzureCredential" + + # Create a mock that returns a context manager wrapping the credential + mock_credential_class = mock.MagicMock() + mock_credential_class.return_value.__enter__ = mock.MagicMock(return_value=self.tokenCredential) + mock_credential_class.return_value.__exit__ = mock.MagicMock(return_value=None) + + return mock.patch(patch_target, new=mock_credential_class) + + def execute(self, enable_llm_validation: bool = True, patched_open_fn=None): + """Execute a synchronous sample with proper mocking and environment setup.""" + # Import patched_open_crlf_to_lf here to avoid circular import + if patched_open_fn is None: + from test_base import patched_open_crlf_to_lf + + patched_open_fn = patched_open_crlf_to_lf + + with ( + MonkeyPatch.context() as mp, + self._get_mock_credential(), + ): + for var_name, var_value in self.env_vars.items(): + mp.setenv(var_name, var_value) + + self._execute_module(patched_open_fn) + + if enable_llm_validation: + self._validate_output() + + def _execute_module(self, patched_open_fn): + """Execute the module with environment setup and mocking.""" + if self.spec.loader is None: + raise ImportError(f"Could not load module {self.spec.name} from {self.sample_path}") + + with ( + mock.patch("builtins.print", side_effect=self._capture_print), + mock.patch("builtins.open", side_effect=patched_open_fn), + ): + self.spec.loader.exec_module(self.module) + + def _validate_output(self): + """Validate sample output using synchronous OpenAI client.""" + endpoint = os.environ["AZURE_AI_PROJECT_ENDPOINT"] + print(f"For validating console output, creating AIProjectClient with endpoint: {endpoint}") + assert isinstance(self.tokenCredential, TokenCredential) or isinstance( + self.tokenCredential, FakeTokenCredential + ) + with ( + AIProjectClient( + endpoint=endpoint, credential=cast(TokenCredential, self.tokenCredential) + ) as project_client, + project_client.get_openai_client() as openai_client, + ): + response = openai_client.responses.create(**self._get_validation_request_params()) + test_report = json.loads(response.output_text) + self._assert_validation_result(test_report) + + +class TestSamples(AzureRecordedTestCase): + + # To run this test with a specific sample, use: + # pytest tests/samples/test_samples.py::TestSamples::test_agent_tools_samples[sample_agent_memory_search] + @servicePreparer() + @pytest.mark.parametrize( + "sample_path", + get_sample_paths( + "agents/tools", + samples_to_skip=[ + "sample_agent_bing_custom_search.py", + "sample_agent_bing_grounding.py", + "sample_agent_browser_automation.py", + "sample_agent_fabric.py", + "sample_agent_mcp_with_project_connection.py", + "sample_agent_openapi_with_project_connection.py", + "sample_agent_to_agent.py", + ], + is_async=False, + ), + ) + @SamplePathPasser() + @recorded_by_proxy(RecordedTransport.AZURE_CORE, RecordedTransport.HTTPX) + def test_agent_tools_samples(self, sample_path: str, **kwargs) -> None: + env_var_mapping = get_sample_environment_variables_map(operation_group="agents") + executor = SyncSampleExecutor(self, sample_path, env_var_mapping, **kwargs) + executor.execute() diff --git a/sdk/aiprojects/azure-ai-projects/tests/samples/test_samples_async.py b/sdk/aiprojects/azure-ai-projects/tests/samples/test_samples_async.py new file mode 100644 index 000000000000..72e0ba9b7f33 --- /dev/null +++ b/sdk/aiprojects/azure-ai-projects/tests/samples/test_samples_async.py @@ -0,0 +1,116 @@ +# pylint: disable=line-too-long,useless-suppression +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ +import os +import json +import unittest.mock as mock +from typing import cast +import pytest +from azure.core.credentials_async import AsyncTokenCredential +from devtools_testutils.fake_credentials_async import AsyncFakeCredential +from devtools_testutils.aio import recorded_by_proxy_async +from devtools_testutils import AzureRecordedTestCase, RecordedTransport +from azure.ai.projects.aio import AIProjectClient as AsyncAIProjectClient +from pytest import MonkeyPatch +from test_base import servicePreparer +from sample_executor_helpers import ( + BaseSampleExecutor, + SamplePathPasser, + get_sample_paths, + get_sample_environment_variables_map, +) + + +class AsyncSampleExecutor(BaseSampleExecutor): + """Asynchronous sample executor that uses async credentials.""" + + def __init__(self, test_instance, sample_path: str, env_var_mapping: dict[str, str], **kwargs): + super().__init__(test_instance, sample_path, env_var_mapping, **kwargs) + self.tokenCredential: AsyncTokenCredential | AsyncFakeCredential | None = None + + def _get_mock_credential(self): + """Get a mock credential that supports async context manager protocol.""" + self.tokenCredential = self.test_instance.get_credential(AsyncAIProjectClient, is_async=True) + patch_target = "azure.identity.aio.DefaultAzureCredential" + + # Create a mock that returns an async context manager wrapping the credential + mock_credential_class = mock.MagicMock() + mock_credential_class.return_value.__aenter__ = mock.AsyncMock(return_value=self.tokenCredential) + mock_credential_class.return_value.__aexit__ = mock.AsyncMock(return_value=None) + + return mock.patch(patch_target, new=mock_credential_class) + + async def execute_async(self, enable_llm_validation: bool = True, patched_open_fn=None): + """Execute an asynchronous sample with proper mocking and environment setup.""" + # Import patched_open_crlf_to_lf here to avoid circular import + if patched_open_fn is None: + from test_base import patched_open_crlf_to_lf + + patched_open_fn = patched_open_crlf_to_lf + + with ( + MonkeyPatch.context() as mp, + self._get_mock_credential(), + mock.patch("builtins.print", side_effect=self._capture_print), + mock.patch("builtins.open", side_effect=patched_open_fn), + ): + for var_name, var_value in self.env_vars.items(): + mp.setenv(var_name, var_value) + + self._execute_module() + await self.module.main() + + if enable_llm_validation: + await self._validate_output_async() + + def _execute_module(self): + """Execute the module without applying patches (patches applied at caller level).""" + if self.spec.loader is None: + raise ImportError(f"Could not load module {self.spec.name} from {self.sample_path}") + self.spec.loader.exec_module(self.module) + + async def _validate_output_async(self): + """Validate sample output using asynchronous OpenAI client.""" + endpoint = os.environ["AZURE_AI_PROJECT_ENDPOINT"] + print(f"For validating console output, creating AIProjectClient with endpoint: {endpoint}") + assert isinstance(self.tokenCredential, AsyncTokenCredential) or isinstance( + self.tokenCredential, AsyncFakeCredential + ) + async with ( + AsyncAIProjectClient( + endpoint=endpoint, credential=cast(AsyncTokenCredential, self.tokenCredential) + ) as project_client, + ): + async with project_client.get_openai_client() as openai_client: + response = await openai_client.responses.create(**self._get_validation_request_params()) + test_report = json.loads(response.output_text) + self._assert_validation_result(test_report) + + +def _get_async_sample_paths(sub_folder: str, *, samples_to_skip: list[str]) -> list: + return get_sample_paths(sub_folder, samples_to_skip=samples_to_skip, is_async=True) + + +class TestSamplesAsync(AzureRecordedTestCase): + """Async test cases for samples.""" + + # To run this test with a specific sample, use: + # pytest tests/samples/test_samples_async.py::TestSamplesAsync::test_agent_tools_samples_async[sample_agent_memory_search_async] + @servicePreparer() + @pytest.mark.parametrize( + "sample_path", + _get_async_sample_paths( + "agents/tools", + samples_to_skip=[ + "sample_agent_mcp_with_project_connection_async.py", + ], + ), + ) + @SamplePathPasser() + @recorded_by_proxy_async(RecordedTransport.AZURE_CORE, RecordedTransport.HTTPX) + async def test_agent_tools_samples_async(self, sample_path: str, **kwargs) -> None: + env_var_mapping = get_sample_environment_variables_map(operation_group="agents") + executor = AsyncSampleExecutor(self, sample_path, env_var_mapping, **kwargs) + await executor.execute_async() diff --git a/sdk/ai/azure-ai-projects/tests/telemetry/test_telemetry.py b/sdk/aiprojects/azure-ai-projects/tests/telemetry/test_telemetry.py similarity index 97% rename from sdk/ai/azure-ai-projects/tests/telemetry/test_telemetry.py rename to sdk/aiprojects/azure-ai-projects/tests/telemetry/test_telemetry.py index 9ade1692ae0a..0de26b44e778 100644 --- a/sdk/ai/azure-ai-projects/tests/telemetry/test_telemetry.py +++ b/sdk/aiprojects/azure-ai-projects/tests/telemetry/test_telemetry.py @@ -11,7 +11,7 @@ class TestTelemetry(TestBase): - # To run this test, use the following command in the \sdk\ai\azure-ai-projects folder: + # To run this test, use the following command in the \sdk\aiprojects\azure-ai-projects folder: # cls & pytest tests\telemetry\test_telemetry.py::TestTelemetry::test_telemetry -s @servicePreparer() @recorded_by_proxy diff --git a/sdk/ai/azure-ai-projects/tests/telemetry/test_telemetry_async.py b/sdk/aiprojects/azure-ai-projects/tests/telemetry/test_telemetry_async.py similarity index 97% rename from sdk/ai/azure-ai-projects/tests/telemetry/test_telemetry_async.py rename to sdk/aiprojects/azure-ai-projects/tests/telemetry/test_telemetry_async.py index d0aee2d61e4b..0de42974c330 100644 --- a/sdk/ai/azure-ai-projects/tests/telemetry/test_telemetry_async.py +++ b/sdk/aiprojects/azure-ai-projects/tests/telemetry/test_telemetry_async.py @@ -12,7 +12,7 @@ class TestTelemetryAsync(TestBase): - # To run this test, use the following command in the \sdk\ai\azure-ai-projects folder: + # To run this test, use the following command in the \sdk\aiprojects\azure-ai-projects folder: # cls & pytest tests\telemetry\test_telemetry_async.py::TestTelemetryAsync::test_telemetry_async -s @servicePreparer() @recorded_by_proxy_async diff --git a/sdk/ai/azure-ai-projects/tests/test_base.py b/sdk/aiprojects/azure-ai-projects/tests/test_base.py similarity index 100% rename from sdk/ai/azure-ai-projects/tests/test_base.py rename to sdk/aiprojects/azure-ai-projects/tests/test_base.py diff --git a/sdk/ai/azure-ai-projects/tests/test_data/datasets/data_file1.txt b/sdk/aiprojects/azure-ai-projects/tests/test_data/datasets/data_file1.txt similarity index 100% rename from sdk/ai/azure-ai-projects/tests/test_data/datasets/data_file1.txt rename to sdk/aiprojects/azure-ai-projects/tests/test_data/datasets/data_file1.txt diff --git a/sdk/ai/azure-ai-projects/tests/test_data/datasets/data_file2.txt b/sdk/aiprojects/azure-ai-projects/tests/test_data/datasets/data_file2.txt similarity index 100% rename from sdk/ai/azure-ai-projects/tests/test_data/datasets/data_file2.txt rename to sdk/aiprojects/azure-ai-projects/tests/test_data/datasets/data_file2.txt diff --git a/sdk/ai/azure-ai-projects/tests/test_data/datasets/data_subfolder/data_file3.txt b/sdk/aiprojects/azure-ai-projects/tests/test_data/datasets/data_subfolder/data_file3.txt similarity index 100% rename from sdk/ai/azure-ai-projects/tests/test_data/datasets/data_subfolder/data_file3.txt rename to sdk/aiprojects/azure-ai-projects/tests/test_data/datasets/data_subfolder/data_file3.txt diff --git a/sdk/ai/azure-ai-projects/tests/test_data/datasets/data_subfolder/data_file4.txt b/sdk/aiprojects/azure-ai-projects/tests/test_data/datasets/data_subfolder/data_file4.txt similarity index 100% rename from sdk/ai/azure-ai-projects/tests/test_data/datasets/data_subfolder/data_file4.txt rename to sdk/aiprojects/azure-ai-projects/tests/test_data/datasets/data_subfolder/data_file4.txt diff --git a/sdk/ai/azure-ai-projects/tests/test_data/files/.gitattributes b/sdk/aiprojects/azure-ai-projects/tests/test_data/files/.gitattributes similarity index 100% rename from sdk/ai/azure-ai-projects/tests/test_data/files/.gitattributes rename to sdk/aiprojects/azure-ai-projects/tests/test_data/files/.gitattributes diff --git a/sdk/ai/azure-ai-projects/tests/test_data/files/test_file.jsonl b/sdk/aiprojects/azure-ai-projects/tests/test_data/files/test_file.jsonl similarity index 100% rename from sdk/ai/azure-ai-projects/tests/test_data/files/test_file.jsonl rename to sdk/aiprojects/azure-ai-projects/tests/test_data/files/test_file.jsonl diff --git a/sdk/ai/azure-ai-projects/tests/test_data/finetuning/dpo_training_set.jsonl b/sdk/aiprojects/azure-ai-projects/tests/test_data/finetuning/dpo_training_set.jsonl similarity index 100% rename from sdk/ai/azure-ai-projects/tests/test_data/finetuning/dpo_training_set.jsonl rename to sdk/aiprojects/azure-ai-projects/tests/test_data/finetuning/dpo_training_set.jsonl diff --git a/sdk/ai/azure-ai-projects/tests/test_data/finetuning/dpo_validation_set.jsonl b/sdk/aiprojects/azure-ai-projects/tests/test_data/finetuning/dpo_validation_set.jsonl similarity index 100% rename from sdk/ai/azure-ai-projects/tests/test_data/finetuning/dpo_validation_set.jsonl rename to sdk/aiprojects/azure-ai-projects/tests/test_data/finetuning/dpo_validation_set.jsonl diff --git a/sdk/ai/azure-ai-projects/tests/test_data/finetuning/rft_training_set.jsonl b/sdk/aiprojects/azure-ai-projects/tests/test_data/finetuning/rft_training_set.jsonl similarity index 100% rename from sdk/ai/azure-ai-projects/tests/test_data/finetuning/rft_training_set.jsonl rename to sdk/aiprojects/azure-ai-projects/tests/test_data/finetuning/rft_training_set.jsonl diff --git a/sdk/ai/azure-ai-projects/tests/test_data/finetuning/rft_validation_set.jsonl b/sdk/aiprojects/azure-ai-projects/tests/test_data/finetuning/rft_validation_set.jsonl similarity index 100% rename from sdk/ai/azure-ai-projects/tests/test_data/finetuning/rft_validation_set.jsonl rename to sdk/aiprojects/azure-ai-projects/tests/test_data/finetuning/rft_validation_set.jsonl diff --git a/sdk/ai/azure-ai-projects/tests/test_data/finetuning/sft_training_set.jsonl b/sdk/aiprojects/azure-ai-projects/tests/test_data/finetuning/sft_training_set.jsonl similarity index 100% rename from sdk/ai/azure-ai-projects/tests/test_data/finetuning/sft_training_set.jsonl rename to sdk/aiprojects/azure-ai-projects/tests/test_data/finetuning/sft_training_set.jsonl diff --git a/sdk/ai/azure-ai-projects/tests/test_data/finetuning/sft_validation_set.jsonl b/sdk/aiprojects/azure-ai-projects/tests/test_data/finetuning/sft_validation_set.jsonl similarity index 100% rename from sdk/ai/azure-ai-projects/tests/test_data/finetuning/sft_validation_set.jsonl rename to sdk/aiprojects/azure-ai-projects/tests/test_data/finetuning/sft_validation_set.jsonl diff --git a/sdk/aiprojects/ci.yml b/sdk/aiprojects/ci.yml new file mode 100644 index 000000000000..954f313073c4 --- /dev/null +++ b/sdk/aiprojects/ci.yml @@ -0,0 +1,39 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. + +trigger: + branches: + include: + - main + - hotfix/* + - release/* + - restapi* + paths: + include: + - sdk/ai/ + - sdk/core/ + +pr: + branches: + include: + - main + - feature/* + - hotfix/* + - release/* + - restapi* + paths: + include: + - sdk/ai/ + - sdk/core/ + +extends: + template: /eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: aiprojects + TestProxy: true + BuildDocs: true + TestTimeoutInMinutes: 60 + # The job "Test ubuntu2404_pypy39" in the "python - aiprojects" pipeline hangs and eventually times out. + # Disable it until the issue is understood. + Artifacts: + - name: azure-ai-projects + safeName: azureaiprojects diff --git a/sdk/aiprojects/platform-matrix.json b/sdk/aiprojects/platform-matrix.json new file mode 100644 index 000000000000..b3e63e38fdf7 --- /dev/null +++ b/sdk/aiprojects/platform-matrix.json @@ -0,0 +1,6 @@ +{ + "matrix": { + "$IMPORT": "eng/pipelines/templates/stages/platform-matrix.json", + "InstallPortAudio": [ "1" ] + } +} \ No newline at end of file diff --git a/sdk/aiprojects/tests.yml b/sdk/aiprojects/tests.yml new file mode 100644 index 000000000000..5df3c2640b90 --- /dev/null +++ b/sdk/aiprojects/tests.yml @@ -0,0 +1,8 @@ +trigger: none + +# NOTE: Service live tests are NOT enabled. This file only enables the analyze stage currently. +extends: + template: /eng/pipelines/templates/stages/python-analyze-weekly-standalone.yml + parameters: + ServiceDirectory: aiprojects +