mirror of
https://github.com/discourse/discourse-ai.git
synced 2025-02-26 21:47:31 +00:00
* FEATURE: Add support for StableBeluga and Upstage Llama2 instruct This means we support all models in the top3 of the Open LLM Leaderboard Since some of those models have RoPE, we now have a setting so you can customize the token limit depending which model you use.
49 lines
1.7 KiB
Ruby
49 lines
1.7 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module DiscourseAi
|
|
module Summarization
|
|
class EntryPoint
|
|
def load_files
|
|
require_relative "models/base"
|
|
require_relative "models/anthropic"
|
|
require_relative "models/discourse"
|
|
require_relative "models/open_ai"
|
|
require_relative "models/llama2"
|
|
require_relative "models/llama2_fine_tuned_orca_style"
|
|
|
|
require_relative "strategies/fold_content"
|
|
require_relative "strategies/truncate_content"
|
|
end
|
|
|
|
def inject_into(plugin)
|
|
foldable_models = [
|
|
Models::OpenAi.new("gpt-4", max_tokens: 8192),
|
|
Models::OpenAi.new("gpt-4-32k", max_tokens: 32_768),
|
|
Models::OpenAi.new("gpt-3.5-turbo", max_tokens: 4096),
|
|
Models::OpenAi.new("gpt-3.5-turbo-16k", max_tokens: 16_384),
|
|
Models::Discourse.new("long-t5-tglobal-base-16384-book-summary", max_tokens: 16_384),
|
|
Models::Anthropic.new("claude-2", max_tokens: 100_000),
|
|
Models::Llama2.new("Llama2-chat-hf", max_tokens: SiteSetting.ai_hugging_face_token_limit),
|
|
Models::Llama2FineTunedOrcaStyle.new(
|
|
"StableBeluga2",
|
|
max_tokens: SiteSetting.ai_hugging_face_token_limit,
|
|
),
|
|
]
|
|
|
|
foldable_models.each do |model|
|
|
plugin.register_summarization_strategy(Strategies::FoldContent.new(model))
|
|
end
|
|
|
|
truncable_models = [
|
|
Models::Discourse.new("bart-large-cnn-samsum", max_tokens: 1024),
|
|
Models::Discourse.new("flan-t5-base-samsum", max_tokens: 512),
|
|
]
|
|
|
|
truncable_models.each do |model|
|
|
plugin.register_summarization_strategy(Strategies::TruncateContent.new(model))
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|