CrewAI 基础 04-Team

在 crewai 中,Team 包含一组代理、一批任务及组织代理解决任务的流程

  1. 定义网络检索工具
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 定义互联网检索工具
import os
import api_key
os.environ['TAVILY_API_KEY']=api_key.TAVILY_API_KEY
from langchain_community.tools.tavily_search import TavilySearchResults
# 定义工具
# search = TavilySearchResults(max_results=1)
from pydantic import Field
from crewai.tools import BaseTool
class SearchTool(BaseTool):
name: str = "Search"
description: str = "Useful for search-based queries. Use this to find current information about markets, companies, and trends."
search: TavilySearchResults = Field(default_factory=TavilySearchResults)
def _run(self, query: str) -> str:
"""Execute the search query and return results"""
try:
self.search.max_results=1
return self.search.run(query)
except Exception as e:
return f"Error performing search: {str(e)}"
  1. 定义 Agent
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# 定义Agent
from api_key import SERPER_API_KEY,TAVILY_API_KEY
import os
os.environ["SERPER_API_KEY"] = SERPER_API_KEY # serper.dev API key
from crewai import Agent
from crewai_tools import SerperDevTool
from crewai.llm import LLM
llm=LLM(model="ollama_chat/qwen2.5:latest", base_url="http://192.168.3.155:11434")
embedder_config={
"provider": "ollama",
"config": {
"model": 'quentinz/bge-large-zh-v1.5:latest',
"base_url": 'http://192.168.3.155:11434'
}
}
# search_tool=SerperDevTool(n_results=3,country='china')
search_tool=SearchTool()
cv_agent=Agent(
role="计算机视觉工程师",
goal="查找并理解计算机视觉工程师的工作内容,熟悉的代码和工具",
backstory = "已经在计算机视觉领域工作5年,有丰富的计算机视觉经验,尤其是在工业缺陷检测方面",
llm=llm,
memory=True,
verbose=True,
tools=[search_tool],
embedder_config=embedder_config,
allow_delegation=False,
max_rpm=5,
max_execution_time=15,
)
nlp_agent=Agent(
role="自然语言开发工程师",
goal="查找并理解计算机视觉工程师的工作内容,熟悉的代码和工具",
backstory = "已经在自然语言开发领域工作10年,有丰富的自然语言开发经验",
llm=llm,
memory=True,
verbose=True,
tools=[search_tool],
embedder_config=embedder_config,
allow_delegation=False,
max_rpm=5,
max_execution_time=15,
)
plan_agent=Agent(
role="职业规划工程师",
goal="了解不同岗位的职业需求,并为用户规划未来职业发展",
backstory = "在大公司担任HR十年,尤其擅长为计算机领域的人做职业规划",
llm=llm,
memory=True,
verbose=True,
tools=[search_tool],
embedder_config=embedder_config,
allow_delegation=True,
max_rpm=5,
max_execution_time=30,
)
  1. 定义 Task
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from crewai import Task
# 定义任务
cv_task=Task(
description="""
查找近期招聘计算机视觉工程师的发展趋势,岗位需求及薪资水平,
了解那个领域的计算机视觉工程师薪资相对比较高
""",
expected_output="""
输出3段文字,分别总结计算机视觉工程师的发展趋势、岗位需求、薪资
""",
agent=cv_agent
)
nlp_task=Task(
description="""
查找最近招聘计算机自然语言开发工程师的发展趋势,岗位需求及薪资水平,
了解那个领域的计算机自然语言开发工程师薪资相对比较高
""",
expected_output="""
输出3段文字,分别总结计算机自然语言开发工程师的发展趋势、岗位需求、薪资
""",
context=[cv_task], # 等待cv_task完成后再进行nlp_task
agent=nlp_agent
)
write_blog_task = Task(
description="写一篇文章,从多个层面讨论计算机视觉工程师转行到计算机自然语言开发工程师,包括技术、能力、薪资、未来发展等",
expected_output="按层次输出文章,Markdown格式",
context=[cv_task, nlp_task],
agent=plan_agent
)
  1. 定义团队
1
2
3
4
5
6
7
8
# 定义团队
from crewai import Crew
team=Crew(
agents=[cv_agent,nlp_agent,plan_agent],
tasks=[cv_task,nlp_task,write_blog_task],
verbose=True,
language='Chinese'
)
1
2
3
# 团队开始工作
result = team.kickoff()
print(result)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# Agent: 计算机视觉工程师
## Task:
查找近期招聘计算机视觉工程师的发展趋势,岗位需求及薪资水平,
了解那个领域的计算机视觉工程师薪资相对比较高

