从技术角度来说,AI 代理是一种软件实体,旨在代表用户或其他程序自主或半自主地执行任务。这些代理利用人工智能做出决策、采取行动并与其环境或其他系统交互。代理的一些主要特征如下:
- 自主性:AI 代理无需持续的人为干预即可运行。一旦被赋予目标,它们就可以独立执行任务。
- 决策:它们使用算法、规则和 AI 模型根据其感知和目标做出决策。这包括评估不同的选项并选择最佳行动方案。
- 学习:许多 AI 代理采用机器学习技术来提高其随着时间的推移的性能。他们可以从过去的经验中学习并适应新情况。
- 交互:AI 代理可以与用户、其他代理或系统进行通信和协作。这种交互可能涉及自然语言处理、发送和接收数据或执行协调任务。
- 专业化:AI 代理可以专门用于特定任务或领域。例如,某些代理可能设计用于网页浏览,而其他代理可能处理数据库交互、执行复杂计算或生成图像。
- 目标导向:AI 代理通常被设计成具有特定目标或目的。它们通过一系列动作和决策来实现这些目标。
总之,AI 代理是强大的工具,可以自动化和增强各种活动,从简单的重复任务到复杂的问题解决场景,使它们在各种应用和行业中都具有无价的价值。
想象一下,将上述所有概念整合在一起,共同朝着预先定义的目标努力,以实现预期结果。这些任务可以按顺序或分层过程执行,所有代理都像一个协调的团队一样工作。这种强大的协作可以彻底改变我们处理复杂问题的方式,使流程更高效,结果更有效。这就是 CrewAI 框架发挥作用的地方。
NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割
1、核心概念 — CrewAI
CrewAi 是一个用于协调角色扮演、自主 AI 代理的尖端框架。通过培养协作智能,CrewAI 使代理能够无缝协作,解决复杂任务。
以下是有关CrewAI的核心概念:
- Agent:代理,这些是独立的单元,被编程为执行任务、做出决策和与其他代理通信。他们可以使用工具,这些工具可以是简单的搜索功能,也可以是涉及其他链、API 等的复杂集成。
- Task:任务,任务是 AI 代理需要完成的作业或工作。它们可以包含其他信息,例如哪个代理应该执行该任务以及他们可能需要哪些工具。
- Crew 是一组代理,每个代理都有特定的角色,他们共同努力实现共同目标。组建团队的过程包括召集代理、定义他们的任务并建立任务执行顺序。
本文旨在通过 CrewAI 示例全面概述 CrewAI 平台的组件。
2、什么是 Ollama ?
Ollama 是一款开源应用程序,可让您在 MacOS、Linux 和 Windows 上使用命令行界面在本地运行、创建和共享大型语言模型。
Ollama 可以直接从其库中访问各种 LLM,可以使用单个命令下载。下载后,您可以通过单个命令执行开始使用它。这对于工作量围绕终端窗口的用户非常有帮助。如果他们被困在某个地方,他们可以在不切换到另一个浏览器窗口的情况下获得答案。
以下是 OLLAMA 成为你工具包中必备工具的原因:
- 简单:OLLAMA 提供简单的设置过程。你无需拥有机器学习博士学位即可启动和运行它。
- 成本效益:在本地运行模型意味着你不会产生云成本。你的钱包会感谢你。
- 隐私:使用 OLLAMA,所有数据处理都在你的本地机器上进行。这对于用户隐私来说是一个巨大的胜利。
- 多功能性:OLLAMA 不仅适用于 Python 爱好者。它的灵活性使其可用于各种应用程序,包括 Web 开发。
3、使用 Ollama 选择 LLM
默认情况下,Openai 模型在 CrewAI 中用作 llm。为了使 CrewAI 团队达到最佳性能,请考虑为你的 AI 代理使用 GPT-4 或 OpenAI 稍便宜的 GPT-3.5。这些模型是你的代理的骨干,并显著影响其功能
但在这里我们将使用 Meta Llama 3,这是迄今为止功能最强大的公开可用 LLM。Meta Llama 3 是 Meta Inc. 开发的一系列模型,是最新的先进模型,提供 8B 和 70B 参数大小(预训练或指令调整)。
Llama 3 指令调整模型针对对话/聊天用例进行了微调和优化,并且在常见基准上优于许多可用的开源聊天模型。
4、代码实现
首先需要安装所需的依赖项。
4.1 Windows安装Ollama
转到 Ollama 并下载 .exe 文件:
下载 Ollama 并在 Windows 上安装。你可以选择使用默认模型保存路径,通常位于:
C:\Users\your_user\.ollama
但是,如果 C: 分区上的空间有限,建议切换到其他目录。如果你有另一个分区,例如 D:\,只需:
- 右键单击桌面上的计算机图标。
- 选择“属性”,然后导航到“高级系统设置”。
- 单击“环境变量”。
- 在“用户变量...”中,插入您计划存储所有模型的目录的绝对路径。例如:
Windows 底部栏上将出现一个 Ollama 图标。如果程序未启动,请在 Windows 程序中搜索它并从那里启动它。
然后从命令提示符下载 llama3 模型:
ollama run llama3
4.2 将 LLM 设置为 Llama3
在项目目录中创建类似于下面的 ModelFile:
FROM llama3
# Set parameters
PARAMETER temperature 0.8
PARAMETER stop Result
# Sets a custom system message to specify the behavior of the chat assistant
# Leaving it blank for now.
SYSTEM """"""
在命令提示符中运行以下命令:
>>ollama create crewai-llama3 -f .\Modelfile
transferring model data
reading model metadata
creating system layer
creating parameters layer
creating config layer
using already created layer sha256:00e1317cbf74d901080d7100f57580ba8dd8de57203072dc6f668324ba545f29
using already created layer sha256:4fa551d4f938f68b8c1e6afa9d28befb70e3f33f75d0753248d530364aeea40f
using already created layer sha256:8ab4849b038cf0abc5b1c9b8ee1443dca6b93a045c2272180d985126eb40bf6f
writing layer sha256:71f37c09fdf6373a2c6afd11a4d20421862fd722ce465743c2f49f763a639f56
writing layer sha256:045397f468c947b89b22042cb6cf3f3b275c93751c1e66d077f967ff85977d51
writing layer sha256:a5d199f54597766bdf1741b00fc797bec159ae6386feef22d3f062a5fe5dc9ef
writing manifest
success
from crewai import Agent, Task, Crew
from langchain_openai import ChatOpenAI
import os
os.environ["OPENAI_API_KEY"] = "NA"
llm = ChatOpenAI(
model = "crewai-llama3",
base_url = "http://localhost:11434/v1")
5、创建代理来规划、编写和编辑博客
代理是一个自主单元,被编程为:
- 执行任务
- 做出决策
- 与其他代理沟通
代理属性:
- 角色:定义代理在团队中的功能。它决定了代理最适合执行的任务类型。
- 目标:代理旨在实现的个人目标。它指导代理的决策过程。
- 背景故事:为代理的角色和目标提供背景,丰富互动和协作动态。
- LLM:(可选)表示将运行代理的语言模型。它从 OPENAI_MODEL_NAME 环境变量中动态获取模型名称,如果未指定,则默认为“gpt-4”。
- 工具:(可选)代理可用于执行任务的功能或函数集。预期是与代理的执行环境兼容的自定义类的实例。工具使用空列表的默认值初始化。
- 函数调用 LLM:(可选)指定将处理此代理的工具调用的语言模型,如果传递,则覆盖团队函数调用 LLM。默认值为 None。
- Max Iter:(可选)代理在被迫给出最佳答案之前可以执行的最大迭代次数。默认值为 25。
- Max RPM:(可选)代理每分钟可以执行的最大请求数,以避免速率限制。它是可选的,可以不指定,默认值为 None。
- max_execution_time:(可选)代理执行任务的最大执行时间它是可选的,可以不指定,默认值为 None,表示没有最大执行时间
- Verbose:(可选)将其设置为 True 会配置内部记录器以提供详