大模型时代,你的AI分身已上线!AutoGen定制智能体保姆级教程,动动手指就搞定!


你是否也曾幻想过拥有一个像钢铁侠的Jarvis一样的AI助手,帮你处理邮件、安排日程、甚至创作内容?现在,这个梦想不再遥不可及!

 

🤫大模型智能体:AI时代的“分身术”

大模型智能体,简单来说,就是基于大型语言模型(LLM)构建的、能够自主完成特定任务的AI“分身”。它们不再是简单的聊天机器人,而是能够理解上下文、调用工具、甚至与其他智能体协作的“超级助理”。

🤔为什么你需要一个AI“分身”?

*   效率🚀翻倍:告别重复性工作,让AI帮你搞定!
*   创意💡迸发:AI的独特视角,给你带来无限灵感!
*   决策📈更准:数据驱动的分析,让你的决策更有底气!

🔥AutoGen:动动手指,定制你的专属AI

AutoGen是微软开源的一个强大的多智能体框架,它让构建AI智能体变得像搭积木一样简单!

 

😱AutoGen有多强?

1.  多智能体协作:让多个AI“分身”组队,共同完成复杂任务!
2.  工具调用:AI可以自主调用搜索引擎、计算器等工具,能力无限拓展!
3.  定制化:根据你的需求,定制AI的性格、技能和知识库!
4.  低门槛:无需深厚编程基础,小白也能轻松上手!

🛠️保姆级教程:手把手教你用AutoGen构建AI

今天,我们就以构建一个基于谷歌Gemini模型的智能体为例,带你体验AutoGen的魅力!(代码已做精简,方便理解)

1. 准备工作

*   安装必要的库(已省略)
*   获取Gemini API密钥(自行申请,文末有福利🎁)

2. 定义你的AI“分身”

# 导入必要的库
import os
from autogen_agentchat.agents import BaseChatAgent
from autogen_agentchat.messages import TextMessage
from autogen_core import CancellationToken
from google import genai
from dotenv import load_dotenv

load_dotenv()

# 从环境变量中读取api_key
api_key = os.getenv('GEMINI_API_KEY')

# 定义一个Gemini助手类
class GeminiAssistantAgent(BaseChatAgent):
    def __init__(
        self,
        name: str,
        description: str = "An agent that provides assistance with ability to use tools.",
        model: str = "gemini-2.0-pro-exp-02-05",
        api_key: str = api_key,
        system_message: str
        | None = "You are a helpful assistant that can respond to messages. Reply with TERMINATE when the task has been completed.",
    ):
        super().__init__(name=name, description=description)
        self._model_client = genai.Client(api_key=api_key)
        self._system_message = system_message
        self._model = model

    # 定义消息处理逻辑(精简版)
    async def on_messages(self, messages, cancellation_token):
        history = [
            ("system" if msg.source is None else msg.source) + ": " + msg.content
            for msg in messages
        ]
        response = self._model_client.models.generate_content(
            model=self._model,
            contents=f"History: {history}\nGiven the history, please provide a response",
            config=genai.types.GenerateContentConfig(
                system_instruction=self._system_message,
                temperature=0.3,
            ),
        )
        yield Response(
            chat_message=TextMessage(content=response.text, source=self.name),
            inner_messages=[],
        )

    async def on_reset(self, cancellation_token: CancellationToken) -> None:
        """Reset the assistant by clearing the model context."""
        await self._model_context.clear()

代码解读:

*   `GeminiAssistantAgent`:我们创建了一个名为`GeminiAssistantAgent`的类,它继承自`BaseChatAgent`。
*   `__init__`:初始化方法,设置了AI的名称、描述、模型、API密钥和系统消息。
*   `on_messages`:处理消息的核心逻辑,接收消息历史,调用Gemini模型生成回复。

3. 创建你的AI团队

from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.conditions import TextMentionTermination
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_agentchat.ui import Console
# 创建一个Gemini助手实例
gemini_assistant = GeminiAssistantAgent("gemini_assistant")

# 创建一个主要的助手实例
primary_agent = GeminiAssistantAgent(
    "primary",
    system_message="You are a helpful AI assistant.",
)

# 创建一个评论员助手实例
gemini_critic_agent = GeminiAssistantAgent(
    "gemini_critic",
    system_message="Provide constructive feedback. Respond with 'APPROVE' to when your feedbacks are addressed.",
)

# 定义终止条件:评论员说"APPROVE"或达到10条消息
termination = TextMentionTermination("APPROVE") | MaxMessageTermination(10)

# 创建一个团队,包含主要助手和评论员
team = RoundRobinGroupChat([primary_agent, gemini_critic_agent], termination_condition=termination)

# 启动对话
async def main():
   
    try:

        # Create a team with the primary and critic agents.
        team = RoundRobinGroupChat([primary_agent, gemini_critic_agent], termination_condition=termination)

        await Console(team.run_stream(task="Write a Haiku poem with 4 lines about the fall season."))
    except Exception as e:
        print(f"发生错误: {e}")
        print("请检查网络连接、API 密钥以及 One API 服务是否正常运行。")

asyncio.run(main()) # 使用 asyncio.run() 运行 main 函数

代码解读:

*   我们创建了两个AI实例:`primary_agent`(主要助手)和`gemini_critic_agent`(评论员)。
*   `RoundRobinGroupChat`:创建了一个团队,让两个AI轮流发言。
*   `termination`:设置了终止条件,当评论员说“APPROVE”或达到10条消息时,任务结束。

4. 运行你的AI团队

运行上述代码,你的AI团队就会开始工作,为你创作一首关于秋天的四行俳句!

 


*   评论区挑战:你会选择定制一个什么样的AI助手?它会帮你做什么?
*   开放式提问:你认为AI智能体未来会如何改变我们的生活?
*   知识盲区:你知道AutoGen还能实现哪些神奇的功能吗?(答案藏在文末)

🎁文末福利:

1.  评论区抽奖:分享你对AI智能体的看法,有机会获得Gemini API密钥试用资格!
2.  隐藏信息:AutoGen不仅能构建聊天机器人,还能实现更复杂的自动化工作流,比如自动生成报告、自动回复邮件等!(第3张图有惊喜,仔细找找!)

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值