/install azure-ai-agents-py
Azure AI Agents Python SDK
Build agents hosted on Azure AI Foundry using the azure-ai-agents SDK.
Installation
pip install azure-ai-agents azure-identity
# Or with azure-ai-projects for additional features
pip install azure-ai-projects azure-identity
Environment Variables
PROJECT_ENDPOINT="https://\x3Cresource>.services.ai.azure.com/api/projects/\x3Cproject>"
MODEL_DEPLOYMENT_NAME="gpt-4o-mini"
Authentication
from azure.identity import DefaultAzureCredential
from azure.ai.agents import AgentsClient
credential = DefaultAzureCredential()
client = AgentsClient(
endpoint=os.environ["PROJECT_ENDPOINT"],
credential=credential,
)
Core Workflow
The basic agent lifecycle: create agent → create thread → create message → create run → get response
Minimal Example
import os
from azure.identity import DefaultAzureCredential
from azure.ai.agents import AgentsClient
client = AgentsClient(
endpoint=os.environ["PROJECT_ENDPOINT"],
credential=DefaultAzureCredential(),
)
# 1. Create agent
agent = client.create_agent(
model=os.environ["MODEL_DEPLOYMENT_NAME"],
name="my-agent",
instructions="You are a helpful assistant.",
)
# 2. Create thread
thread = client.threads.create()
# 3. Add message
client.messages.create(
thread_id=thread.id,
role="user",
content="Hello!",
)
# 4. Create and process run
run = client.runs.create_and_process(thread_id=thread.id, agent_id=agent.id)
# 5. Get response
if run.status == "completed":
messages = client.messages.list(thread_id=thread.id)
for msg in messages:
if msg.role == "assistant":
print(msg.content[0].text.value)
# Cleanup
client.delete_agent(agent.id)
Tools Overview
| Tool | Class | Use Case |
|---|---|---|
| Code Interpreter | CodeInterpreterTool |
Execute Python, generate files |
| File Search | FileSearchTool |
RAG over uploaded documents |
| Bing Grounding | BingGroundingTool |
Web search |
| Azure AI Search | AzureAISearchTool |
Search your indexes |
| Function Calling | FunctionTool |
Call your Python functions |
| OpenAPI | OpenApiTool |
Call REST APIs |
| MCP | McpTool |
Model Context Protocol servers |
See references/tools.md for detailed patterns.
Adding Tools
from azure.ai.agents import CodeInterpreterTool, FileSearchTool
agent = client.create_agent(
model=os.environ["MODEL_DEPLOYMENT_NAME"],
name="tool-agent",
instructions="You can execute code and search files.",
tools=[CodeInterpreterTool()],
tool_resources={"code_interpreter": {"file_ids": [file.id]}},
)
Function Calling
from azure.ai.agents import FunctionTool, ToolSet
def get_weather(location: str) -> str:
"""Get weather for a location."""
return f"Weather in {location}: 72F, sunny"
functions = FunctionTool(functions=[get_weather])
toolset = ToolSet()
toolset.add(functions)
agent = client.create_agent(
model=os.environ["MODEL_DEPLOYMENT_NAME"],
name="function-agent",
instructions="Help with weather queries.",
toolset=toolset,
)
# Process run - toolset auto-executes functions
run = client.runs.create_and_process(
thread_id=thread.id,
agent_id=agent.id,
toolset=toolset, # Pass toolset for auto-execution
)
Streaming
from azure.ai.agents import AgentEventHandler
class MyHandler(AgentEventHandler):
def on_message_delta(self, delta):
if delta.text:
print(delta.text.value, end="", flush=True)
def on_error(self, data):
print(f"Error: {data}")
with client.runs.stream(
thread_id=thread.id,
agent_id=agent.id,
event_handler=MyHandler(),
) as stream:
stream.until_done()
See references/streaming.md for advanced patterns.
File Operations
Upload File
file = client.files.upload_and_poll(
file_path="data.csv",
purpose="assistants",
)
Create Vector Store
vector_store = client.vector_stores.create_and_poll(
file_ids=[file.id],
name="my-store",
)
agent = client.create_agent(
model=os.environ["MODEL_DEPLOYMENT_NAME"],
tools=[FileSearchTool()],
tool_resources={"file_search": {"vector_store_ids": [vector_store.id]}},
)
Async Client
from azure.ai.agents.aio import AgentsClient
async with AgentsClient(
endpoint=os.environ["PROJECT_ENDPOINT"],
credential=DefaultAzureCredential(),
) as client:
agent = await client.create_agent(...)
# ... async operations
See references/async-patterns.md for async patterns.
Response Format
JSON Mode
agent = client.create_agent(
model=os.environ["MODEL_DEPLOYMENT_NAME"],
response_format={"type": "json_object"},
)
JSON Schema
agent = client.create_agent(
model=os.environ["MODEL_DEPLOYMENT_NAME"],
response_format={
"type": "json_schema",
"json_schema": {
"name": "weather_response",
"schema": {
"type": "object",
"properties": {
"temperature": {"type": "number"},
"conditions": {"type": "string"},
},
"required": ["temperature", "conditions"],
},
},
},
)
Thread Management
Continue Conversation
# Save thread_id for later
thread_id = thread.id
# Resume later
client.messages.create(
thread_id=thread_id,
role="user",
content="Follow-up question",
)
run = client.runs.create_and_process(thread_id=thread_id, agent_id=agent.id)
List Messages
messages = client.messages.list(thread_id=thread.id, order="asc")
for msg in messages:
role = msg.role
content = msg.content[0].text.value
print(f"{role}: {content}")
Best Practices
- Use context managers for async client
- Clean up agents when done:
client.delete_agent(agent.id) - Use
create_and_processfor simple cases, streaming for real-time UX - Pass toolset to run for automatic function execution
- Poll operations use
*_and_pollmethods for long operations
Reference Files
- references/tools.md: All tool types with detailed examples
- references/streaming.md: Event handlers and streaming patterns
- references/async-patterns.md: Async client usage
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install azure-ai-agents-py - 安装完成后,直接呼叫该 Skill 的名称或使用
/azure-ai-agents-py触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Azure Ai Agents Py - Microsoft Foundry 是什么?
Build AI agents using the Azure AI Agents Python SDK (azure-ai-agents). Use when creating agents hosted on Azure AI Foundry with tools (File Search, Code Interpreter, Bing Grounding, Azure AI Search, Function Calling, OpenAPI, MCP), managing threads and messages, implementing streaming responses, or working with vector stores. This is the low-level SDK - for higher-level abstractions, use the agent-framework skill instead. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 2114 次。
如何安装 Azure Ai Agents Py - Microsoft Foundry?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install azure-ai-agents-py」即可一键安装,无需额外配置。
Azure Ai Agents Py - Microsoft Foundry 是免费的吗?
是的,Azure Ai Agents Py - Microsoft Foundry 完全免费(开源免费),可自由下载、安装和使用。
Azure Ai Agents Py - Microsoft Foundry 支持哪些平台?
Azure Ai Agents Py - Microsoft Foundry 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Azure Ai Agents Py - Microsoft Foundry?
由 thegovind(@thegovind)开发并维护,当前版本 v0.1.0。