Python: Fix AI Search Tool Sample and improve AI Search Exceptions (#1206)

* Python: Fix AI Search Tool Sample and improve AI Search Exceptions

* Python: Fix AI Search Tool Test

---------

Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
This commit is contained in:
Hassan Warsi
2025-10-10 11:46:57 -07:00
committed by GitHub
Unverified
parent e032fe3993
commit 350cdfc1cd
9 changed files with 33 additions and 20 deletions
@@ -53,9 +53,7 @@ async def main():
resolver = A2ACardResolver(httpx_client=http_client, base_url=a2a_agent_host)
# Get agent card
agent_card = await resolver.get_agent_card(
relative_card_path="/.well-known/agent.json"
)
agent_card = await resolver.get_agent_card(relative_card_path="/.well-known/agent.json")
print(f"Found agent: {agent_card.name} - {agent_card.description}")
# Create A2A agent instance
@@ -43,9 +43,7 @@ async def main() -> None:
):
agent = chat_client.create_agent(
name="CodingAgent",
instructions=(
"You are a helpful assistant that can write and execute Python code to solve problems."
),
instructions=("You are a helpful assistant that can write and execute Python code to solve problems."),
tools=HostedCodeInterpreterTool(),
)
query = "Generate the factorial of 100 using python code, show the code and execute it."
@@ -63,12 +63,24 @@ async def main() -> None:
response = await agent.run(user_input)
print(f"# Agent: {response.text}")
# 5. Cleanup: Delete the vector store and file
try:
if vector_store:
await client.project_client.agents.vector_stores.delete(vector_store.id)
if file:
await client.project_client.agents.files.delete(file.id)
except Exception:
# Ignore cleanup errors to avoid masking issues
pass
finally:
# 5. Cleanup: Delete the vector store and file
# 6. Cleanup: Delete the vector store and file in case of eariler failure to prevent orphaned resources.
# Refreshing the client is required since chat agent closes it
client = AzureAIAgentClient(async_credential=AzureCliCredential())
try:
if vector_store is not None:
if vector_store:
await client.project_client.agents.vector_stores.delete(vector_store.id)
if file is not None:
if file:
await client.project_client.agents.files.delete(file.id)
except Exception:
# Ignore cleanup errors to avoid masking issues