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