Closed pr-pilot-ai[bot] closed 3 months ago
/pilot we've decided we want to use Crew AI for this module. Read the page, read issue #1 and come up with a plan for how we can create a set of agents that - given a question to answer - does the research and creates documents describing the answer
I've created a plan for integrating Crew AI into our project to create a set of agents capable of performing research and generating documents. The plan outlines steps for integration, agent design, data collection, analysis, document generation, testing, and iterative improvement. You can find the detailed plan in the newly created issue: #27 Plan for Integrating Crew AI to Create Research and Document Generation Agents.
📋Task Log
/pilot Find a tutorial to understand what code to write in order to create agents with Crew AI. then design two agents - one for managing the question backlog, the other one for doing the research. write the code in ai_operations.py
Based on the information gathered from the Crew AI GitHub repository and the requirements specified in the issue, I will now design two agents for the ai_operations.py
module. One agent will manage the question backlog, and the other will conduct research. Since I don't have direct access to the Crew AI documentation or tutorials, I'll base the design on common practices for creating AI agents, focusing on functionality that aligns with the project's goals.
from crewai import Agent, Environment
class QuestionBacklogManager(Agent):
"""
An agent responsible for managing the question backlog.
It prioritizes, organizes, and selects questions for research.
"""
def __init__(self, environment):
super().__init__(environment)
def prioritize_questions(self):
# Implement logic to prioritize questions
pass
def organize_questions(self):
# Implement logic to organize questions
pass
def select_question_for_research(self):
# Implement logic to select the most relevant question for research
pass
class ResearchAgent(Agent):
"""
An agent responsible for conducting research on selected questions.
It gathers information, analyzes data, and generates documents describing the answers.
"""
def __init__(self, environment):
super().__init__(environment)
def gather_information(self, question):
# Implement logic to gather information related to the question
pass
def analyze_data(self, data):
# Implement logic to analyze the gathered data
pass
def generate_document(self, analysis):
# Implement logic to generate a document describing the answer based on the analysis
pass
class AIEnvironment(Environment):
"""
The environment in which the agents operate.
"""
def __init__(self):
super().__init__()
self.questions = []
self.research_data = []
def add_question(self, question):
self.questions.append(question)
def add_research_data(self, data):
self.research_data.append(data)
# Example usage
environment = AIEnvironment()
question_manager = QuestionBacklogManager(environment)
research_agent = ResearchAgent(environment)
# Add a question to the environment
environment.add_question("How can society adapt to AI in the labor market?")
# The question manager organizes and selects a question for research
question_manager.organize_questions()
selected_question = question_manager.select_question_for_research()
# The research agent conducts research on the selected question
research_data = research_agent.gather_information(selected_question)
analysis = research_agent.analyze_data(research_data)
research_agent.generate_document(analysis)
This code provides a basic structure for the two agents within the ai_operations.py
module, utilizing the crewai
library. The QuestionBacklogManager
agent is designed to manage the backlog of questions by prioritizing, organizing, and selecting questions for research. The ResearchAgent
is responsible for conducting research on the selected questions, analyzing data, and generating documents with the findings.
Please note that the actual implementation of methods like prioritize_questions
, gather_information
, and generate_document
would require further development based on specific project requirements and the capabilities of the Crew AI library.
📋Task Log
/pilot OK write the changes to file, make sure the question manager uses the Backlog
class
I've successfully updated the ai_operations.py
file to ensure the QuestionBacklogManager
uses the Backlog
class for managing the question backlog. This change integrates the backlog management functionality directly into the AI operations module, aligning with the project's design requirements.
PR: 🔄 Update ai_operations.py
to use Backlog
class for question backlog management
If you require further changes, continue our conversation over there!
📋Task Log
Module:
ai_operations.py
Purpose
The
ai_operations.py
module utilizes thelangchain
library to perform AI operations. It is responsible for generating new content, analyzing data, or any other AI-driven task relevant to the project.Implementation Strategy
langchain
: Establish a connection to thelangchain
library for AI operations.Acceptance Criteria
langchain
library.Referencing Issue #1 for the overarching project goal and context.