Epana AI - Personalized Character Imitation Game

Winter 2024, Heidelberg / Hamburg

Epana AI duplicates someones personality within digital space. Built from scratch along with Felix Grenzing.

Brief story behind Epana

Photo from early development dating back to 2023, implementing the sketched architectural planning

Within shortest timespan, LLMs (Large Language Models) have cast a spell over us. On an abstract, generalized level, they empower us all with accelerated skills and experiences.

Today, we easily count tons of specified AI solutions in the world. In contrast, we want to take a personalized approach and create a fun user experience using a dataset that everyone has (and simultaneously nobody but you).

I implemented the following project with a good friend from my home, the idea came to us while participating in the CS50 program from Harvard University.

Let’s pitch the idea. Chat exports are a kind of personalized data everyone can access. Epana AI learns from your chats and continues the conversation by imitating your friend (indeed kinda scary!)

We have built a simple routine around (1) chat-archive to training-material conversion, (2) fine-tuning custom models and (3) database management so that everyone can have fun without any pre-experience in computer science!

How Epana works

Model management
First UI for chatting

In the course of development, we tried out a variety of frameworks and made significant design decisions. Here are some of them:

1. Web framework: Flask

Flask is lightweight, simple, Python-based, was part of our CS50 course and allows for high-performance cross-platform development.

2. API provider: OpenAI
OpenAI is clearly the market leader in commercial LLMs. The prices are actually reasonable and the path to fine-tuning is well documented.

Involved components go way beyond sending API-requests and HTML for chat. For instance, the API costs for training the fine-tuned model vary greatly. Components such as mathematically accurate token estimators, even possibly cutters (cheaper training for smaller training material), a cryptographically secure database system and finally a payment system were indispensable.

Challenges

One of the major issues was that, although the responses of the imitated person were surprisingly close in formulation, they were often out of context with the request. The reason for this is that answer chains in chats are often broken up by other media, long pauses in time, contact in real life, etc. – all contexts that are not initially taken into account during training. We have worked on minimizing this by coming up with automated solutions.

Highly esteemed friend involved in this project