I am now doing two calls to the local LLM: the first creates the character. Then I take the data and feed it back in to a second request to generate moves.
The moves aren't good enough to use as-is yet. They frequently mix up stats.
$ LLAMA_URL=http://192.168.0.168:8080 node dist/generate-humanoid.js --sex female --inspiration elf,lawyer --tomboy true --eyes blue --extra-description "She loves cookies and milk." { "sexy": false, "humanoid": true, "insubordinate": 0, "height": "normal", "sex": "female", "inspirations": [ "elf", "lawyer" ], "eyes": "blue", "tomboy": true, "likes": "Baking cookies in the evening while enjoying milk as dessert, performing magic tricks using legal documents, watching legal dramas featuring strong female lawyers.", "dislikes": "Disorganized environments and being called delicate or girly by others.", "name": "Elyra", "description": "She has long silver hair that flows like waterfalls, with two braids on either side of her head.", "personality": "A tomboy at heart, yet she carries herself with grace and dignity.", "moves": [ { "move_type": "defense", "move_name": "Legalese", "defensive_move_description": "Elyra uses her knowledge of complex legal language to confuse and evade opponents.", "move_raises_my_stat": "defense" }, { "move_type": "attack", "move_name": "Bakerella", "offensive_move_description": "Elyra mixes up a powerful concoction of cookie dough, throwing it at her opponent with great force.", "move_lowers_opponent_stat": "speed" }, { "move_type": "attack", "move_name": "Sleight oflaw", "offensive_move_description": "Elyra swiftly maneuvers legal documents to create illusions and distract opponents, allowing her to strike.", "move_lowers_opponent_stat": "accuracy", "secondary_effect": "confusion" } ] }