diff options
Diffstat (limited to 'logic')
-rw-r--r-- | logic/cartridge/streaming.rb | 2 | ||||
-rw-r--r-- | logic/providers/cohere/tokens.rb | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/logic/cartridge/streaming.rb b/logic/cartridge/streaming.rb index 0b9b19f..23e88ac 100644 --- a/logic/cartridge/streaming.rb +++ b/logic/cartridge/streaming.rb @@ -8,7 +8,7 @@ module NanoBot module Streaming def self.enabled?(cartridge, interface) provider_stream = case Helpers::Hash.fetch(cartridge, %i[provider id]) - when 'openai', 'mistral' + when 'openai', 'mistral', 'cohere' Helpers::Hash.fetch(cartridge, %i[provider settings stream]) when 'google' Helpers::Hash.fetch(cartridge, %i[provider options stream]) diff --git a/logic/providers/cohere/tokens.rb b/logic/providers/cohere/tokens.rb new file mode 100644 index 0000000..f7d3f55 --- /dev/null +++ b/logic/providers/cohere/tokens.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module NanoBot + module Logic + module Cohere + module Tokens + def self.apply_policies!(_cartridge, payload) + if payload[:chat_history] + payload[:chat_history] = payload[:chat_history].map { |message| message.except(:_meta) } + end + + payload + end + end + end + end +end |