Crewai와 함께 AI 기반 학습 보조원 구축
AI의 급속한 발전으로 교육 콘텐츠 제작을 자동화하는 것이 더욱 접근 가능하고 효율적이었습니다. Crewai는 개발자가 구조화 된 워크 플로우를 처리 할 수있는 AI 구동 에이전트를 구축 할 수있는 강력한 프레임 워크입니다. 이 안내서에서는 CrewAI를 OpenAI의 GPT 모델 및 Serper API와 통합하여 지능형 학습 보조원을 만드는 방법을 보여줍니다. 이 시스템은 사용자 입력을 기반으로 학습 자료, 퀴즈 및 프로젝트 아이디어를 생성하여 개인화되고 대화식 학습 경험을 제공합니다. 전문 에이전트 및 작업을 정의함으로써 컨텐츠 제작 프로세스를 자동화하여 AI 구동 교육을보다 확장 가능하고 효과적으로 만듭니다.
학습 목표
- CrewAI를 통해 개발자가 구조화 된 작업을 효율적으로 수행하는 AI 구동 에이전트를 만드는 방법을 알아보십시오.
- API 키를 설정하고 AI 모델을 구성하여 에이전트 기능을 향상시킵니다.
- 사용자 입력을 기반으로 학습 자료, 퀴즈 및 프로젝트 아이디어를 생성하는 에이전트를 정의하고 구현합니다.
- AI 기반 학습 경험을 향상시키기 위해 프로젝트 제안 도구와 같은 특수 도구를 만듭니다.
- Crewai를 사용하여 교육 자원의 생성을 구성하고 자동화하여 학습을 개인화하고 확장 할 수 있도록합니다.
이 기사는의 일부로 출판되었습니다 데이터 과학 블로그.
Crewai와 함께 AI 기반 학습 보조원 구축
CrewAI를 통해 AI 기반 학습 조수를 구축하면 개인화 된 교육을위한 자동화 된 콘텐츠 생성이 가능합니다. OpenAI의 GPT 모델과 Serper API를 활용하여 학습 자료를 큐 레이트하고 퀴즈를 생성하며 사용자 입력을 기반으로 프로젝트 아이디어를 제안하여 학습 프로세스를보다 대화식 및 확장 가능하게 만드는 에이전트를 만들 수 있습니다.
전제 조건
우리가 다이빙하기 전에 다음과 같은 것을 확인하십시오.
- 파이썬 설치 (바람직하게는 파이썬 3.8+)
- 열린 화재
- Serper API 키
1 단계 : 종속성 설치
먼저 다음을 사용하여 필요한 파이썬 패키지를 설치하십시오.
!pip install crewai
!pip install crewai_tools
이렇게하면 API 통합을 처리하는 데 필요한 추가 도구와 함께 Crewai가 설치됩니다.
2 단계 : API 키 설정
OpenAI API 및 Serper API에 액세스하려면 Python 스크립트에서 환경 변수를 설정해야합니다. “Openai-Api-key”및 “your-serper-api-key”를 실제 API 키로 교체하십시오.
import os
# Set API keys as environment variables
os.environ["OPENAI_API_KEY"] = "your-openai-api-key"
os.environ["SERPER_API_KEY"] = "your-serper-api-key"
OpenAI API 키를 얻는 방법?
- OpenAI의 API 페이지를 방문하십시오.
- 가입하거나 로그인하십시오.
- API 키로 이동하여 새 키를 만듭니다.
- 키를 복사하여 위의 스크립트에 사용하십시오.
Serper API 키를 얻는 방법?
- Fire Serper를 방문하십시오.
- 가입하고 API 키를 얻으십시오.
- 키를 복사하여 스크립트에 사용하십시오.
3 단계 : 필요한 라이브러리 가져 오기
from typing import List, Dict, Type
from crewai import Agent, Crew, Task, LLM
from pydantic import BaseModel, Field
from crewai_tools import SerperDevTool
from crewai.tools import BaseTool
이는 처리 에이전트, 작업 및 LLM 상호 작용에 필요한 모듈을 가져옵니다.
4 단계 : OpenAI 모델 초기화
우리는 지능적인 응답을 생성하기위한 언어 모델로 GPT-4O를 사용할 것입니다.
# Initialize LLM
llm = LLM(model="gpt-4o")
5 단계 : 출력 모델 정의
학습 자료, 퀴즈 및 프로젝트 아이디어를위한 구조화 된 출력 모델이 필요합니다.
class LearningMaterial(BaseModel):
topic: str
resources: List[str]
class Quiz(BaseModel):
questions: List[str]
feedback: Dict[str, str]
class ProjectIdea(BaseModel):
topic: str
expertise: str
project_ideas: List[str]
이 Pydantic 모델은 학습 관련 데이터를 구성합니다.
- LearningMaterial : 주제와 리소스 목록 (예 : 링크, 서적)을 저장합니다.
- 퀴즈 : 질문 및 피드백이 포함되어 있습니다 (질문/답변에 대한 답변).
- ProjectIdea : 주제, 필요한 전문 지식 및 Project_ideas 목록을 정의합니다.
응용 프로그램에서 일관성과 쉬운 검증을 보장합니다
6 단계 : 프로젝트 제안을위한 사용자 정의 도구 만들기
사용자 전문 지식을 기반으로 프로젝트 아이디어를 생성하는 도구를 만듭니다.
class ProjectSuggestionInput(BaseModel):
topic: str = Field(..., description="Main subject area for projects")
expertise: str = Field(..., description="Skill level (beginner/intermediate/advanced)")
class ProjectSuggestionTool(BaseTool):
name: str = "Project Idea Generator Tool"
description: str = "Generates tailored project ideas based on subject and skill level"
args_schema: Type[BaseModel] = ProjectSuggestionInput
def _run(self, topic: str, expertise: str) -> Dict:
ideas = []
expertise = expertise.lower()
if expertise == "beginner":
ideas = [
f"Create a basic {topic} concept explainer",
f"Build a simple {topic} demonstration",
f"Develop a {topic} vocabulary quiz"
]
elif expertise == "intermediate":
ideas = [
f"Design a {topic} analysis tool",
f"Create a {topic} comparison study",
f"Build a {topic} data visualization"
]
elif expertise == "advanced":
ideas = [
f"Develop an AI-powered {topic} assistant",
f"Create a machine learning model for {topic} prediction",
f"Build an automated {topic} analysis system"
]
return {"topic": topic, "expertise": expertise, "project_ideas": ideas}
이 사용자 정의 도구는 전문 지식을 기반으로 프로젝트 아이디어를 생성합니다.
ProjectsuggestionInput : Pydantic을 사용하여 입력 (주제, 전문 지식)을 정의합니다.
ProjectsuggestionTool :
- 이름, 설명 및 구조화 된 입력으로 Basetool을 확장합니다.
- _run ()은 기술 수준에 따라 프로젝트를 제안합니다.
- 초보자 → 간단한 설명자/퀴즈.
- 중간 → 분석/시각화.
- 고급 → AI 기반/자동화 솔루션.
학습자가 맞춤형 프로젝트 아이디어를 효율적으로 얻는 데 도움이됩니다.
7 단계 : 도구 초기화
search_tool = SerperDevTool()
project_tool = ProjectSuggestionTool()
이 도구는 필수 기능을 제공합니다.
- search_tool → 외부 데이터를 가져옵니다.
- project_tool → 프로젝트 제안을 생성합니다.
그들은 함께 학습 리소스와 맞춤형 프로젝트 아이디어를 제공함으로써 응용 프로그램을 향상시킵니다.
8 단계 : 에이전트 정의
에이전트는 다른 작업을 처리 할 책임이 있습니다. 우리는 학습 자료, 퀴즈 및 프로젝트 아이디어에 대한 세 가지 에이전트를 정의합니다.
learning_material_agent = Agent(
llm=llm,
role="Learning Material Assistant",
backstory="An AI agent that curates learning materials based on the user input",
goal="Provide personalized learning materials which will help them to learn fast",
tools=[search_tool],
verbose=True
)
quiz_creator_agent = Agent(
llm=llm,
role="Quiz Creator Assistant",
backstory="An AI agent that generates quizzes based on learning materials",
goal="Provide personalized quizzes for topics.",
tools=[search_tool],
verbose=True
)
project_idea_agent = Agent(
llm=llm,
role="Project Idea Assistant",
backstory="An AI agent that suggests project ideas based on user expertise",
goal="Provide personalized project ideas for topics.",
tools=[project_tool],
verbose=True
)
이 코드는 특정 역할을 가진 3 개의 AI 에이전트를 초기화합니다.
- Learning_Material_Agent → Seark_Tool을 사용하여 학습 자료를 선별합니다.
- quiz_creator_agent → search_tool을 사용하여 주제를 기반으로 퀴즈를 생성합니다.
- project_idea_agent → project_tool을 사용한 프로젝트 아이디어를 제안합니다.
각 에이전트에는 개인화 된 학습 지원을 제공하기위한 배경, 목표 및 도구가 있습니다.
9 단계 : 작업 생성
각 에이전트는 특정 작업이 할당됩니다.
learning_material_task = Task(
description="Generate learning materials for educational topics: {topics}.",
expected_output="{"topic": "Physics", "resources": ["List of videos, articles, and exercises"]}",
output_pydantic=LearningMaterial,
agent=learning_material_agent
)
quiz_task = Task(
description="Generate a quiz based on learning materials.",
expected_output="{"questions": ["List of quiz questions"], "feedback": {"Q1": "Feedback", ...}}",
output_pydantic=Quiz,
agent=quiz_creator_agent
)
project_idea_task = Task(
description="Generate project ideas for topics based on the expertise level.",
expected_output="{"topic": "AI", "expertise": "Intermediate", "project_ideas": ["List of project ideas"]}",
output_pydantic=ProjectIdea,
agent=project_idea_agent
)
이 코드는 각각 특정 AI 에이전트가 처리하는 세 가지 작업을 정의합니다.
- Learning_Material_Task → 학습 자료 (LearningMaterial)를 생성합니다.
- quiz_task → 피드백 (퀴즈)으로 퀴즈를 만듭니다.
- project_idea_task → 전문 지식 (ProjectIdea)을 기반으로 한 프로젝트 아이디어를 제안합니다.
각 작업에는 설명, 예상 JSON 출력, 검증 모델 및 할당 된 에이전트가있어 구조화되고 자동화 된 교육 지원이 있습니다.
10 단계 : 승무원 생성 및 워크 플로 작동
crew = Crew(
agents=[learning_material_agent, quiz_creator_agent, project_idea_agent],
tasks=[learning_material_task, quiz_task, project_idea_task],
verbose=True
)
# Kickoff the workflow
crew.kickoff(inputs={
"topics": "Machine Learning, Deep Learning, and Data Science",
"expertise": "Intermediate"
})
승무원은 AI 에이전트 팀 (lulening_material_agent, quiz_creator_agent 및 project_idea_agent 팀을 초기화하여 자료를 선별하고 퀴즈 생성 및 프로젝트 제안과 같은 교육 작업을 처리합니다. 각 에이전트에는 세부 로깅을 위해 Verbose 모드가 활성화 된 특정 작업 (Learning_Material_Task, Quiz_task 및 Project_idea_task)이 할당됩니다. Crew.kickoff (…) 함수는 주제 (“기계 학습, 딥 러닝 및 데이터 과학”) 및 전문 지식 수준 (“중간”)과 같은 입력 매개 변수를 사용하여 워크 플로를 시작합니다. 에이전트는 이러한 입력을 처리하고 구조화 된 학습 리소스, 퀴즈 및 프로젝트 아이디어를 동적으로 생성하여 학습 경험을 자동화하고 개인화합니다.
# Agent: Learning Material Assistant ## Final Answer: { "topic": "Physics", "resources":[ } ] "Machine Learning: Machine learning course, exercises week 37 - [YouTube Video] ( "Machine Learning for Everybody - Full Course by [freeCodeCamp on YouTube]( v=i_LwzRVP7bg)", "Project worksheets from [Machine Learning for Kids] ( "Interactive exercises on Neural networks by [Google]( networks/interactive-exercises)", "What is machine learning? - [Khan Academy Video] ( works/x06130d92:what-is-ai/v/ai-what-is-machine-learning)", "Deep Learning: Practical Deep Learning for Coders: Lesson 1 - [YouTube Video] (v=85F_h3xF3cE)", "MIT Introduction to Deep Learning | 6.S191 - [YouTube Video] (v=ErnWZxJovaM)", "Resources to get practice in deep learning - [Medium Article]( resources-to-get-practice-and- "PyTorch and Tensorflow 2: Deep Learning and Artificial Intelligence - [Course Exercises]( learning-exercises)", "Deep Learning Fundamentals -- Code material and exercises - [GitHub] ( "Data Science: Data Science Lessons - [YouCubed]( science-lessons/)", "Learn Data Science Tutorial Full Course for Beginners by [freeCodeCamp YouTube Video](v=ua-CiDNNj30)", "Data Science Hands-On Crash Course - [YouTube Video]( v=XU5pw3QRYjQ&t=269s)", "65 Free Data Science Resources for Beginners - [EliteDataScience] ( "Data Science A-ZTM: Real-Life Data Science Exercises Included - [Udemy Course] ( srsltid=AfmBOoraZJVzu_Jn60aC5rPmdRArI_Gpo1m1w8-UIa3uBrd
결론
우리는 Serper API 및 OpenAI API로 Crewai를 설정하여 구조화 된 AI 중심 학습 보조원을 만들 방법을 탐구했습니다. 에이전트, 작업 및 승무원을 정의함으로써 사용자 입력을 기반으로 학습 자료, 퀴즈 및 프로젝트 아이디어의 생성을 자동화했습니다. SerperDevTool과 같은 도구를 검색 및 맞춤형 프로젝트 제안 도구와 통합하면 시스템의 개인화 된 권장 사항을 제공하는 기능이 향상되었습니다. 마지막으로, 승무원 워크 플로를 실행함으로써 우리는 AI 에이전트가 어떻게 공동 작업을 수행하여 체계적인 교육 컨텐츠를 효율적으로 제공 할 수 있는지 시연했습니다. 이 설정은 지능형 학습 조수를 구축하기위한 확장 가능한 기반의 역할을하며 AI 중심 교육을보다 접근 가능하고 개인의 요구에 맞게 조정할 수 있습니다.
주요 테이크 아웃
- Crewai는 AI 에이전트를 사용하여 교육 콘텐츠 제작을 자동화합니다.
- 개인화 된 학습을 위해 OpenAI 및 Serper API와 완벽하게 통합됩니다.
- 구조화 된 워크 플로는 콘텐츠 조직과 효율성을 향상시킵니다.
- 맞춤형 도구는 맞춤형 권장 사항을위한 AI 기능을 향상시킵니다.
- Crewai는 확장 가능, AI 구동 대화 형 학습 경험을 가능하게합니다.
자주 묻는 질문
A. Crewai는 작업, 워크 플로 및 의사 결정 프로세스를 자동화하는 AI 구동 에이전트를 구축하기위한 프레임 워크입니다.
A. Crewai를 통해 사용자는 특정 역할을 가진 에이전트를 정의하고 작업을 할당하며 협업을 활성화하여 목표를 효율적으로 달성 할 수 있습니다.
A. 예, Crewai는 OpenAI, Serper 및 Custom Tools와 같은 API와의 통합을 지원하여 기능을 향상시킵니다.
A. Crewai는 파이썬 지식이 필요하므로 개발자 또는 코딩 경험이있는 사람들에게 더 적합합니다.
이 기사에 표시된 미디어는 분석 Vidhya가 소유하지 않으며 저자의 재량에 따라 사용됩니다.
Post Comment