À propos du projet

LLM Gamebook est un framework pour créer des histoires interactives où les récits sont générés par des Large Language Models (LLMs) tout en suivant un graphe structuré de chemins narratifs. Il utilise une architecture monorepo composée d'un backend FastAPI et d'un frontend React. Les composants techniques clés incluent : - StoryEngine & EngineManager : Gèrent les interactions avec les agents LLM, l'historique des messages et le pooling d'instances. - StoryContext & SessionState : Gèrent les définitions de projet, les traits des entités et suivent la progression du joueur via les transitions de nœuds du graphe. - MessageBus : Un système pub/sub asynchrone pour gérer les cycles de vie du moteur et les événements de session. - ProjectManager : Gère le chargement des définitions d'histoires à partir de fichiers YAML. Les histoires sont définies via YAML, permettant aux développeurs de spécifier les types d'entités, les arcs narratifs basés sur des graphes, les lieux, les personnages et les fonctions d'outils que le LLM peut appeler pour déclencher des transitions d'état. La pile technologique comprend FastAPI, SQLModel (aiosqlite), Pydantic AI pour l'appel d'outils et Jinja2 pour le templating de prompts sur le backend, avec un frontend React 19, TypeScript et Mantine UI.