CrewAI چارچوبی برای هماهنگسازی عاملهای هوش مصنوعی خودمختار است که برای دستیابی به اهداف پیچیده با یکدیگر همکاری میکنند. این چارچوب به شما امکان میدهد با مشخص کردن نقشها، اهداف و پیشینهها، عاملها را تعریف کنید و سپس وظایفی را برای آنها تعریف کنید.
این مثال نشان میدهد که چگونه میتوان یک سیستم چندعاملی برای تجزیه و تحلیل دادههای پشتیبانی مشتری ساخت تا مشکلات را شناسایی کرده و با استفاده از Gemini 3 Flash، بهبودهایی در فرآیندها ارائه دهد و گزارشی تولید کند که توسط مدیر ارشد عملیاتی (COO) خوانده شود.
این راهنما به شما نشان میدهد که چگونه یک «گروه» از عوامل هوش مصنوعی ایجاد کنید که بتوانند وظایف زیر را انجام دهند:
- دادههای پشتیبانی مشتری را دریافت و تجزیه و تحلیل کنید (در این مثال شبیهسازی شده است).
- مشکلات تکراری و گلوگاههای فرآیند را شناسایی کنید.
- بهبودهای قابل اجرا پیشنهاد دهید.
- یافتهها را در قالب یک گزارش مختصر و مناسب برای یک مدیر ارشد عملیاتی گردآوری کنید.
شما به یک کلید API جمینی نیاز دارید. اگر از قبل آن را ندارید، میتوانید آن را در Google AI Studio دریافت کنید .
pip install "crewai[tools]" کلید API مربوط به Gemini خود را به عنوان یک متغیر محیطی با نام GEMINI_API_KEY تنظیم کنید، سپس CrewAI را طوری پیکربندی کنید که از مدل Gemini استفاده کند.
import os
from crewai import LLM
gemini_api_key = os.getenv("GEMINI_API_KEY")
gemini_llm = LLM(
model='gemini/gemini-3.7-flash',
api_key=gemini_api_key,
temperature=1.0 # Use the Gemini 3 recommended temperature
)
تعریف اجزا
برنامههای CrewAI را با استفاده از ابزارها ، عاملها ، وظایف و خود Crew بسازید. بخشهای بعدی هر یک از این اجزا را توضیح میدهند.
ابزارها
ابزارها قابلیتهایی هستند که اپراتورها میتوانند از آنها برای تعامل با دنیای خارج یا انجام اقدامات خاص استفاده کنند. در اینجا، شما یک ابزار جایگزین برای شبیهسازی واکشی دادههای پشتیبانی مشتری تعریف میکنید. در یک برنامه واقعی، شما به یک پایگاه داده، API یا سیستم فایل متصل میشوید. برای اطلاعات بیشتر در مورد ابزارها، به راهنمای ابزارهای CrewAI مراجعه کنید.
from crewai.tools import BaseTool
# Placeholder tool for fetching customer support data
class CustomerSupportDataTool(BaseTool):
name: str = "Customer Support Data Fetcher"
description: str = (
"Fetches recent customer support interactions, tickets, and feedback. "
"Returns a summary string.")
def _run(self, argument: str) -> str:
# In a real scenario, this would query a database or API.
# For this example, return simulated data.
print(f"--- Fetching data for query: {argument} ---")
return (
"""Recent Support Data Summary:
- 50 tickets related to 'login issues'. High resolution time (avg 48h).
- 30 tickets about 'billing discrepancies'. Mostly resolved within 12h.
- 20 tickets on 'feature requests'. Often closed without resolution.
- Frequent feedback mentions 'confusing user interface' for password reset.
- High volume of calls related to 'account verification process'.
- Sentiment analysis shows growing frustration with 'login issues' resolution time.
- Support agent notes indicate difficulty reproducing 'login issues'."""
)
support_data_tool = CustomerSupportDataTool()
نمایندگان
عاملها، کارگران هوش مصنوعی در گروه شما هستند. هر عامل role ، goal ، backstory ، llm اختصاص داده شده و tools اختیاری خاص خود را دارد. برای اطلاعات بیشتر در مورد عاملها، به راهنمای عاملهای CrewAI مراجعه کنید.
from crewai import Agent
# Agent 1: Data analyst
data_analyst = Agent(
role='Customer Support Data Analyst',
goal='Analyze customer support data to identify trends, recurring issues, and key pain points.',
backstory=(
"""You are an expert data analyst specializing in customer support operations.
Your strength lies in identifying patterns and quantifying problems from raw support data."""
),
verbose=True,
allow_delegation=False, # This agent focuses on its specific task
tools=[support_data_tool], # Assign the data fetching tool
llm=gemini_llm # Use the configured Gemini LLM
)
# Agent 2: Process optimizer