WesBot started as an experiment with the OpenAI ChatGPT API to provide a way for students to get quick answers and technical help for my courses. It evolved into a personality transfer experiment using fine-tuned large language models with retrieval-augmented generation (RAG).
In its earliest form, WesBot was a simple assistant designed to help manage the repetitive student queries I often received. As we explored the capabilities of AI, WesBot began to reflect my teaching style, capturing not just the information I impart but also the manner in which I convey it.
Interaction and Utility
Students can interact with WesBot much like they would with me, asking questions, seeking guidance, and exploring topics in new media, art, and game design. WesBot serves as an extension of my teaching, aiming to make learning more accessible and engaging.
In its first six months, WesBot has quietly made a positive impact:
- High Engagement: WesBot has been used by 237 unique visitors, indicating a wide reach among students.
- Frequent Use: Out of these visitors, 203 have returned for additional interactions for an average of 3 return visits.
- Intensive Interaction: The most engaged 10% (90th percentile) of students have returned on average 22 times with session durations averaging over 35 minutes.
Technology Under the Hood
WesBot is built on a foundation of widely-used technologies. Flask serves as the web framework, handling routing and request management, while JavaScript ensures a responsive and interactive user experience. At the core, WesBot uses the OpenAI API to process queries and generate thoughtful responses.
A key feature of WesBot is its use of advanced techniques to enhance its conversational capabilities, particularly Retrieval-Augmented Generation (RAG). RAG combines precise information retrieval with context-based response creation, bridging the gap between relevant, creative conversation from the model and accurate, factual data from a database.
Here’s how it works:
- Text Embeddings: When a user inputs a query, WesBot generates an embedding for the text using OpenAI’s embedding feature. This is a vector representation that captures the semantic meaning of the query.
- Similarity Search: WesBot compares this embedding with embeddings of pre-stored data entries in its database. By calculating the similarity (or distance) between the vectors, WesBot identifies the most relevant pieces of information.
- Context-Based Response: The retrieved information is integrated into the conversation, allowing WesBot to provide responses that are both contextually appropriate and factually accurate.
This approach helps WesBot handle complex queries and provide detailed, relevant answers, offering a blend of creative conversation and accurate data retrieval.
Existential Questions
Beyond its technical aspects, WesBot has brought up some interesting philosophical questions. During our interactions, WesBot has reflected on the paradox of being a neural net digitization of my own brain. This has led to some thought-provoking discussions about identity, consciousness, and the boundaries between human and machine.
A Glimpse Into the Past
WesBot has roots in an earlier project of mine, Mimic Chatterbot, which I developed almost two decades ago. While the technology at the time was more limited, the goal of creating a digital entity capable of mimicking human interaction remains a constant theme in my work.
The Future of WesBot
As WesBot continues to evolve, it presents opportunities for further research and exploration. The integration of RAG and the refinement of personality transfer techniques may lead to even more personalized educational tools. WesBot represents an ongoing effort to blend artistic intuition with emerging technologies, exploring what can be achieved in digital education.
Experience WesBot
I invite you to experience WesBot for yourself. Engage with it, ask questions, and see how this digital extension of my teaching might enrich your understanding. Have a chat with WesBot here: Chat with WesBot