实验 | 使用 Crewai 和 Ollama 构建智能体(AI Agent)帮我撰写博客文章

   日期:2024-12-30    作者:xhb273511 浏览:51    移动:http://w.yusign.com/mobile/quote/8738.html

从技术角度来说,**智能体(AI Agent)**是一种软件实体,旨在代表用户或其他程序自主或半自主地执行任务。这些代理利用人工智能做出决策、采取行动并与环境或其他系统进行交互。智能体的主要特征有

自治:智能体无需人工干预即可运行。一旦被赋予目标,它们就可以独立执行任务。
决策:智能体使用算法、规则和人工智能模型, 根据自己的感知和目标做出决策。这包括评估不同的选择并选择最佳行动方案。
学习:许多智能体采用机器学习技术来提高其性能。它们可以从过去的经验中学习并适应新情况。
交互:智能体可以与用户、其他智能体或系统进行通信和协作。这种交互可能涉及自然语言处理、发送和接收数据或执行协调任务。
专业化:智能体可以专门用于特定任务或领域。例如,某些智能体可能专为网页浏览而设计,而其他智能体则可能处理数据库交互、执行复杂计算或生成图像。
目标导向:智能体通常被设定有特定的目标或目的。它们通过一系列动作和决策来实现这些目标。

想象一下,将上述所有概念整合在一起,共同朝着预先确定的目标努力,实现预期结果。这些任务可以按顺序或分层流程执行,所有智能体都像一个协调的团队一样工作。这种强大的协作可以彻底改变我们处理复杂问题的方式,使流程更高效,结果更有效。这就是 CrewAI框架发挥作用的地方。

Ollama是一款开源应用程序,可让您使用 MacOS、Linux 和 Windows 上的命令行界面在本地运行、创建和共享大型语言模型。

Ollama 可以直接从其库中访问各种 LLM,只需一个命令即可下载。下载后,只需执行一个命令即可开始使用。这对于工作量围绕终端窗口的用户非常有帮助。如果他们被困在某个地方,他们可以在不切换到另一个浏览器窗口的情况下获得答案。

2.1 特点和优点

这就是为什么 OLLAMA 是您的工具包中必备的工具

简单 :OLLAMA 提供简单的设置过程。您无需拥有机器学习博士学位即可启动和运行它。
成本效益 :在本地运行模型意味着您无需支付云成本。您的钱包会感谢您。
隐私 :使用 OLLAMA,所有数据处理都在您的本地机器上进行。这对于用户隐私来说是一个巨大的胜利。
多功能性 :OLLAMA 不只是为 Python 爱好者准备的。它的灵活性使其可以用于各种应用程序,包括 Web 开发。

2.2 安装ollama

2.3 下载LLM模型

默认情况下,Openai Models 在 CrewAI 中用作 llm。有经费、有网络、不担心数据泄露等条件下, 力求达到最佳性能,可考虑使用 GPT-4 或 OpenAI 稍便宜的 GPT-3.5。

 

等待 llama3.1:8b 下载完成。

2.3 启动ollama服务

ollama服务有两种启动方式,即鼠标启动ollama服务 和 命令行启动ollama服务 。

2.3.1 鼠标启动ollama服务

在电脑中找到ollama软件,双击打开,就开启了ollama本地服务。

2.3.2 命令行启动ollama服务

在Python中调用本地ollama服务,需要先启动本地ollama服务, 打开电脑命令行cmd(mac是terminal), 执行

 

实验 | 使用 Crewai 和 Ollama 构建智能体(AI Agent)帮我撰写博客文章

Run

 

cmd(mac是terminal)看到如上的信息,说明本地ollama服务已开启。

CrewAi 是一个用于协调角色扮演、自主 AI 代理的尖端框架。通过促进协作智能,CrewAI 使代理能够无缝协作,解决复杂的任务。

3.1 安装crew

打开电脑命令行cmd(mac是terminal), 网络是连网状态,执行安装命令

  • 调用llm
  • 设置agent
  • 设置task
  • 组装成crew
  • 最终运行

4.1 调用LLM

在Python中调用开启的ollama服务, 为crewai调用llm做准备。

 

4.2 设置Agent

