Skip to content

Commit

Permalink
AI Agents Masterclass #6 - RAG AI Agent
Browse files Browse the repository at this point in the history
  • Loading branch information
coleam00 committed Aug 2, 2024
1 parent 2914135 commit bf8d518
Show file tree
Hide file tree
Showing 10 changed files with 639 additions and 1 deletion.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
__pycache__
prep
.env
.env
chroma_db
34 changes: 34 additions & 0 deletions 6-rag-task-agent/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Rename this file to .env once you have filled in the below environment variables!

# Get your Open AI API Key by following these instructions -
# https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key
# You only need this environment variable set if you set LLM_MODEL to a GPT model
OPENAI_API_KEY=

# Get your Anthropic API Key in your account settings -
# https://console.anthropic.com/settings/keys
# You only need this environment variable set if you set LLM_MODEL to a Claude model
ANTHROPIC_API_KEY=

# See all Open AI models you can use here -
# https://platform.openai.com/docs/models
# And all Anthropic models you can use here -
# https://docs.anthropic.com/en/docs/about-claude/models
# A good default to go with here is gpt-4o or claude-3-5-sonnet-20240620
LLM_MODEL=gpt-4o

# The absolute or relative path to the folder that has all the files for retrieval for RAG
# If using a relative path, the path is relative to the directoy containing this .env.example file
DIRECTORY=meeting_notes

# Get your personal Asana access token through the developer console in Asana.
# Feel free to follow these instructions -
# https://developers.asana.com/docs/personal-access-token
ASANA_ACCESS_TOKEN=

# The Asana workspace ID is in the URL when you visit your Asana Admin Console (when logged in).
# Go to the URL "https://app.asana.com/admin" and then your workspace ID
# will appear in the URL as a slew of digits once the site loads.
# If your URL is https://app.asana.com/admin/987654321/insights, then your
# Asana workspace ID is 987654321
ASANA_WORKPLACE_ID=
Binary file added 6-rag-task-agent/meeting_notes/2024-07-18.pdf
Binary file not shown.
Binary file added 6-rag-task-agent/meeting_notes/2024-07-19.pdf
Binary file not shown.
71 changes: 71 additions & 0 deletions 6-rag-task-agent/meeting_notes/2024-07-20.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
Meeting Notes
Date: July 20, 2024
Time: 11:00 AM - 12:30 PM
Location: Conference Room C, Gaming HQ

Attendees:

Alex Thompson (CEO)
Maria Rodriguez (CTO)
Jamie Lee (Lead Game Designer)
Sam Patel (Marketing Director)
Chris Martin (Project Manager)
Tina Nguyen (Lead Programmer)
Emily Carter (HR Manager)
Michael Harris (QA Lead)
Laura Bennett (Finance Manager)
Agenda:

Financial Review and Budget Allocation
Progress Update on Technical Issues
Marketing Campaign for Upcoming Beta
Team Building and Morale Boosting Initiatives
Community Event Planning
AOB (Any Other Business)
1. Financial Review and Budget Allocation:

Laura Bennett: Presented the financial report for Q2:
Revenue exceeded projections by 15% due to the success of "Dragon's Quest."
Proposed budget allocation for the next quarter, prioritizing new hires, marketing campaigns, and technical upgrades.
Discussion: Team agreed to allocate additional funds towards the marketing campaign for the "Space Rangers" beta and the development of "Cyber Warriors."
2. Progress Update on Technical Issues:

Tina Nguyen: Provided an update on the technical issues:
Memory leak problems in "Space Rangers" have been resolved.
Server stability has improved, with a new load-balancing system implemented.
Feedback:
Maria Rodriguez: Suggested conducting a stress test next week to ensure server robustness before the beta release.
Michael Harris: Confirmed that QA will schedule and oversee the stress test.
3. Marketing Campaign for Upcoming Beta:

Sam Patel: Detailed the marketing campaign strategy for the "Space Rangers" beta:
Teaser trailers and gameplay videos to be released over the next two weeks.
Social media countdown to the beta launch, with daily posts and interactive content.
Collaboration with influencers to generate hype and attract beta testers.
Discussion: Team brainstormed additional promotional activities, such as a beta launch livestream and exclusive in-game rewards for beta participants.
4. Team Building and Morale Boosting Initiatives:

Emily Carter: Presented proposals for boosting team morale:
Scheduled a team-building retreat for the first week of August.
Implementing flexible working hours starting next week.
Organizing monthly social events to foster a positive work environment.
Feedback:
Alex Thompson: Emphasized the importance of maintaining a healthy work-life balance and encouraged team members to take advantage of the new initiatives.
5. Community Event Planning:

Jamie Lee: Discussed plans for the community event:
Proposed an in-game tournament with prizes for the top players.
Suggested holding a live Q&A session with the development team to engage with the community directly.
Sam Patel: Agreed to coordinate the event and manage logistics, with a tentative date set for mid-August.
6. AOB (Any Other Business):

Alex Thompson: Reminded everyone to submit their presentation proposals for the industry conference by the end of the month.
Laura Bennett: Announced the approval of the budget for the new office in Berlin, with plans to start operations in September.
Next Meeting: Scheduled for August 5, 2024.
Action Items:

Laura Bennett: Finalize budget allocations and distribute funds as agreed.
Tina Nguyen: Conduct a stress test for the "Space Rangers" servers next week and report results.
Sam Patel: Implement the marketing campaign for the beta and coordinate the community event.
Emily Carter: Organize the team-building retreat and implement flexible working hours policy.
Meeting Adjourned at 12:30 PM.
71 changes: 71 additions & 0 deletions 6-rag-task-agent/meeting_notes/2024-07-21.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
Meeting Notes
Date: July 21, 2024
Time: 10:00 AM - 11:30 AM
Location: Conference Room D, Gaming HQ

Attendees:

Alex Thompson (CEO)
Maria Rodriguez (CTO)
Jamie Lee (Lead Game Designer)
Sam Patel (Marketing Director)
Chris Martin (Project Manager)
Tina Nguyen (Lead Programmer)
Emily Carter (HR Manager)
Michael Harris (QA Lead)
Sarah Walker (Customer Support Manager)
Agenda:

Review of Previous Action Items
Customer Support Enhancements
Final Preparations for "Space Rangers" Beta
"Cyber Warriors" Concept Feedback
Recruitment Status and Onboarding Plans
AOB (Any Other Business)
1. Review of Previous Action Items:

Laura Bennett: Confirmed budget allocations are completed, with funds distributed to marketing and development.
Tina Nguyen: Reported the stress test for "Space Rangers" servers is scheduled for the upcoming Monday.
Sam Patel: Provided updates on the marketing campaign rollout, with teaser trailers receiving positive engagement.
Emily Carter: Confirmed the team-building retreat is booked, and flexible working hours policy is now in effect.
2. Customer Support Enhancements:

Sarah Walker: Presented the current state of customer support:
Average response time reduced by 20%.
Feedback from players highlighted the need for more detailed FAQ sections and video tutorials.
Discussion:
Maria Rodriguez: Suggested integrating a chatbot to handle common queries and free up support agents for complex issues.
Chris Martin: Agreed to prioritize the development of a chatbot and assign a team for its implementation.
3. Final Preparations for "Space Rangers" Beta:

Chris Martin: Outlined the final checklist for the beta launch:
Ensure all beta testers receive their access codes and instructions by July 25, 2024.
Conduct a final internal review of the game build.
Schedule a pre-beta meeting with the QA team to address any last-minute issues.
Michael Harris: Confirmed QA will be on standby during the beta launch to handle any critical bugs or crashes.
4. "Cyber Warriors" Concept Feedback:

Jamie Lee: Shared findings from the market research for "Cyber Warriors":
Strong interest in the game's concept, especially the unique multiplayer feature.
Suggested conducting focus groups to gather more detailed feedback and refine the storyline.
Feedback:
Alex Thompson: Approved moving forward with focus groups and emphasized the need for a comprehensive development plan.
5. Recruitment Status and Onboarding Plans:

Emily Carter: Updated on the recruitment process:
Two senior developers and one UX/UI designer have accepted offers and will start next month.
Onboarding plans include a comprehensive orientation program and assigning mentors to new hires.
Discussion:
Tina Nguyen: Highlighted the importance of quickly integrating new team members into ongoing projects to maintain momentum.
6. AOB (Any Other Business):

Alex Thompson: Reminded the team about the upcoming industry conference and the importance of networking and learning from peers.
Sarah Walker: Proposed monthly training sessions for the customer support team to keep them updated on game features and best practices.
Next Meeting: Scheduled for August 6, 2024.
Action Items:

Sarah Walker: Implement enhancements to the customer support system, including the development of a chatbot.
Chris Martin: Finalize preparations for the "Space Rangers" beta and coordinate with the QA team.
Jamie Lee: Organize focus groups for "Cyber Warriors" and gather detailed feedback.
Emily Carter: Ensure smooth onboarding for new hires and facilitate their integration into projects.
Meeting Adjourned at 11:30 AM.
78 changes: 78 additions & 0 deletions 6-rag-task-agent/meeting_notes/2024-07-22.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
Meeting Notes
Date: July 22, 2024
Time: 3:00 PM - 4:30 PM
Location: Conference Room E, Gaming HQ

Attendees:

Alex Thompson (CEO)
Maria Rodriguez (CTO)
Jamie Lee (Lead Game Designer)
Sam Patel (Marketing Director)
Chris Martin (Project Manager)
Tina Nguyen (Lead Programmer)
Emily Carter (HR Manager)
Michael Harris (QA Lead)
Laura Bennett (Finance Manager)
David King (Art Director)
Agenda:

Review of Previous Action Items
Art and Design Updates
Server Stress Test Preparation
Marketing Metrics and Adjustments
Focus Group Planning for "Cyber Warriors"
AOB (Any Other Business)
1. Review of Previous Action Items:

Sarah Walker: Implementing the chatbot has begun, with an expected rollout in two weeks.
Chris Martin: Final preparations for "Space Rangers" beta are on track, with beta access codes ready to be distributed.
Jamie Lee: Scheduled focus groups for "Cyber Warriors" to begin next week.
Emily Carter: Onboarding process for new hires has been finalized, with mentors assigned.
2. Art and Design Updates:

David King: Presented updates on art and design:
New character models for "Cyber Warriors" are 50% complete.
Concept art for the "Mystic Adventures" expansion pack has been finalized and is ready for review.
Feedback:
Jamie Lee: Suggested incorporating more diverse character designs to appeal to a broader audience.
Maria Rodriguez: Recommended scheduling regular review sessions to ensure art and design align with the overall vision of the games.
3. Server Stress Test Preparation:

Tina Nguyen: Outlined the plan for the server stress test:
Scheduled for Monday, July 24, 2024.
Will simulate peak user loads to identify potential issues.
QA team will monitor performance and log any anomalies.
Discussion:
Michael Harris: Confirmed QA team is prepared and ready to support the stress test.
Alex Thompson: Emphasized the importance of ensuring server stability before the beta launch.
4. Marketing Metrics and Adjustments:

Sam Patel: Shared metrics from the current marketing campaign:
Teaser trailers for "Space Rangers" have received high engagement.
Social media interactions have increased by 30% since the campaign launch.
Feedback:
Laura Bennett: Suggested reallocating part of the budget towards more targeted ads to maximize reach.
Sam Patel: Agreed and proposed additional influencer partnerships to maintain momentum.
5. Focus Group Planning for "Cyber Warriors":

Jamie Lee: Provided details on the focus groups:
First session scheduled for July 28, 2024.
Participants selected from a diverse demographic to gather comprehensive feedback.
Focus will be on storyline, gameplay mechanics, and character customization.
Discussion:
Chris Martin: Suggested recording the sessions for detailed analysis and future reference.
Maria Rodriguez: Recommended involving the UX/UI team to gain insights on user experience.
6. AOB (Any Other Business):

Alex Thompson: Announced that the Berlin office is now fully operational, with a team ready to support European operations.
Emily Carter: Proposed a wellness program for employees, including yoga sessions and mental health resources.
Next Meeting: Scheduled for August 8, 2024.
Action Items:

David King: Finalize character models and concept art, and schedule regular review sessions.
Tina Nguyen: Execute the server stress test and report findings.
Sam Patel: Adjust marketing strategy based on metrics and explore additional influencer partnerships.
Jamie Lee: Conduct focus groups for "Cyber Warriors" and ensure UX/UI team involvement.
Emily Carter: Implement the wellness program and promote it among employees.
Meeting Adjourned at 4:30 PM.
35 changes: 35 additions & 0 deletions 6-rag-task-agent/rag-document-loader.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
from langchain_community.embeddings.sentence_transformer import SentenceTransformerEmbeddings
from langchain_community.document_loaders import DirectoryLoader
from langchain_text_splitters import CharacterTextSplitter
from langchain_chroma import Chroma
from dotenv import load_dotenv
import os

load_dotenv()

rag_directory = os.getenv('DIRECTORY', 'meeting_notes')

def load_documents(directory):
# Load the PDF or txt documents from the directory
loader = DirectoryLoader(directory)
documents = loader.load()

# Split the documents into chunks
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
docs = text_splitter.split_documents(documents)

return docs

def main():
# Get the documents split into chunks
docs = load_documents(rag_directory)

# Create the open-source embedding function
embedding_function = SentenceTransformerEmbeddings(model_name="all-MiniLM-L6-v2")

# Load the documents into Chroma and save it to the disk
Chroma.from_documents(docs, embedding_function, persist_directory="./chroma_db")


if __name__ == "__main__":
main()
Loading

0 comments on commit bf8d518

Please sign in to comment.