Class: Broadlistening::LlmClient
- Inherits:
-
Object
- Object
- Broadlistening::LlmClient
- Defined in:
- lib/broadlistening/llm_client.rb
Constant Summary collapse
- MAX_RETRIES =
3- RETRY_DELAY =
1
Instance Method Summary collapse
- #chat(system:, user:, json_mode: false) ⇒ Object
- #embed(texts) ⇒ Object
-
#initialize(config) ⇒ LlmClient
constructor
A new instance of LlmClient.
Constructor Details
#initialize(config) ⇒ LlmClient
Returns a new instance of LlmClient.
8 9 10 11 12 13 14 15 16 |
# File 'lib/broadlistening/llm_client.rb', line 8 def initialize(config) @config = config @provider = Provider.new(config.provider, local_llm_address: config.local_llm_address) @client = @provider.build_openai_client( api_key: config.api_key, base_url: config.api_base_url, azure_api_version: config.azure_api_version ) end |
Instance Method Details
#chat(system:, user:, json_mode: false) ⇒ Object
18 19 20 21 22 |
# File 'lib/broadlistening/llm_client.rb', line 18 def chat(system:, user:, json_mode: false) params = build_chat_params(system, user, json_mode) response = with_retry { @client.chat(parameters: params) } extract_chat_content(response) end |
#embed(texts) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/broadlistening/llm_client.rb', line 24 def (texts) texts = [ texts ] if texts.is_a?(String) response = with_retry do @client.( parameters: { model: @config., input: texts } ) end (response) end |