2024-02-12-Project-Planning-Notes
JSM
User Stories for SkellyBot Software
Nightly Tasks
Configure cron jobs to:
Send messages to users
Extract data from a server
Process stored data
Configurable via DMs or as an embed in the server
Vector Store Memory
Add vector store memory to the bot
Set context as part of chat functionality configuration
Data Analysis Jobs
Analyze gathered data from the server
Summarize chats and extract tags
Attach analyses to cron jobs
Data-Based Messaging
Send messages based on data from the server
Run analysis on user data and send reports
Set message duration and frequency through backend or config file system
Developer Perspective on User Stories
Nightly Tasks Implementation
Implement a cron job module in the core process
Trigger independently of any interface
Configuration through Discord
Use slash commands or message context commands
Accept configuration files in JSON or YAML format
Utilize Discord attachment handler for file loading
Cron job module to create and track jobs
Ensure triggering at correct intervals
Vector Store Memory Development
Processing Step
Message processing through AI module for:
Tag extraction
Summarization
Vector embedding
Core database models to include:
Tags
Summaries
Embeddings
Database Integration
Processing assumed to be part of database entry route
Option to trigger processing on the entire database
AI Data Extraction
Extract AI data from messages upon changes
Options for reprocessing:
Immediate for each change
Incremental updates
Utilizing local models for cost efficiency
Retrieval Augmented Generation
Set up retrievers as AI tools
Use large language models to:
Determine context relevance
Generate queries from inputs
Stuff retrieved data into chat context
Track metadata of extracted documents
Include sources in the response to users
Attach retrieval reports to messages in a presentable format
Data Analysis Jobs and Database Messaging
Sending processed data to users, channels, or servers
Types of Analyses
Volume and structure analyses:
Counting messages, characters, tokens, chats, channels, servers
Natural language processing tasks:
Summarizing chats
Extracting tags
Vector store embeddings
Running prompts for data processing
Summarization and Tag Extraction
Raw summarization
Simple analysis tasks with basic prompts
Analyses Requiring Additional Documents
Analyses dependent on external references
Example: Cron job sending feedback to a student based on rubric progress
Evaluate student's conversation and assignment data
Message students about their progress, plan adjustments, or action changes