# Agent: 计算机视觉工程师
## Using tool: Search
## Tool Input:
"{\"query\": \"\\u8fd1\\u671f\\u8ba1\\u7b97\\u673a\\u89c6\\u89c9\\u5de5\\u7a0b\\u5e08\\u62db\\u8058\\u8d8b\\u52bf \\u5c97\\u4f4d\\u9700\\u6c42 \\u85aa\\u8d44\\u6c34\\u5e73 \\u9ad8\\u85aa\\u9886\\u57df\"}"
## Tool Output:
[{'url': 'https://www.jobui.com/salary/quanguo-jisuanjishijiaogongchengshi/', 'content': '计算机视觉工程师工资(就业前景) 计算机视觉工程师招聘工资收入一般多少钱一个月?\r 56.1%岗位拿¥20-50K/月,年薪¥24-60W,2023年较2022持平。\r 按学历统计,大专工资¥11.4K。\r 按经验,应届生工资¥25.0K。\r 就业前景怎么样?市场需求:2024年招聘职位135个,占全国0.001%。\r 就业单位:人工智能占39.5%,软件占21%,网络占17.4%。\r 计算机视觉工程师月薪 计算机视觉工程师年薪 说明:计算机视觉工程师一个月年薪多少钱?数据统计依赖于各平台发布的公开薪酬,仅供参考。 招聘要求分析:学历本科最多 招聘行业分布:人工智能最多 你可能感兴趣的岗位 更多 历年招聘工资变化趋势 历年工资变化 就业前景(历年职位需求变化) 历年招聘职位量占比 招聘学历要求:本科最多 按学历统计 说明:薪资一般与学历正相关,一般学历越高,工资越高。计算机视觉工程师工资按学历统计,大专工资¥11.4K,想知道其他学历工资,请点击查看 招聘经验要求:1-3年最多 按经验统计 说明:工作经验是影响工资水平的重要因素,一般经验越丰富工资越高。计算机视觉工程师工资按经验统计,应届生工资¥25.0K,想知道其他经验工资,请点击查看 计算机视觉工程师硕士工资待遇 (更多) 行业分布 专业要求 热门招聘地区竞争力分析 热门招聘行业竞争力分析 计算机视觉工程师招聘薪酬 人工智能行业热门公司工资待遇 加班情况调查: 职业信心调查:继续从事本岗位? 推荐岗位 版权声明: 计算机视觉工程师工资根据企业近一年发布的薪酬数据统计所得,可能因统计算法等因素出现偏差,仅供参考。 由职友集 jobui.com 统计开发并发布,保留所有权利,任何网站或个人使用必须给出来源并注明链接。 行业报告:发展现状前景分析 找客户:行业名企 关注“职友集”官方QQ空间 你可以: 粤公网安备 44010602001261号 职友集不提供APP,请关注公众号'}]
# Agent: 计算机视觉工程师
## Final Answer:
近期,计算机视觉工程师的招聘趋势呈现稳定增长态势。根据某招聘网站的数据,2024年全国范围内计划招聘计算机视觉工程师职位135个,占比约为全国岗位总量的千分之一。这表明该领域仍具有较大的需求,但竞争也较为激烈。
在薪资方面,计算机视觉工程师的月收入一般集中在2万至5万元之间(¥20-50K/月),年收入约24万至60万元人民币(¥24-60W)。值得注意的是,不同学历和工作经验对于薪资有显著影响。例如,具有本科学历的计算机视觉工程师应届生工资约为2.5万元左右(¥25.0K);而拥有硕士学历的人士可能获得更高的薪酬。
就高薪领域而言,根据调研结果,在人工智能行业工作的计算机视觉工程师往往享有较高的薪资待遇。另外,具备丰富的相关工作经验也会显著提升个人的薪资水平。因此,持续学习与实践、积累项目经验对于提高职业竞争力和获取更高收入非常关键。
# Agent: 自然语言开发工程师
## Task:
查找最近招聘计算机自然语言开发工程师的发展趋势,岗位需求及薪资水平,
了解那个领域的计算机自然语言开发工程师薪资相对比较高

# Agent: 自然语言开发工程师
## Using tool: Search
## Tool Input:
"{\"query\": \"\\u8ba1\\u7b97\\u673a\\u81ea\\u7136\\u8bed\\u8a00\\u5f00\\u53d1\\u5de5\\u7a0b\\u5e08 \\u62db\\u8058\\u8d8b\\u52bf \\u5c97\\u4f4d\\u9700\\u6c42 \\u85aa\\u8d44\\u6c34\\u5e73\"}"
## Tool Output:
[{'url': 'https://finance.sina.com.cn/tech/roll/2024-06-27/doc-incaczkf2362371.shtml', 'content': '自然语言处理招聘职位数增超120%:平均月薪达24535元 ... ai人才和商业化的聚集地,对nlp工程师的需求尤为旺盛。 ... 也为我们揭示了ai行业薪酬水平'}]
# Agent: 自然语言开发工程师
## Final Answer:
近期,计算机自然语言处理(NLP)领域的发展趋势显示出了强劲的增长势头,招聘职位数量相比之前增加了超过120%,并且平均月薪达到了24535元。这表明NLP领域正处于快速扩张阶段,对于相关人才的需求正在快速增长。
从岗位需求来看,根据行业调研数据,在AI和商业化的热点地区中对自然语言处理工程师(NLP)的需求尤为旺盛,这主要得益于各类企业对于提升自身产品和服务智能化水平的迫切需求。此外,随着各行各业数字化转型进程的加快,许多传统领域也开始积极引入具备NLP能力的技术团队来推动业务发展。
在薪资方面,根据市场调研数据,计算机自然语言开发工程师(NLP)的平均月薪大约为24535元,而具有硕士及以上学历的人士可能获得更高的薪酬。另外,拥有丰富相关工作经验和掌握多种技术技能的NLP专家通常能够享有更为优厚的薪酬待遇。因此,在这个领域中不断提升专业技能并积累实践经验对于提高职业竞争力和获取更高收入至关重要。
# Agent: 职业规划工程师
## Task: 写一篇文章,从多个层面讨论计算机视觉工程师转行到计算机自然语言开发工程师,包括技术、能力、薪资、未来发展等
# Agent: 职业规划工程师
## Using tool: Search
## Tool Input:
"{\"query\": \"\\u8ba1\\u7b97\\u673a\\u89c6\\u89c9\\u5de5\\u7a0b\\u5e08\\u8f6c\\u884c\\u81ea\\u7136\\u8bed\\u8a00\\u5904\\u7406\\u5de5\\u7a0b\\u5e08 \\u85aa\\u8d44 \\u53d1\\u5c55\\u8d8b\\u52bf\"}"
## Tool Output:
[{'url': 'https://www.zhihu.com/question/397926403/answers/updated', 'content': '工作的话主要还是看员工本身的工作能力和证书等,这些也都直接和薪资挂钩的。 ... 这里可以给您推荐个2024年企业所需,人才所求,ai人工智能 计算机视觉、自然语言及语音处理专业人员认证证书 ... 《计算机视觉处理设计开发工程师》2024年1月24日至28日-北京'}]
# Agent: 职业规划工程师
## Final Answer:
\```markdown
# 计算机视觉工程师转行至自然语言处理工程师:技术、能力、薪资及未来发展
## 引言
近年来,人工智能行业持续发展,各个细分领域均展现出不同的增长态势。近期,计算机视觉(Computer Vision, CV)工程师的招聘趋势呈现稳定增长态势。与此同时,计算机自然语言处理(Natural Language Processing, NLP)领域的吸引力也在不断增强。本文旨在探讨计算机视觉工程师转行至NLP工程师这一职业路径的可能性及可行性,并从技术、能力、薪资以及未来发展等多个层面进行分析。
## 计算机视觉工程师现状
### 职位需求与竞争状况
根据某招聘网站的数据,2024年全国范围内计划招聘的计算机视觉工程师职位数量约为135个,占所有岗位的千分之一左右。这表明该领域仍具有较大的需求,但竞争也较为激烈。
### 技术背景及薪资水平
在薪资方面,计算机视觉工程师的月收入一般集中在20,000元至50,000元之间(¥20-50K/月),年收入约24万至60万元人民币(¥24-60W)。不同学历和工作经验对于薪资有显著影响。例如,具有本科学历的计算机视觉工程师应届生工资约为2.5万元左右(¥25.0K);而拥有硕士学历的人士可能获得更高的薪酬。
## 自然语言处理工程师现状
### 职位需求与市场趋势
近期,NLP领域的招聘职位数量相比之前增加了超过120%,且平均月薪达到了24,535元。这表明NLP领域正处于快速扩张阶段,对于相关人才的需求正在快速增长。
### 产业应用及岗位需求分析
从岗位需求来看,在AI和商业化的热点地区中对自然语言处理工程师(NLP)的需求尤为旺盛。这主要得益于各类企业对于提升自身产品和服务智能化水平的迫切需求。此外,随着各行各业数字化转型进程的加快,许多传统领域也开始积极引入具备NLP能力的技术团队来推动业务发展。
### 薪资与职业发展前景
在薪资方面,根据市场调研数据,计算机自然语言开发工程师(NLP)的平均月薪大约为24,535元。具有硕士及以上学历的人士可能获得更高的薪酬。此外,拥有丰富相关工作经验和掌握多种技术技能的NLP专家通常能够享有更为优厚的薪酬待遇。
## 技术过渡与能力提升
计算机视觉工程师转行至自然语言处理工程师需要具备一定的技术背景和较强的自学能力。以下为一些关键的技术领域及必备能力:
### 1. 熟悉相关编程语言
- Python:NLP开发中广泛使用。
- Java/Scala:在大数据处理方面较为常见。
### 2. 掌握常用工具库
- NLTK、spaCy、Gensim等Python库。
- Spark NLP、Stanford CoreNLP等Java库。
### 3. 理解基础理论与算法
- 基于统计的自然语言处理技术,如词袋模型、TF-IDF。
- 深度学习方法,如LSTM、BERT等预训练模型。
### 4. 实践项目经验积累
通过参与实际项目和开源社区活动来提升实战能力。例如,参加Kaggle比赛或在GitHub上贡献代码。
## 结语
总体而言,计算机视觉工程师转行至自然语言处理工程师是一个可行的职业路径。随着人工智能技术的不断进步和发展,这一领域的需求将会持续增长。然而,个人需要具备较强的技术积累和学习能力才能在这个竞争激烈的市场中脱颖而出,并获得更好的职业发展机会。
\```
注:以上信息基于收集到的数据撰写而成,实际情况可能有所变化,请以最新的官方资料为准。
\```markdown
# 计算机视觉工程师转行至自然语言处理工程师:技术、能力、薪资及未来发展
## 引言
近年来,人工智能行业持续发展,各个细分领域均展现出不同的增长态势。近期,计算机视觉(Computer Vision, CV)工程师的招聘趋势呈现稳定增长态势。与此同时,计算机自然语言处理(Natural Language Processing, NLP)领域的吸引力也在不断增强。本文旨在探讨计算机视觉工程师转行至NLP工程师这一职业路径的可能性及可行性,并从技术、能力、薪资以及未来发展等多个层面进行分析。
## 计算机视觉工程师现状
### 职位需求与竞争状况
根据某招聘网站的数据,2024年全国范围内计划招聘的计算机视觉工程师职位数量约为135个,占所有岗位的千分之一左右。这表明该领域仍具有较大的需求,但竞争也较为激烈。
### 技术背景及薪资水平
在薪资方面,计算机视觉工程师的月收入一般集中在20,000元至50,000元之间(¥20-50K/月),年收入约24万至60万元人民币(¥24-60W)。不同学历和工作经验对于薪资有显著影响。例如,具有本科学历的计算机视觉工程师应届生工资约为2.5万元左右(¥25.0K);而拥有硕士学历的人士可能获得更高的薪酬。
## 自然语言处理工程师现状
### 职位需求与市场趋势
近期,NLP领域的招聘职位数量相比之前增加了超过120%,且平均月薪达到了24,535元。这表明NLP领域正处于快速扩张阶段,对于相关人才的需求正在快速增长。
### 产业应用及岗位需求分析
从岗位需求来看,在AI和商业化的热点地区中对自然语言处理工程师(NLP)的需求尤为旺盛。这主要得益于各类企业对于提升自身产品和服务智能化水平的迫切需求。此外,随着各行各业数字化转型进程的加快,许多传统领域也开始积极引入具备NLP能力的技术团队来推动业务发展。
### 薪资与职业发展前景
在薪资方面,根据市场调研数据,计算机自然语言开发工程师(NLP)的平均月薪大约为24,535元。具有硕士及以上学历的人士可能获得更高的薪酬。此外,拥有丰富相关工作经验和掌握多种技术技能的NLP专家通常能够享有更为优厚的薪酬待遇。
## 技术过渡与能力提升
计算机视觉工程师转行至自然语言处理工程师需要具备一定的技术背景和较强的自学能力。以下为一些关键的技术领域及必备能力:
### 1. 熟悉相关编程语言
- Python:NLP开发中广泛使用。
- Java/Scala:在大数据处理方面较为常见。
### 2. 掌握常用工具库
- NLTK、spaCy、Gensim等Python库。
- Spark NLP、Stanford CoreNLP等Java库。
### 3. 理解基础理论与算法
- 基于统计的自然语言处理技术,如词袋模型、TF-IDF。
- 深度学习方法,如LSTM、BERT等预训练模型。
### 4. 实践项目经验积累
通过参与实际项目和开源社区活动来提升实战能力。例如,参加Kaggle比赛或在GitHub上贡献代码。
## 结语
总体而言,计算机视觉工程师转行至自然语言处理工程师是一个可行的职业路径。随着人工智能技术的不断进步和发展,这一领域的需求将会持续增长。然而,个人需要具备较强的技术积累和学习能力才能在这个竞争激烈的市场中脱颖而出,并获得更好的职业发展机会。
\```
注:以上信息基于收集到的数据撰写而成,实际情况可能有所变化,请以最新的官方资料为准。