Introducere
Dezvoltarea agenților AI este una dintre cele mai fierbinți frontiere ale inovației software. Pe măsură ce calitatea modelelor de limbaj mari evoluează, vom asista la o creștere a integrării agenților AI cu sistemele software existente. Cu agenții AI, va fi posibilă îndeplinirea sarcinilor cu comenzi vocale sau prin gesturi în loc să navigați manual prin aplicații. Dar chiar acum, dezvoltarea agenților este în stadiu incipient. Încă trecem prin faza inițială a infrastructurii, instrumentelor și dezvoltării cadrului, similar internetului din anii 1990. Deci, în acest articol, vom discuta despre un alt cadru pentru dezvoltarea agenților numit CrewAI.
obiective de invatare
- Aflați despre agenții AI.
- Explorați CrewAI – un instrument open-source pentru agenții de construcție.
- Creați o echipă AI colaborativă pentru scrierea conținutului.
- Explorați cazurile de utilizare din viața reală a agenților AI.
Acest articol a fost publicat ca parte a Blogathonul științei datelor.
Cuprins
Ce sunt agenții AI?
Modelele lingvistice excelează la traducere, rezumare și raționament. Cu toate acestea, puteți face atât de multe cu ei. Una dintre modalitățile de a realiza pe deplin potențialul de raționament este de a face LLM-urile agenti. Agenții AI sunt LLM-uri îmbunătățite cu instrumentele și instrucțiunile potrivite. Acești agenți pot automatiza navigarea, eliminarea web, executarea interogărilor SQL, operațiunile cu fișiere și multe altele. Agenții folosesc capacitatea de raționament a LLM-urilor pentru a selecta un instrument bazat pe cerințele actuale. Dar, în loc să folosim un singur agent pentru o sarcină, putem aduna mulți dintre ei pentru a îndeplini sarcini complexe.
Langchain este instrumentul implicit care ne vine în minte când discutăm despre agenții AI. Cu toate acestea, orchestrarea manuală a agenților AI pentru a îndeplini sarcini de colaborare ar fi o provocare pentru Langchain. Aici intervine CrewAI.
Ce este CrewAI?
CrewAI este un cadru open-source pentru orchestrarea jocurilor de rol și a agenților AI autonomi. Ajută la crearea de agenți AI colaborativi pentru a îndeplini cu ușurință obiective complexe. Cadrul este conceput pentru a permite agenților AI să-și asume roluri, să delege sarcini și să împărtășească obiective, la fel ca un echipaj din lumea reală. Acestea sunt câteva dintre caracteristicile unice ale CrewAI:
- Agenți bazați pe roluri: putem defini agenți cu roluri, obiective și povești de fundal specifice pentru a oferi mai mult context LLM-urilor înainte de generarea răspunsurilor.
- Managementul sarcinilor: definiți sarcinile cu instrumente și atribuiți-le în mod dinamic agenților.
- Delegare inter-agenți: agenții pot delega sarcini altor agenți pentru a colabora eficient.
Mai jos este o reprezentare a hărții mentale CrewAI.
CrewAI se integrează perfect cu ecosistemul Langchain. Aceasta înseamnă că putem folosi instrumentele Langchain și integrările LLM cu CrewAI.
Construirea unui echipaj AI colaborativ
Pentru a înțelege mai bine CrewAI, să construim agenți colaborativi AI pentru scrierea de conținut creativ. Pentru aceasta, vom defini agenți, instrumente și sarcinile respective pentru fiecare agent. Deoarece este o echipă de scriere de conținut, vom defini trei agenți separați, cum ar fi un analist de idei, un scriitor și un editor. Fiecărui agent i se va atribui o sarcină.
Agentul analist va fi responsabil pentru analiza ideii și pregătirea unui plan cuprinzător pentru scrierea conținutului. Agentul Writer va pregăti schița pentru articol și, în final, editorul va fi responsabil pentru formatarea, editarea și corectarea schiței. După cum știm, CrewAI ne permite să creștem agenții cu instrumente personalizate. Vom mări editorul cu un instrument pentru a-l salva pe discul local. Dar pentru a realiza toate aceste lucruri, avem nevoie de un LLM. Aici, vom folosi modelul Google Gemini.
Să pătrundem în codificare
Ca și în cazul oricărui proiect Python, creați un mediu virtual și instalați dependențele. Vom avea nevoie de biblioteca Crewai și de implementarea de către Langchain Google GenAI. Puteți utiliza alte LLM-uri, cum ar fi modele cu acces deschis de la Împreună, Orice scară, sau modele OpenAI.
pip install crewai langchain-google-genai
Următorul pas este să ne definim LLM și agenții colaborativi. Creați un fișier separat numit agents.py pentru a defini agenții.
import os
from crewai import Agent
from langchain.tools import tool
from langchain_google_genai import GoogleGenerativeAI
GOOGLE_API_KEY = "Your Key"
llm = GoogleGenerativeAI(
model="gemini-pro",
google_api_key=GOOGLE_API_KEY
)
Să definim instrumentul de salvare a fișierelor.
class FileTools:
@tool("Write File with content")
def write_file(data: str):
"""Useful to write a file to a given path with a given content.
The input to this tool should be a pipe (|) separated text
of length two, representing the full path of the file,
including the ./lore/, and the written content you want to write to it.
"""
try:
path, content = data.split("|")
path = path.replace("n", "").replace(" ", "").replace("`", "")
if not path.startswith("./lore"):
path = f"./lore/{path}"
with open(path, "w") as f:
f.write(content)
return f"File written to {path}."
except Exception:
return "Error with the input format for the tool."
Metoda write_file de mai sus este decorată cu funcția instrument Langchain. Deoarece CrewAI folosește Langchain sub capotă, instrumentele trebuie să respecte convențiile Langchain. Funcția se așteaptă la un singur șir cu două părți, o cale de fișier și conținut separate printr-o țeavă (|). Metoda șirurile de documente sunt, de asemenea, folosite ca context adăugat pentru funcție. Deci, asigurați-vă că oferiți informații detaliate despre metodă.
Să definim agenții
idea_analyst = Agent(
role = "Idea Analyst",
goal = "Comprehensively analyse an idea to prepare blueprints for the article to be written",
backstory="""You are an experienced content analyst, well versed in analyzing
an idea and preparing a blueprint for it.""",
llm = llm,
verbose=True
)
writer = Agent(
role = "Fiction Writer",
goal = "Write compelling fantasy and sci-fi fictions from the ideas given by the analyst",
backstory="""A renowned fiction-writer with 2 times NYT
a best-selling author in the fiction and sci-fi category.""",
llm=llm,
verbose=True
)
editor = Agent(
role= "Content Editor",
goal = "Edit contents written by writer",
backstory="""You are an experienced editor with years of
experience in editing books and stories.""",
llm = llm,
tools=[FileTools.write_file],
verbose=True
)
Avem trei agenți, fiecare cu un rol, un scop și o poveste de fundal diferită. Aceste informații sunt folosite ca un prompt pentru ca LLM să ofere mai mult context. Agentul editor are asociat un instrument de scriere.
Următorul lucru este să definiți sarcinile. Pentru aceasta, creați un fișier diferit tasks.py.
from textwrap import dedent
class CreateTasks:
def expand_idea():
return dedent(""" Analyse the given task {idea}. Prepare comprehensive pin-points
for accomplishing the given task.
Make sure the ideas are to the point, coherent, and compelling.
Make sure you abide by the rules. Don't use any tools.
RULES:
- Write ideas in bullet points.
- Avoid adult ideas.
""")
def write():
return dedent("""Write a compelling story in 1200 words based on the blueprint
ideas given by the Idea
analyst.
Make sure the contents are coherent, easily communicable, and captivating.
Don't use any tools.
Make sure you abide by the rules.
RULES:
- Writing must be grammatically correct.
- Use as little jargon as possible
""")
def edit():
return dedent("""
Look for any grammatical mistakes, edit, and format if needed.
Add title and subtitles to the text when needed.
Do not shorten the content or add comments.
Create a suitable filename for the content with the .txt extension.
You MUST use the tool to save it to the path ./lore/(your title.txt).
""")
Sarcinile de aici sunt planuri de acțiune detaliate pe care vă așteptați să le îndeplinească agenții.
În cele din urmă, creați fișierul main.py unde asamblam agenții și sarcinile pentru a crea un echipaj funcțional.
from textwrap import dedent
from crewai import Crew, Task
from agents import editor, idea_analyst, writer
from tasks import CreateTasks
class ContentWritingCrew():
def __init__(self, idea):
self.idea = idea
def __call__(self):
tasks = self._create_tasks()
crew = Crew(
tasks=tasks,
agents=[idea_analyst, writer, editor],
verbose=True
)
result = crew.kickoff()
return result
def _create_tasks(self):
idea = CreateTasks.expand_idea().format(idea=self.idea)
expand_idea_task = Task(
description=idea,
agent = idea_analyst
)
write_task = Task(
description=CreateTasks.write(),
agent=writer
)
edit_task = Task(
description=CreateTasks.edit(),
agent=editor
)
return [expand_idea_task, write_task, edit_task]
if __name__ == "__main__":
dir = "./lore"
if not os.path.exists(dir):
os.mkdir(dir)
idea = input("idea: ")
my_crew = ContentWritingCrew(idea=idea)
result = my_crew()
print(dedent(result))
În codul de mai sus, am definit o clasă ContentWritingCrew care acceptă un șir de idei de la utilizator. Metoda _create_tasks creează sarcini. Metoda __call__ inițializează și dă startul echipajului. Odată ce rulați scriptul, puteți observa lanțul de acțiuni pe terminal sau notebook. Sarcinile vor fi executate în ordinea în care sunt definite de echipaj. Iată un instantaneu al jurnalului de execuție.
Acesta este jurnalul de execuție pentru agentul final. adică Editor. Editează schița primită de la agentul scriitorului și folosește instrumentul de scriere a fișierelor pentru a salva fișierul cu un nume de fișier adecvat.
Acesta este fluxul de lucru general pentru crearea de agenți AI colaborativi cu CrewAI. Puteți asocia alte instrumente Langchain sau puteți crea instrumente personalizate cu indicații eficiente pentru a îndeplini sarcini mai complexe.
Iată depozitul GitHub pentru coduri: sunilkumardash9/ContentWritingAgents.
Replicare depozit: Sunil-KumarKu17/CollborativeAIAgent
Cazuri de utilizare din lumea reală
Agenții AI autonomi pot avea o mulțime de cazuri de utilizare. De la asistenți personali la instructori virtuali. Iată câteva cazuri de utilizare ale agenților AI.
- Asistent personal AI: Asistenții personali vor fi o parte integrantă a noastră în curând. Un asistent asemănător Jarvis, care vă prelucrează toate datele, vă oferă o perspectivă pe măsură ce mergeți și gestionează singur sarcinile banale.
- Interpreți de coduri: Interpretul de cod al OpenAI este un exemplu genial de agent AI. Interpretul poate rula orice script Python și poate scoate rezultatele ca răspuns la un prompt text. Acesta este, probabil, cel mai de succes agent de până acum.
- Instructori virtuali: Pe măsură ce tehnologia AI evoluează, ne putem aștepta la instructori virtuali în multe domenii precum educație, formare etc.
- Agent primul software: Un caz potențial de utilizare uriaș al agenților AI este dezvoltarea de software pentru primul agent. În loc să răsfoiască manual și să facă clic pe butoane pentru a finaliza lucrurile, agenții AI le vor realiza automat pe baza comenzilor vocale.
- Calcul spațial: Pe măsură ce tehnologia AR/VR evoluează, agenții AI vor juca un rol crucial în reducerea decalajului dintre lumea virtuală și cea reală.
Concluzie
Suntem încă în fazele incipiente ale dezvoltării agenților AI. În prezent, pentru cel mai bun rezultat posibil de la agenții AI, trebuie să ne bazăm pe GPT-4 și este costisitor. Dar, pe măsură ce modelele open-source ajung la GPT-4, vom obține opțiuni mai bune pentru a rula agenți AI în mod eficient, la un cost rezonabil. Pe de altă parte, cadrele pentru dezvoltarea agenților progresează rapid. Pe măsură ce avansăm, cadrele vor permite agenților să efectueze sarcini și mai complexe.
Intrebari cu cheie
- Agenții AI valorifică capacitatea de raționament a LLM pentru a selecta instrumentele adecvate pentru a îndeplini sarcini complexe.
- CrewAI este un cadru open-source pentru construirea de agenți AI colaborativi.
- Caracteristica unică a CrewAI include agenți bazați pe roluri, delegare autonomă între agenți și management flexibil al sarcinilor.
- CrewAI se integrează perfect cu ecosistemul Langchain existent. Putem folosi instrumente Langchain și integrări LLM cu CrewAI.
Întrebări Frecvente
A. Agenții AI sunt programe software care interacționează cu mediul lor, iau decizii și acționează pentru a atinge un obiectiv final.
R. Acest lucru depinde de cazurile de utilizare și de buget. GPT 4 este cel mai capabil, dar mai scump, în timp ce modelele GPT 3.5, Mixtral și Gemini Pro sunt mai puțin calificate, dar rapide și ieftine.
A. CrewAI este un cadru open-source pentru orchestrarea jocurilor de rol și a agenților AI autonomi. Ajută la crearea de agenți AI colaborativi pentru a îndeplini cu ușurință obiective complexe.
A. CrewAI oferă o abstractizare la nivel înalt pentru construirea de agenți AI colaborativi pentru fluxuri de lucru complexe.
A. În Autogen, orchestrarea interacțiunilor agenților necesită programare suplimentară, care poate deveni complexă și greoaie pe măsură ce scara sarcinilor crește.
Media prezentată în acest articol nu este deținută de Analytics Vidhya și este utilizată la discreția Autorului.
Legate de
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- Sursa: https://www.analyticsvidhya.com/blog/2024/01/building-collaborative-ai-agents-with-crewai/
- :are
- :este
- :nu
- :Unde
- $UP
- 10
- 11
- 16
- 8
- a
- Despre Noi
- mai sus
- abstracție
- acceptă
- realiza
- realizarea
- Obține
- act
- Acțiune
- acțiuni
- adăuga
- adăugat
- Suplimentar
- Adult
- Agent
- agenţi
- AI
- TOATE
- de asemenea
- an
- analiză
- analist
- Google Analytics
- Analize Vidhya
- analiza
- și
- O alta
- răspunde
- Orice
- aplicatii
- adecvat
- AR / VR
- SUNT
- discutabil
- articol
- AS
- alocate
- Asistent
- asistenți
- asociate
- asuma
- At
- spori
- augmented
- autor
- automatizarea
- în mod automat
- autonom
- evita
- bazat
- BE
- deveni
- înainte
- CEL MAI BUN
- Mai bine
- între
- blogathon
- plan
- Manuale
- punte
- genial
- Navigare
- buget
- construi
- Clădire
- dar
- butoane
- by
- denumit
- CAN
- capabil
- Capacitate
- captivant
- caz
- cazuri
- Captură
- Categorii
- lanţ
- provocare
- ieftin
- clasă
- cod
- Coduri
- COERENT
- colabora
- colaborativ
- vine
- comentarii
- convingătoare
- poveste convingătoare
- complex
- se conforma
- cuprinzător
- conţinut
- Redactarea conținutului
- conținut
- context
- Convenții
- corecta
- A costat
- crea
- creează
- Crearea
- Creator
- echipaj
- crucial
- greoaie
- Curent
- În prezent
- personalizat
- Liniuţă
- de date
- Data
- Deciziile
- Mod implicit
- defini
- definit
- delegare
- se îngropa
- dependențe
- depinde de
- proiectat
- detaliat
- Dezvoltare
- diferenţă
- diferit
- discreție
- discuta
- discutarea
- do
- don
- făcut
- proiect
- dinamic
- e
- fiecare
- Devreme
- uşura
- cu ușurință
- ecosistem
- editare
- editor
- Educaţie
- în mod eficient
- eficient
- eficient
- permite
- capăt
- Mediu inconjurator
- eroare
- etc
- Eter (ETH)
- Chiar
- evoluează
- exemplu
- Excel
- Cu excepția
- excepție
- executat
- execuție
- existent
- aștepta
- se așteaptă
- scump
- experienţă
- cu experienţă
- extensie
- FANTEZIE
- FAST
- Caracteristică
- DESCRIERE
- puțini
- Ficţiune
- Domenii
- Fișier
- final
- În cele din urmă
- First
- flexibil
- Pentru
- format
- Înainte
- Cadru
- cadre
- din
- Frontiere
- Complet
- complet
- funcţie
- funcțional
- decalaj
- zodia Gemeni
- General
- generaţie
- gest
- obține
- GitHub
- Da
- dat
- Go
- scop
- Goluri
- merge
- creste
- mână
- Mânere
- Avea
- ajută
- aici
- la nivel înalt
- capotă
- cea mai tare
- Totuși
- HTTPS
- mare
- i
- idee
- idei
- if
- implementarea
- import
- in
- include
- Inclusiv
- informații
- Infrastructură
- inițială
- Inovaţie
- intrare
- înţelegere
- instala
- in schimb
- integrală
- integreaza
- integrare
- integrările
- interacţiona
- interacţiuni
- Internet
- în
- IT
- ESTE
- în sine
- jargon
- jpg
- Cheie
- Kicks
- Cunoaște
- Kumar
- limbă
- mare
- Lungime
- mai puțin
- Permite
- Pârghie
- Bibliotecă
- ca
- mic
- local
- log
- Uite
- Lot
- Principal
- face
- administrare
- manual
- multe
- Hartă
- mijloace
- Mass-media
- metodă
- minte
- greşeli
- model
- Modele
- mai mult
- cele mai multe
- muta
- mergi inainte
- mult
- trebuie sa
- Numit
- născând
- navigând
- Nevoie
- necesar
- următor
- caiet
- acum
- NYT
- observa
- of
- de pe
- on
- dată
- ONE
- open-source
- OpenAI
- Operațiuni
- Opţiuni
- or
- orchestrând
- comandă
- OS
- Altele
- al nostru
- Rezultat
- producție
- deţinute
- pereche
- parte
- piese
- cale
- efectua
- personal
- fază
- imagine
- ţeavă
- Planurile
- Plato
- Informații despre date Platon
- PlatoData
- Joaca
- Punct
- puncte
- posibil
- potenţial
- Pregăti
- pregătirea
- Pro
- procese
- Programare
- Programe
- progresează
- proiect
- solicitări
- furnizează
- publicat
- Piton
- calificat
- calitate
- repede
- real
- lumea reală
- realiza
- rezonabil
- primit
- se bazează
- Renumit
- depozit
- reprezentare
- reprezentând
- Cerinţe
- Necesită
- respectiv
- răspuns
- responsabil
- rezultat
- REZULTATE
- reveni
- dreapta
- Rol
- Joc de rol
- rolurile
- norme
- Alerga
- funcţionare
- Economisiți
- Scară
- Sci-Fi
- Ştiinţă
- scenariu
- perfect
- selecta
- SELF
- distinct
- Distribuie
- să
- indicat
- asemănător
- singur
- Instantaneu
- So
- Software
- de dezvoltare de software
- unele
- Curând
- specific
- SQL
- Etapă
- Stadiile
- Pas
- Încă
- Istorii
- Poveste
- Şir
- subtitrari
- de succes
- potrivit
- sigur
- apare
- sisteme
- T
- Sarcină
- sarcini
- echipă
- tech
- Terminal
- a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match.
- acea
- lor
- Lor
- Acestea
- ei
- lucru
- lucruri
- acest
- trei
- Prin
- ori
- Titlu
- la
- instrument
- Unelte
- Pregătire
- Traducere
- încerca
- Două
- în
- înţelege
- unic
- caracteristici unice
- us
- utilizare
- carcasa de utilizare
- Cazuri de utilizare ale AI
- utilizat
- util
- Utilizator
- utilizări
- folosind
- versat
- Virtual
- Voce
- comenzi vocale
- W
- vrea
- a fost
- modalități de
- we
- web
- WebP
- BINE
- Ce
- Ce este
- cand
- care
- în timp ce
- voi
- cu
- martor
- cuvinte
- flux de lucru
- fluxuri de lucru
- lume
- ar
- scrie
- scriitor
- scris
- scris
- ani
- tu
- Ta
- zephyrnet