Atomic Agents 框架快速入门指南

Atomic Agents 框架快速入门指南

atomic_agents Building AI agents, atomically atomic_agents 项目地址: https://gitcode.com/gh_mirrors/at/atomic_agents

前言

Atomic Agents 是一个功能强大的AI代理框架,它提供了构建智能对话系统的完整解决方案。本文将带你快速了解如何使用这个框架构建不同类型的AI代理应用。

环境准备

安装框架

首先需要安装框架的核心包:

pip install atomic-agents

配置API密钥

框架支持多种AI服务提供商,需要提前配置相应的API密钥:

# OpenAI
export OPENAI_API_KEY="your-openai-key"

# Anthropic
export ANTHROPIC_API_KEY="your-anthropic-key"

# Groq
export GROQ_API_KEY="your-groq-key"

# Gemini
export GEMINI_API_KEY="your-gemini-key"

# OpenRouter
export OPENROUTER_API_KEY="your-openrouter-key"

基础聊天机器人实现

核心组件介绍

  1. AgentMemory:负责存储对话历史
  2. BaseAgent:基础代理类,处理用户输入和生成响应
  3. BaseAgentConfig:代理配置类

代码实现

import os
import instructor
import openai
from rich.console import Console
from atomic_agents.lib.components.agent_memory import AgentMemory
from atomic_agents.agents.base_agent import BaseAgent, BaseAgentConfig, BaseAgentInputSchema, BaseAgentOutputSchema

# 初始化控制台输出
console = Console()

# 设置对话记忆
memory = AgentMemory()
initial_message = BaseAgentOutputSchema(chat_message="你好!今天有什么可以帮您的吗?")
memory.add_message("assistant", initial_message)

# 配置OpenAI客户端
client = instructor.from_openai(openai.OpenAI(api_key=os.getenv("OPENAI_API_KEY")))

# 创建基础代理
agent = BaseAgent(
    config=BaseAgentConfig(
        client=client,
        model="gpt-4o-mini",
        memory=memory,
    )
)

# 启动对话循环
while True:
    user_input = console.input("[bold blue]你:[/bold blue] ")
    if user_input.lower() in ["/exit", "/quit"]:
        console.print("正在退出对话...")
        break

    input_schema = BaseAgentInputSchema(chat_message=user_input)
    response = agent.run(input_schema)
    console.print("助手: ", response.chat_message)

流式响应实现

对于需要实时响应的场景,可以使用异步流式处理:

import asyncio
from rich.live import Live

async def main():
    # 初始化异步客户端
    client = instructor.from_openai(openai.AsyncOpenAI(api_key=os.getenv("OPENAI_API_KEY")))
    
    # 创建代理
    agent = BaseAgent(
        config=BaseAgentConfig(
            client=client,
            model="gpt-4o-mini",
            memory=memory,
        )
    )
    
    # 使用Live实现流式输出
    with Live("", refresh_per_second=10) as live:
        current_response = ""
        async for partial_response in agent.run_async(input_schema):
            if hasattr(partial_response, "chat_message"):
                current_response = partial_response.chat_message
                display_text = Text.assemble(("助手: ", "bold green"), (current_response, "green"))
                live.update(display_text)

asyncio.run(main())

自定义输入输出结构

框架支持自定义输入输出结构,实现更结构化的交互:

from pydantic import Field
from typing import List

class CustomOutputSchema(BaseIOSchema):
    chat_message: str = Field(..., description="对话消息内容")
    suggested_questions: List[str] = Field(..., description="建议的后续问题列表")

# 配置自定义系统提示
system_prompt = SystemPromptGenerator(
    background=["这是一个知识丰富的AI助手"],
    steps=["分析用户输入", "生成响应", "提供后续问题建议"],
    output_instructions=["保持友好专业的语气"]
)

# 使用自定义配置创建代理
agent = BaseAgent(
    config=BaseAgentConfig(
        client=client,
        model="gpt-4o-mini",
        system_prompt_generator=system_prompt,
        output_schema=CustomOutputSchema,
    )
)

多AI服务提供商支持

框架支持多种AI服务提供商,可以根据需求灵活选择:

def setup_client(provider):
    if provider == "openai":
        client = instructor.from_openai(OpenAI(api_key=os.getenv("OPENAI_API_KEY")))
        model = "gpt-4o-mini"
    elif provider == "anthropic":
        client = instructor.from_anthropic(Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY")))
        model = "claude-3-5-haiku"
    # 其他提供商配置...
    
    return client, model

# 根据选择创建代理
provider = input("选择服务提供商: ")
client, model = setup_client(provider)
agent = BaseAgent(config=BaseAgentConfig(client=client, model=model))

最佳实践建议

  1. 内存管理:合理使用AgentMemory存储对话历史,但注意控制存储量
  2. 错误处理:添加适当的异常处理机制应对API调用失败
  3. 性能优化:对于高频交互场景,考虑使用异步实现
  4. 安全考虑:妥善保管API密钥,避免硬编码在代码中

进阶学习方向

掌握了基础用法后,可以进一步探索:

  1. 工具集成:让代理能够调用外部工具和API
  2. 高级记忆管理:实现长期记忆和上下文保持
  3. 多代理协作:构建多个代理协同工作的系统
  4. 自定义模型:集成自有或本地运行的模型

通过Atomic Agents框架,开发者可以快速构建功能丰富、响应灵敏的AI代理应用,满足各种业务场景需求。

atomic_agents Building AI agents, atomically atomic_agents 项目地址: https://gitcode.com/gh_mirrors/at/atomic_agents

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仲羿禹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值