
如何快速實現(xiàn)REST API集成以優(yōu)化業(yè)務(wù)流程
選擇合適的操作系統(tǒng)Ollama版本
您可以下載適用于Mac和Linux的Ollama。Windows版本即將推出
將Ollama移動到應(yīng)用程序
將Ollama拖放到Applications文件夾中,此步驟僅適用于Mac用戶。完成此步驟后,Ollama將完全安裝在您的設(shè)備上。單擊“下一步”按鈕。
? ? ? ?現(xiàn)在我們需要安裝要在本地使用的LLM,命令如下:
Ollama run Solar
??Ollama現(xiàn)在將下載Solar,這可能需要幾分鐘的時間,具體取決于您的網(wǎng)速。一旦安裝好,你就可以開始與它交談了。
創(chuàng)建文件夾
? ? ? ? 讓我們創(chuàng)建一個名為crewai的文件夾并導(dǎo)航到它。
? ? ? ?我們用“python2.11-m venv crew”創(chuàng)建了一個虛擬環(huán)境,并用“source crew/bin/activate”激活它,然后安裝“pip-install crewai”
? ? ? ?在開始之前,讓我們安裝所需的庫。創(chuàng)建一個名為requirements.txt的文件,并在下面寫入依賴項。
unstructured
langchain
Jinja2>=3.1.2
click>=7.0
duckduckgo-search
? ? ?之后,只需在VS Code中打開終端或者在打開Mac終端,并運行以下命令:
pip install -r requirements.txt
? ? ? 我們將從crewai導(dǎo)入Agent、Task、Crew和Process,然后從langchain.tools導(dǎo)入DuckDuckGoSearchRun來收集web信息。
DuckDuckGoSearchRun被創(chuàng)建并存儲在變量search_tool中
? ? ? ? 我們從langchain.lms導(dǎo)入ollama來加載一個模型,這里使用Solar和Openhermes進(jìn)行實驗
from crewai import Agent, Task, Crew, Process
import os
from langchain.tools import DuckDuckGoSearchRun
search_tool = DuckDuckGoSearchRun()
from langchain.llms import Ollama
ollama_openhermes = Ollama(model="openhermes")
ollama_solar = Ollama(model="Solar")
讓我們創(chuàng)建一個代理來執(zhí)行任務(wù)、做出決策并與其他代理通信。
role:表明其主要功能是進(jìn)行研究。
goal:研究人員的目標(biāo)是找到發(fā)展特定YouTube頻道并增加其訂戶數(shù)量的方法。
backstory:協(xié)助研究活動并簡化某些任務(wù)。
tools:代理可用的工具列表包括search_tool,
verbose:設(shè)置為True,這通常意味著代理將提供詳細(xì)的日志、輸出或解釋
llm:這代表“大型語言模型”,在這種情況下,ollama_openhermes作為代理使用的模型傳遞。
allow_delegation:設(shè)置為False,表示不允許此代理將其任務(wù)委派給其他代理或進(jìn)程
researcher = Agent(
role='Researcher',
goal='Research methods to grow this channel Gao Dalie (高達(dá)烈) on youtube and get more subscribers',
backstory='You are an AI research assistant',
tools=[search_tool],
verbose=True,
llm=ollama_openhermes, # Ollama model passed here
allow_delegation=False
)
? ? ? ?作為內(nèi)容策略師的Agent,其目標(biāo)是撰寫關(guān)于YouTube增長渠道的有趣博客文章。它可以將撰寫博客文章的任務(wù)委派給代理
writer = Agent(
role='Writer',
goal='Write compelling and engaging reasons as to why someone should join Gao Dalie (高達(dá)烈) youtube channel',
backstory='You are an AI master mind capable of growing any youtube channel',
verbose=True,
llm=ollama_openhermes, # Ollama model passed here
allow_delegation=False
)
任務(wù)1和任務(wù)2被分配給一名“研究人員”Agent,負(fù)責(zé)調(diào)查“Gao Dalie (高達(dá)烈)”YouTube頻道,并找到可靠的方法來生成一個頻道。
? ? ? ?任務(wù)3被分配給一名“作家”Agent,為“Gao Dalie (高達(dá)烈)”編制一份行動清單來實現(xiàn)頻道生成。
task1 = Task(description='Investigate Gao Dalie (高達(dá)烈) Youtube channel', agent=researcher)
task2 = Task(description='Investigate sure fire ways to grow a channel', agent=researcher)
task3 = Task(description='Write a list of tasks Gao Dalie (高達(dá)烈) must do to grow his channel', agent=writer)
Crew:定義以研究人員和作家為成員的團隊。
Process.sequential:使用按順序執(zhí)行任務(wù)的流程。上一個任務(wù)的結(jié)果將作為附加內(nèi)容傳遞給下一個任務(wù)。
crew.kickoff():命令crew開始工作。
crew = Crew(
agents=[researcher, writer],
tasks = [task1,task2,task3],
verbose=2,
process=Process.sequential
)
result = crew.kickoff()
crew運行結(jié)束時會輸出結(jié)果,結(jié)果是一條簡單的分界線和crew的執(zhí)行結(jié)果。
Openherms
下面是Openhermes作為作家和Solar作為研究人員的運行結(jié)果:
Solar
? ? ? ?Openhermes將扮演研究員的角色,Solor將扮演作家的角色,這一角色的變化將展示不同模型如何適應(yīng)不同的生成過程。
CrewAI不僅是解決人工智能協(xié)作問題的有效工具,而且重塑了人類與人工智能之間的關(guān)系。
這將是人工智能助手的能力得到充分發(fā)揮,促進(jìn)人工智能在各行各業(yè)的廣泛應(yīng)用。隨著CrewAI技術(shù)的成熟,人工智能將成為企業(yè)協(xié)同工作的重要力量。
[1] https://pub.towardsai.net/crewai-solor-hermes-langchain-ollama-super-ai-agent-0ee348404428
[2] https://github.com/joaomdmoura/crewAI
[3] https://arxiv.org/abs/2312.15166
[4] https://huggingface.co/teknium/OpenHermes-2.5-Mistral-7B
[5]?https://quickaitutorial.com/
文章轉(zhuǎn)自微信公眾號@ArronAI