After tinkering with Stable Diffusion, I found out that LLM (ChatGPT is the most popular) can do role playing. Now I can create pictures and chat with OC characters.
The LLM scene has been getting better every month, it’s crazy to realize GPT4 was only released last year 2023.
Setup
- Roleplay
- SillyTavern frontend.
- koboldcpp backend to play with local 7B models.
- OpenAI API
- AWS Claude
- Claude API
- Work
Roleplay
I’m using Claude 3 Opus and Sonnet for RP, their writings feel more natural than GPT4. Sonnet has some problems following prompts and its proses are a bit dry. Opus is the best LLM I have ever used, but it’s really expensive. I hope GPT5 will be better but cheaper than Opus.
I’m still learning to create character cards in SillyTavern . So far, my endeavor has created interesting results.
I’m going to try out Nand2Tetris with one of my OCs soon.
Context
As the number of tokens in a prompt increases, LLMs becomes slower, and lose memory of the earliest conversation. There are a few features I found on SillyTavern which somewhat mitigate this issue.
- Vector Database (The link points to smart context, but vector db can be run locally)
- A database which automatically creates chat messages, indexed by some keywords, from past prompts.
- If the latest prompt has some matching keywords with the database, the relevant messages will be inserted as well.
- In my testing, LLMs regularly repeat the old messages in a loop.
- World Info
- Users manually insert relevant data into a dictionary, choosing the associated keyword.
- Info from the dictionary will be inserted when relevant keywords are triggered.
- This takes time to set up, but yields the most benefits.
- Author’s note
- A section of texts which can be inserted into the prompt.
- I use this before creating WI entries.
- Summary (Same as Vector DB, can be run locally)
- Users create a custom prompt to summarize the chat history, using an LLM.
- This can be set to run on schedule.
- My prompt regularly fails in silence, so the summary doesn’t get updated at scheduled intervals.
Current Workflow
I use STscript to generate a prompt asking for updated character profile or summary.
I was originally using a script to update WI and Author’s Note directly, but I want to compare returned responses with current saved texts before saving new version.
/input Update character |
/setinput Pause RP and give me updated character profile of {{pipe}}. This info is for you to resume RP later.
/setinput Pause RP and give me summary of the story. This info is for you to resume RP later.
Work
Phind Search is absolutely time-saver, their search results and summaries are more useful to me than Google. I have tried Phind Chat which is also a decent alternative to Chat GPT.
Study
I’m following this guide to learn about LLM. I have to start from the basics, working on linear algebra. I barely remember high-school math, even calculating sides in a triangle with sin()
, cos()
stump me. I do have a lot of holes in my knowledge, so it’s a good opportunity to improve.
Current progress: