mirror of
https://github.com/lingble/chatwoot.git
synced 2025-11-02 03:57:52 +00:00
This PR adds service to automate account abuse detection. Currently based on the signup name and URL, could potentially add more context such as usage analysis, message metadata etc.
29 lines
643 B
Ruby
29 lines
643 B
Ruby
require 'openai'
|
|
|
|
class Captain::Llm::AssistantChatService < Llm::BaseOpenAiService
|
|
include Captain::ChatHelper
|
|
|
|
def initialize(assistant: nil)
|
|
super()
|
|
|
|
@assistant = assistant
|
|
@messages = [system_message]
|
|
@response = ''
|
|
end
|
|
|
|
def generate_response(input, previous_messages = [], role = 'user')
|
|
@messages += previous_messages
|
|
@messages << { role: role, content: input } if input.present?
|
|
request_chat_completion
|
|
end
|
|
|
|
private
|
|
|
|
def system_message
|
|
{
|
|
role: 'system',
|
|
content: Captain::Llm::SystemPromptsService.assistant_response_generator(@assistant.config['product_name'])
|
|
}
|
|
end
|
|
end
|