5分钟打造你的专属AI助手:Strands Agents零基础入门指南
【免费下载链接】harness-sdkBuild an agent harness and control it end-to-end. Open-source SDK for production AI agents in Python & TypeScript - any model, any cloud.项目地址: https://gitcode.com/GitHub_Trending/sdkpython13/harness-sdk
Strands Agents是一个简单而强大的SDK,采用模型驱动的方法来构建和运行AI智能体。从简单的对话助手到复杂的自主工作流,从本地开发到生产部署,Strands Agents都能满足你的需求。本文将带你快速上手,在短短5分钟内创建你的第一个AI助手。
✨ 为什么选择Strands Agents?
Strands Agents之所以能让你快速构建AI助手,得益于其四大核心优势:
- 轻量级且灵活:简单的智能体循环,易于使用且完全可定制
- 模型无关:支持Amazon Bedrock、Anthropic、Gemini、LiteLLM、Llama、Ollama、OpenAI、Writer等多种模型提供商
- 高级功能:多智能体系统、自主智能体和流式支持
- 内置MCP:原生支持模型上下文协议(MCP)服务器,可访问数千种预构建工具
🚀 快速开始:5分钟安装与配置
一键安装步骤
确保你已安装Python 3.10或更高版本,然后执行以下命令:
# 创建并激活虚拟环境 python -m venv .venv source .venv/bin/activate # Windows用户使用: .venv\Scripts\activate # 安装Strands和工具包 pip install strands-agents strands-agents-tools最快配置方法
Strands Agents默认使用Amazon Bedrock模型提供商,你需要配置AWS凭证并在us-west-2区域启用Claude 4 Sonnet模型访问权限。对于其他模型提供商的配置细节,请参考快速入门指南。
💻 创建你的第一个AI助手
基础计算器助手
下面是一个简单的计算器AI助手示例,只需5行代码:
from strands import Agent from strands_tools import calculator # 创建带有计算器工具的智能体 agent = Agent(tools=[calculator]) # 向智能体提问 result = agent("What is the square root of 1764") print(result) # 输出: 42这个简单的AI助手能够使用计算器工具来回答数学问题。Strands Agents会自动决定何时需要调用工具,何时可以直接回答。
自定义工具开发
除了使用预构建工具,你还可以轻松创建自己的工具。以下是一个简单的单词计数工具示例:
from strands import Agent, tool @tool def word_count(text: str) -> int: """计算文本中的单词数量。 这个文档字符串会被LLM用来理解工具的用途。 """ return len(text.split()) # 创建包含自定义工具的智能体 agent = Agent(tools=[word_count]) response = agent("这句话有多少个单词?") print(response) # 输出: 这句话有7个单词。工具热重载功能
Strands Agents还支持从目录自动加载和热重载工具,非常适合开发过程:
from strands import Agent # 智能体将监视./tools/目录的变化 agent = Agent(load_tools_from_directory=True) response = agent("使用工具目录中的任何工具来帮助我")🔄 连接MCP服务器:获取更多强大工具
Strands Agents原生支持模型上下文协议(MCP)服务器,让你能够访问数千种预构建工具:
from strands import Agent from strands.tools.mcp import MCPClient from mcp import stdio_client, StdioServerParameters # 创建AWS文档MCP客户端 aws_docs_client = MCPClient( lambda: stdio_client(StdioServerParameters(command="uvx", args=["awslabs.aws-documentation-mcp-server@latest"])) ) with aws_docs_client: # 从MCP服务器加载工具 agent = Agent(tools=aws_docs_client.list_tools_sync()) # 提问关于Amazon Bedrock的问题 response = agent("告诉我关于Amazon Bedrock以及如何用Python使用它") print(response)🌐 支持多种AI模型提供商
Strands Agents支持多种模型提供商,你可以轻松切换不同的AI模型:
Amazon Bedrock示例
from strands import Agent from strands.models import BedrockModel # 配置Bedrock模型 bedrock_model = BedrockModel( model_id="us.amazon.nova-pro-v1:0", temperature=0.3, streaming=True, # 启用/禁用流式传输 ) agent = Agent(model=bedrock_model) agent("告诉我关于智能体AI")Google Gemini示例
from strands import Agent from strands.models.gemini import GeminiModel # 配置Google Gemini模型 gemini_model = GeminiModel( client_args={ "api_key": "your_gemini_api_key", }, model_id="gemini-2.5-flash", params={"temperature": 0.7} ) agent = Agent(model=gemini_model) agent("告诉我关于智能体AI")Ollama本地模型示例
from strands import Agent from strands.models.ollama import OllamaModel # 配置本地Ollama模型 ollama_model = OllamaModel( host="http://localhost:11434", model_id="llama3" ) agent = Agent(model=ollama_model) agent("告诉我关于智能体AI")Strands Agents还支持Anthropic、Cohere、LiteLLM、llama.cpp、LlamaAPI、MistralAI、OpenAI、SageMaker和Writer等模型提供商,完整列表可查看模型提供商文档。
🎯 进阶功能:双向流式传输
Strands Agents提供实验性的双向流式传输功能,支持实时语音和音频对话:
# 安装双向流式传输支持 pip install strands-agents[bidi] # 如需音频I/O支持 pip install strands-agents[bidi,bidi-io]以下是一个简单的实时音频对话示例:
import asyncio from strands.experimental.bidi import BidiAgent from strands.experimental.bidi.models import BidiNovaSonicModel from strands.experimental.bidi.io import BidiAudioIO, BidiTextIO from strands.experimental.bidi.tools import stop_conversation from strands_tools import calculator async def main(): # 创建带有Nova Sonic v2模型的双向智能体 model = BidiNovaSonicModel() agent = BidiAgent(model=model, tools=[calculator, stop_conversation]) # 设置音频和文本I/O audio_io = BidiAudioIO() text_io = BidiTextIO() # 运行实时音频流对话 # 说"stop conversation"可以优雅地结束对话 await agent.run( inputs=[audio_io.input()], outputs=[audio_io.output(), text_io.output()] ) if __name__ == "__main__": asyncio.run(main())📚 学习资源与文档
想要深入了解Strands Agents的更多功能?以下资源可以帮助你:
- 用户指南
- 快速入门指南
- 智能体循环
- 示例代码
- API参考
- 生产部署指南
🤝 开始你的AI助手之旅
现在你已经了解了Strands Agents的基础知识,是时候开始创建你自己的AI助手了!无论是简单的工具调用还是复杂的多智能体系统,Strands Agents都能让你轻松实现。
要开始使用,只需克隆仓库并按照本文的指南操作:
git clone https://gitcode.com/gh_mirrors/sdkpython13/sdk-python cd sdk-python祝你在AI助手开发的旅程中取得成功!如有任何问题,欢迎查阅官方文档或参与社区讨论。
【免费下载链接】harness-sdkBuild an agent harness and control it end-to-end. Open-source SDK for production AI agents in Python & TypeScript - any model, any cloud.项目地址: https://gitcode.com/GitHub_Trending/sdkpython13/harness-sdk
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考