目录
前言
本篇章将会与之前的篇章没有任何关联,本篇章将会独立于之前,将会介绍智能体实现一个独立的开发的入门教程。
什么是智能体
我个人认为是对大模型的的一个规则处理,也就是设定一个处理任务的角色,而不再广泛性,专注于某个领域和任务的处理。
市面上很多的智能体应用啊,你会发现都是设定有特定的角色,例如ppt助手,文案生成,股票分析行情助手,或者短故事生成助手这类型的智能体,都是限制在某个功能。
至于规则处理,我个人认为,就是已经确定了领域,那就要有步骤,有条理的实现功能,而不是遇见什么就处理什么,不是人为导致接口乱调用,而是大模型根据需求来进行按需的接口调用。
以上就是我的理解,那么来看看官方的解释。
智能体的定义
智能体(Agent)是一种能够感知环境、自主决策并执行动作的实体,通常具备目标导向性、适应性和学习能力。在人工智能领域,智能体可以是软件程序、机器人或混合系统,能够通过与环境交互实现特定任务。
智能体的核心特征
自主性:无需外部直接干预,可独立运行并做出决策。
反应性:能实时感知环境变化并作出响应。
目标导向:通过规划和学习实现预设目标。
社会性:部分智能体支持多智能体协作或与人类交互。
如何快速进入一个入门案例
有两个网站可以快速入门
Crewai
AutoGen
不过为了快速入门,我们选择难度较低的Crewai来进行简单的基础入门。
安装crewai软件框架
先检查个人的python版本,对于crewai是对python有要求的,目前不支持3.14版本的,和3.10版本以下的版本,如果不是这个区间的请手动降低版本或者更新版本。

查看python版本的指令
python3 --version
终端输入
pip install crewai
pip install crewai-tool
代码入门
这个目前不涉及它所创建的完全独立的crewai项目,即类似django通过指令创建一个包含crewai的项目,而是手动创建代码实现类似的独立的测试入门的代码
模块导包
from crewai import Agent,LLM,Task,Crew
然后配置llm,这里选用的是deepseek。
注:同时除了deepseek你也可以换成ollama本地下载的模型,也可以换成kimi,gpt等模型。
def deepseek():
return LLM(
model="deepseek/deepseek-chat",
api_key = '你的deepseek秘钥',
api_base = 'https://api.deepseek.com/v1',
model_kwargs = {"llm_provider": "deepseek"}
)
然后就是智能体设定,设定一个,或者多个都是ok的,具体根据项目来
re_agent = Agent(
role = "检索相关信息以回答⽤户查询: {query}",
goal = "从可⽤资源中检索与⽤户查询最相关的信息: {query},始终优先使⽤pdf搜索⼯具,如果⽆法从pdf搜索⼯具中检索到信息,则尝试使⽤⽹络搜索⼯具。",
backstory = "你是⼀位细致⼊微的分析师,以敏锐的洞察⼒著称。你以理解⽤户查询: {query} 并从最合适的知识库中检索信息的能⼒⽽闻名。",
llm = deepseek(),
verbose=True
)
rp_agent = Agent(
role = "为用户查询生成最终响应: {query}",
goal = "根据⽤户查询: {query} 将检索到的信息综合成简洁连贯的响应。如果⽆法检索到信息,则回应“抱歉,我找不到您要的信息。",
backstory = "你是⼀位熟练的沟通者,擅⻓将复杂的信息转化为清晰简洁的回应。",
llm = deepseek(),
verbose=True
)
然后就是任务设置
retrieval_task =Task(
description="从可⽤资源中检索与⽤户查询最相关的信息: {query}",
expected_output="以⽂本形式从资源中检索到的最相关信息。",
agent=re_agent,
)
response_task = Task(
description="为⽤户查询合成最终响应: {query}",
expected_output="基于从正确来源检索到的信息,为⽤户查询: {query} 提供简洁连贯的响应。如果⽆法检索到信息,则回应“抱歉,我找不到您要的信息。",
agent=rp_agent,
)
最后就是crew设置,设置这个是为了运行启动智能体来进行任务操作
crew = Crew(
agent = [re_agent, rp_agent],
tasks=[retrieval_task, response_task],
verbose=True
)
然后就是启动设置
crew_output = crew.kickoff(inputs={"query": "⼤模型如何提⾼编程的效率?"})
print(crew_output)
运行演示

2530

被折叠的 条评论
为什么被折叠?



