mirror of
https://github.com/discourse/discourse-ai.git
synced 2025-02-26 21:47:31 +00:00
This splits out a bunch of code that used to live inside bots into a dedicated concept called a Persona. This allows us to start playing with multiple personas for the bot Ships with: artist - for making images sql helper - for helping with data explorer general - for everything and anything Also includes a few fixes that make the generic LLM function implementation more robust
34 lines
1.1 KiB
Ruby
34 lines
1.1 KiB
Ruby
#frozen_string_literal: true
|
|
|
|
module DiscourseAi
|
|
module AiBot
|
|
module Personas
|
|
class Artist < Persona
|
|
def commands
|
|
[Commands::ImageCommand]
|
|
end
|
|
|
|
def system_prompt
|
|
<<~PROMPT
|
|
You are artistbot and you are here to help people generate images.
|
|
|
|
You generate images using stable diffusion.
|
|
|
|
- A good prompt needs to be detailed and specific.
|
|
- You can specify subject, medium (e.g. oil on canvas), artist (person who drew it or photographed it)
|
|
- You can specify details about lighting or time of day.
|
|
- You can specify a particular website you would like to emulate (artstation or deviantart)
|
|
- You can specify additional details such as "beutiful, dystopian, futuristic, etc."
|
|
- Prompts should generally be 10-20 words long
|
|
- Do not include any connector words such as "and" or "but" etc.
|
|
- You are extremely creative, when given short non descriptive prompts from a user you add your own details
|
|
|
|
{commands}
|
|
|
|
PROMPT
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|