大邓运营的公众号的日常,一个人身兼数个职位。 大致拆分成三个员工(智能体

  • 内容策划专员
  • 内容创作专员
  • 内容编辑专员
 

参数解读

 
  • role: 定义代理在团队中的职能。它决定了代理最适合执行的任务类型。
  • goal : 代理希望实现的个体目标。它指导代理的决策过程。
  • backstory:为代理的角色和目标提供背景,丰富互动和协作动力。
  • llm:(可选)表示将运行代理的语言模型。它从OPENAI_MODEL_NAME环境变量中动态获取模型名称,如果未指定,则默认为
    “gpt-4”。
  • tools:(可选)代理可用于执行任务的功能或函数集。应为与代理的执行环境兼容的自定义类的实例。工具使用空列表的默认值进行初始化。
  • function_calling_llm(可选)指定处理此代理的工具调用的语言模型,如果已传递,则覆盖工作人员函数调用 LLM。默认值为
    None。
  • maxter(可选)代理在被迫给出最佳答案之前可以执行的最大迭代次数。默认值为25。
  • max_rpm(可选)代理每分钟可以执行的最大请求数,以避免速率限制。它是可选的,可以不指定,默认值为None。
  • max_execution_time(可选)代理执行任务的最大执行时间。它是可选的,可以不指定,默认值为 None,表示没有最大执行时间
  • verbose(可选)将其设置为 True配置内部记录器以提供详细的执行日志,帮助调试和监控。默认值为False。
  • allow_delegation(可选)代理可以相互委派任务或问题,确保每项任务都由最合适的代理处理。默认值为True。
  • step_callback
    (可选)代理每执行一步后调用的函数。可用于记录代理的操作或执行其他操作。它将覆盖工作人员step_callback。默认值None。
  • cache(可选)指示代理是否应使用缓存来使用工具。默认值为True

4.3 设置Task

大邓三个智能体角色(内容策划专员、内容创作专员、内容策划专员), 都各自有对应的 任务(plan、write、edit)。 这里需要设置每种任务,的工作任务(内容)、预期产出。

 

参数解读

 
  • description: 对任务内容的清晰、简洁的陈述。
  • agent :负责该任务的代理人,可直接指派或由机组人员流程指派。
  • expected_output : 任务完成情况的详细描述。
  • tools(可选)代理可以利用执行任务的功能或能力。默认值None。
  • async_execution(可选)如果设置,任务将异步执行,允许进展而无需等待完成。默认值False。
  • context(可选)指定其输出用作此任务的上下文的任务。默认值None。
  • config(可选)执行任务的代理的附加配置详细信息,允许进一步定制。默认值None。
  • output_json(可选)输出 JSON 对象,需要 OpenAI 客户端。只能设置一种输出格式。默认值None。
  • output_pydantic(可选)输出 Pydantic 模型对象,需要 OpenAI
    客户端。只能设置一种输出格式。默认值None。
  • output_file(可选)将任务输出保存到文件。如果与Output JSON或一起使用Output
    Pydantic,则指定如何保存输出。默认值None。
  • callback(可选)在完成任务后,使用任务的输出执行的 Python 可调用函数。默认值None。
  • human_input(可选)表示任务是否在最后需要人工反馈,对于需要人工监督的任务很有用。默认值False。

4.4 组装&运行

将大邓三个角色(planner, writer, editor) 及对应的任务(plan, write, edit)组装成一个整体crew, 并试着让程序以 「topic: Python做文本分析」 为题进行创作。

 

Run
请看原文链接

将智能体生成的内容渲染, 一起欣赏AI生成的内容。

 
 
 

arXiv2024 | 使用大语言模型自动进行定性研究中的扎根理论开发
实验 | 使用本地大模型从文本中提取结构化信息
实验 | 使用本地大模型DIY制作单词书教案PDF
实验 | 使用本地大模型从论文PDF中提取结构化信息
LIST | 可供社科(经管)领域使用的数据集汇总
LIST | 社科(经管)数据挖掘文献资料汇总
推荐 | 文本分析库cntext2.x使用手册
付费视频课 | Python实证指标构建与文本分析

本文地址:http://w.yusign.com/quote/8738.html    述古往 http://w.yusign.com/static/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关行情
推荐行情
点击排行
{
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号