topic summary with ai persona siteSettings

This commit is contained in:
rngus2344 2025-03-05 13:00:06 -06:00
parent 64ad45e28d
commit 1aa727743d
No known key found for this signature in database
GPG Key ID: A548FD2A580A5131

View File

@ -38,7 +38,14 @@ module DiscourseAi
input = input =
contents.map { |item| "(#{item[:id]} #{item[:poster]} said: #{item[:text]})" }.join contents.map { |item| "(#{item[:id]} #{item[:poster]} said: #{item[:text]})" }.join
prompt = DiscourseAi::Completions::Prompt.new(<<~TEXT, topic_id: target.id) if SiteSetting.ai_summary_consolidator_persona_id
prompt =
DiscourseAi::Completions::Prompt.new(
AiPersona.find_by(id: SiteSetting.ai_summary_consolidator_persona_id).system_prompt,
topic_id: target.id,
)
else
prompt = DiscourseAi::Completions::Prompt.new(<<~TEXT, topic_id: target.id) # summary extension prompt
You are an advanced summarization bot tasked with enhancing an existing summary by incorporating additional posts. You are an advanced summarization bot tasked with enhancing an existing summary by incorporating additional posts.
### Guidelines: ### Guidelines:
@ -53,6 +60,7 @@ module DiscourseAi
- Example: link to the 13th post by joe: [joe](#{resource_path}/13) - Example: link to the 13th post by joe: [joe](#{resource_path}/13)
- When formatting usernames either use @USERNAME or [USERNAME](#{resource_path}/POST_NUMBER) - When formatting usernames either use @USERNAME or [USERNAME](#{resource_path}/POST_NUMBER)
TEXT TEXT
end
prompt.push(type: :user, content: <<~TEXT.strip) prompt.push(type: :user, content: <<~TEXT.strip)
### Context: ### Context:
@ -81,6 +89,13 @@ module DiscourseAi
input = input =
contents.map { |item| "(#{item[:id]} #{item[:poster]} said: #{item[:text]} " }.join contents.map { |item| "(#{item[:id]} #{item[:poster]} said: #{item[:text]} " }.join
if SiteSetting.ai_summary_persona_id.present?
prompt =
DiscourseAi::Completions::Prompt.new(
AiPersona.find_by(id: SiteSetting.ai_summary_consolidator_persona_id).system_prompt,
topic_id: target.id,
)
else
prompt = DiscourseAi::Completions::Prompt.new(<<~TEXT.strip, topic_id: target.id) prompt = DiscourseAi::Completions::Prompt.new(<<~TEXT.strip, topic_id: target.id)
You are an advanced summarization bot that generates concise, coherent summaries of provided text. You are an advanced summarization bot that generates concise, coherent summaries of provided text.
@ -95,6 +110,7 @@ module DiscourseAi
- Example: link to the 13th post by joe: [joe](#{resource_path}/13) - Example: link to the 13th post by joe: [joe](#{resource_path}/13)
- When formatting usernames either use @USERNMAE OR [USERNAME](#{resource_path}/POST_NUMBER) - When formatting usernames either use @USERNMAE OR [USERNAME](#{resource_path}/POST_NUMBER)
TEXT TEXT
end
prompt.push( prompt.push(
type: :user, type: :user,