gpt-storyteller/src/requests/generic_request.cr

24 lines
562 B
Crystal

module Requests
class GenericRequest
getter context_size : Int32 = 0
def initialize(@config : AIUtils::GptConfig)
end
def perform(messages)
openai = OpenAI::Client.new(access_token: @config.openai_key)
result = openai.chat(
@config.model.to_s,
messages,
{
"temperature" => @config.temperature,
"presence_penalty" => @config.presence_penalty,
"frequency_penalty" => @config.frequency_penalty,
"max_tokens" => @config.max_tokens,
}
)
end
end
end