Module: Foam::Otel::LLM::GeminiShim::ClientPatch

Defined in:
lib/foam/otel/llm/gemini_shim.rb

Instance Method Summary collapse

Instance Method Details

#generate_content(payload, server_sent_events: nil, &callback) ⇒ Object



90
91
92
93
94
95
96
97
98
# File 'lib/foam/otel/llm/gemini_shim.rb', line 90

def generate_content(payload, server_sent_events: nil, &callback)
  Foam::Otel::LLM.observe(
    provider: GeminiShim::PROVIDER,
    request: Foam::Otel::LLM.safe_request(provider: GeminiShim::PROVIDER) do
      GeminiShim.request(self, payload)
    end,
    response_extractor: GeminiShim::RESPONSE
  ) { super(payload, server_sent_events: server_sent_events, &callback) }
end

#stream_generate_content(payload, server_sent_events: nil, &callback) ⇒ Object



100
101
102
103
104
105
106
107
108
# File 'lib/foam/otel/llm/gemini_shim.rb', line 100

def stream_generate_content(payload, server_sent_events: nil, &callback)
  Foam::Otel::LLM.observe(
    provider: GeminiShim::PROVIDER,
    request: Foam::Otel::LLM.safe_request(provider: GeminiShim::PROVIDER) do
      GeminiShim.request(self, payload)
    end,
    response_extractor: GeminiShim::RESPONSE
  ) { super(payload, server_sent_events: server_sent_events, &callback) }
end