2024-05-13 12:46:42 -03:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class LlmModelSerializer < ApplicationSerializer
|
|
|
|
root "llm"
|
|
|
|
|
2024-06-18 14:32:14 -03:00
|
|
|
attributes :id,
|
|
|
|
:display_name,
|
|
|
|
:name,
|
|
|
|
:provider,
|
|
|
|
:max_prompt_tokens,
|
|
|
|
:tokenizer,
|
|
|
|
:api_key,
|
|
|
|
:url,
|
|
|
|
:enabled_chat_bot,
|
2024-07-24 16:29:47 -03:00
|
|
|
:provider_params,
|
2024-08-06 14:35:35 -03:00
|
|
|
:vision_enabled,
|
|
|
|
:used_by
|
2024-06-18 14:32:14 -03:00
|
|
|
|
2024-06-19 11:21:21 -03:00
|
|
|
has_one :user, serializer: BasicUserSerializer, embed: :object
|
|
|
|
|
2024-08-06 14:35:35 -03:00
|
|
|
def used_by
|
|
|
|
DiscourseAi::Configuration::LlmValidator.new.modules_using(object)
|
2024-06-18 14:32:14 -03:00
|
|
|
end
|
2024-08-28 15:57:58 -03:00
|
|
|
|
|
|
|
def api_key
|
|
|
|
object.seeded? ? "********" : object.api_key
|
|
|
|
end
|
|
|
|
|
|
|
|
def url
|
|
|
|
object.seeded? ? "********" : object.url
|
|
|
|
end
|
|
|
|
|
|
|
|
def provider
|
|
|
|
object.seeded? ? "CDCK" : object.provider
|
|
|
|
end
|
2024-05-13 12:46:42 -03:00
|
|
|
end
|