praval.providers.gemini

Gemini provider implementation.

Classes

GeminiProvider(config)

Google Gemini provider using the public REST API.

class praval.providers.gemini.GeminiProvider(config)[source]

Bases: object

Google Gemini provider using the public REST API.

Parameters:

config (Any)

provider_name = 'gemini'
capabilities = ProviderCapabilities(text=True, chat_completions=False, responses_api=False, tools=True, streaming=True, native_streaming=True, tool_streaming=False, structured_outputs=True, json_schema_mode='json_schema', multimodal=True, image_input=True, file_input=True, audio_input=True, video_input=True, audio_transcription=False, speech_generation=False, reasoning=True, reasoning_effort=False, reasoning_budget=False, embeddings=True, local=False, server_tools=False, mcp=False, computer_use=False)
__init__(config)[source]
Parameters:

config (Any)

generate(messages, tools=None, *args, **kwargs)
invoke(request, tools=None)[source]

Invoke Gemini through the provider-neutral adapter surface.

Return type:

ModelResponse

Parameters:
  • request (ModelRequest)

  • tools (List[Dict[str, Any]] | None)

continue_with_tool_results(request, response, tool_results)[source]

Submit runtime-executed function results to Gemini.

Return type:

ModelResponse

Parameters:
stream(request)[source]

Stream Gemini responses as provider-neutral events.

Return type:

Iterator[ModelEvent]

Parameters:

request (ModelRequest)

close()[source]

Gemini REST provider does not hold persistent resources.

Return type:

None