The goal of the Omote project is to harness the potential of LLMs in creating narratives to construct rich, realistic characters embedded in fictional worlds that express themselves in realistic ways. I'm trying to achieve this by introducing an internal dialogue of "mind departments" responsible for:
The departments are augmented by a collection of personality parameters that are generated during construction of the character's personal history. They participate in an internal dialogue (overseen by the mind executive - the Warden) which in turn results in an agreement or a conflict as to what the reaction to an interaction should be.
This is my fun project that is inspired by one of my favourite games, Disco Elysium. I think its primary application should be to elevate NPCs in games.
You can read more about it here or watch a short demo here.
Tech stack:
[ LangChain ] [ LangGraph ] [ LangGraph Platform ] [ LangSmith ] [ AWS ECS ] [ Docker ]
[ Terraform ] [ GH Actions ] [ openrouter.ai ] [ gradio ]
Project link:
CorneliusLM is a project that aims at fine-tuning a base model (Qwen/Qwen2.5-1.5B-Instruct) to give it a voice of a pretentious philosophical contrarian. The base model has been quantized and LoRA adapter have been trained on a synthetic dataset. The dataset of 5k of chat message sequences was taken originally from the OpenAssistant/oasst2 dataset and transformed in batches with the use of LangChain + OpenAI's gpt-4o.
It still needs more work, but you can interact with the current version of Cornelius here.
Tech stack:
[ transformers ] [ trl ] [ bitsandbytes ] [ datesets ] [ LangChain ] [ openrouter.ai ]
Project link:
CodeMentat is an attempt to improve coding AI agents by elevating their code analysis and understanding capabilities. The approach is based on decomposing the code repository into a tree of code snippets (based on Abstract Syntax Trees of individual languages, optionally leveraging Microsoft's Language Server Protocol) and examining simple relation ships between the snippets.
By organising the entire repository of code into a tree in which the relationships between nodes are: "A uses B and C" it's possible to recurrently request interpretetion of code snippets that don't use anything (the most basic building blocks, e.g. B and C) and once this explanation is available, to use it in interpretation of more complex snippets (snippet A). This way, byt exploring the tree, the functionality of the entire application can be understood.
Tech stack:
[ TypeScript ] [ Claude ] [ LangChain ] [ openrouter.ai ]
Project link: