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



95
96
97
98
99
100
101
102
103
104
105
# File 'lib/foam/otel/llm/gemini_shim.rb', line 95

def generate_content(payload, server_sent_events: nil, &callback)
  Foam::Otel::LLM.observe(
    provider: GeminiShim::PROVIDER,
    operation: GeminiShim::OPERATION,
    request: Foam::Otel::LLM.safe_request(provider: GeminiShim::PROVIDER,
                                          operation: GeminiShim::OPERATION) 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



107
108
109
110
111
112
113
114
115
116
117
# File 'lib/foam/otel/llm/gemini_shim.rb', line 107

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