Inspiration
Many conversational AIs either repeat themselves, stray off-topic, or insist on responses, making conversations frustrating. I wanted to build an AI that respects context, encourages reflection, and guides thoughtful exploration without overwhelming the user.
Ouroboros was inspired by the idea of a calm, persistent guide that learns from interactions while staying grounded in verified knowledge. Instead of treating AI as a machine that must always answer, Ouroboros explores the possibility of human-centered conversational AI that respects silence, topic shifts, and curiosity.
What it does
Ouroboros is a context-aware conversational AI guide that helps users explore ideas thoughtfully while staying grounded in knowledge.
It uses Amazon Nova 2 foundation models through Amazon Bedrock combined with a retrieval-augmented generation (RAG) approach. Before generating a response, Ouroboros retrieves relevant information from a knowledge base, ensuring answers remain accurate and focused.
Key capabilities include:
- Using a private knowledge base to provide accurate, grounded responses
- Tracking conversation history to avoid repeating questions
- Respecting user silence or topic changes naturally
- Avoiding straying into off-topic or unknown subjects
- Maintaining a calm and reflective conversational tone
How I built it
Ouroboros combines foundation models with structured conversation logic and knowledge retrieval.
- AI Model: Amazon Nova 2 via Amazon Bedrock powers reasoning and dialogue generation
- Architecture: Retrieval-Augmented Generation (RAG) to ground responses in knowledge
- Backend: FastAPI application managing sessions, history, and user state
- Cloud Infrastructure: Hosted on Amazon EC2
- Memory tracking: Python dictionaries track which topics have been discussed
- Knowledge retrieval: Bedrock Knowledge Base integration retrieves relevant information before response generation
- Instruction tuning: Custom system prompts enforce natural, context-aware conversation and prevent repetition
Example logic rule used in the system:
[ \text{If user_history = \emptyset, respond with “No prior history” and store it as valid context.} ]
This combination allows Ouroboros to remain knowledge-grounded while maintaining conversational continuity.
Challenges I ran into
- Balancing openness and restriction: Ensuring Ouroboros could explore ideas without hallucinating or inventing knowledge
- Memory edge cases: Handling empty histories, repeated topics, and session interruptions
- Instruction tuning: Translating human conversational norms into system prompts that the model reliably follows
- Conversation control: Preventing the AI from over-talking while still maintaining helpful dialogue
Accomplishments that I'm proud of
- Built a conversational AI that feels calm, reflective, and natural
- Successfully implemented context tracking to prevent repeated questions
- Integrated Amazon Nova 2 with a knowledge-grounded RAG architecture
- Ensured the AI stays focused and avoids hallucinated information
- Created a conversational system that respects user interaction patterns, including silence and topic shifts
What I learned
Building Ouroboros reinforced several important lessons about AI systems:
- I learned how to use a suite of Amazon tools to build my first AI application, including Amazon Bedrock, Nova foundation models, and EC2 cloud infrastructure
- Precise instructions often shape AI behavior more than code
- Memory and context management are essential for coherent dialogue
- Grounding models with retrieval systems reduces hallucinations
- Small UX improvements—like acknowledging silence or topic changes—can significantly improve the user experience
What's next for Ouroboros
Next steps focus on expanding the system's capabilities while maintaining thoughtful conversation design:
- Expand the knowledge base for broader and deeper domain coverage
- Improve longer-term context retention and multi-turn reasoning
- Introduce user personalization and adaptive conversational styles
- Explore integrations with additional AI tools to support richer knowledge exploration
- Experiment with structured memory systems to make conversations more context-aware over time
P/S: I lost more than three weeks getting stuck with AWS permissions, metadata retrieval logic and how to create a Nova automated greeting on load without passing user as “user” — wish I had more time tweaking instructions. P/P/S: The website isn’t mobile-friendly at the moment.
Built With
- amazon-ec2
- amazon-web-services
- bedrock
- css
- fastapi
- html
- javascript
- nova
- nova2
- python
- s3
- uvicorn
Log in or sign up for Devpost to join the conversation.