Files
maybe/app/models/provider/openai.rb
2025-03-27 18:44:20 -04:00

31 lines
656 B
Ruby

class Provider::Openai < Provider
include LlmProvider
MODELS = %w[gpt-4o]
def initialize(access_token)
@client = ::OpenAI::Client.new(access_token: access_token)
end
def supports_model?(model)
MODELS.include?(model)
end
def chat_response(message, instructions: nil, available_functions: [], streamer: nil)
with_provider_response do
processor = ChatResponseProcessor.new(
client: client,
message: message,
instructions: instructions,
available_functions: available_functions,
streamer: streamer
)
processor.process
end
end
private
attr_reader :client
end