Skip to main content

Gemini helper wrappers for the Grafana Agent Observability Python SDK

Project description

Sigil Python Provider Helper: Gemini

agento11y-gemini provides strict Gemini Models wrappers and mappers for Sigil.

Installation

pip install agento11y agento11y-gemini google-genai

Public API

  • Wrappers:
    • models.generate_content(...)
    • models.generate_content_async(...)
    • models.generate_content_stream(...)
    • models.generate_content_stream_async(...)
    • models.embed_content(...)
    • models.embed_content_async(...)
  • Mappers:
    • models.from_request_response(...)
    • models.from_stream(...)
    • models.embedding_from_response(...)

Wrapper Mode (Sync)

from google.genai import types as genai_types
from agento11y import Client, ClientConfig
from agento11y_gemini import GeminiOptions, models

client = Client(ClientConfig())

model = "gemini-2.5-pro"
contents = [genai_types.Content(role="user", parts=[genai_types.Part(text="Hello")])]
config = genai_types.GenerateContentConfig(max_output_tokens=256)

response = models.generate_content(
    client,
    model,
    contents,
    config,
    lambda req_model, req_contents, req_config: gemini_client.models.generate_content(
        model=req_model,
        contents=req_contents,
        config=req_config,
    ),
    GeminiOptions(conversation_id="conv-1", agent_name="assistant", agent_version="1.0.0"),
)

Wrapper Mode (Stream)

from agento11y_gemini import GeminiStreamSummary, models

summary = models.generate_content_stream(
    client,
    model,
    contents,
    config,
    lambda req_model, req_contents, req_config: GeminiStreamSummary(
        responses=list(gemini_client.models.generate_content_stream(
            model=req_model,
            contents=req_contents,
            config=req_config,
        ))
    ),
)

Mapper Mode

generation = models.from_request_response(model, contents, config, response)
stream_generation = models.from_stream(model, contents, config, summary)

Embedding example

embedding_response = models.embed_content(
    client,
    "gemini-embedding-001",
    contents,
    None,
    lambda req_model, req_contents, req_config: gemini_client.models.embed_content(
        model=req_model,
        contents=req_contents,
        config=req_config,
    ),
)

Raw Provider Artifacts (Opt-In)

options = GeminiOptions(raw_artifacts=True)

Raw artifacts are default OFF and should only be enabled for diagnostics.

Provider metadata mapping

Gemini-specific fields are mapped as follows:

  • usage.thoughts_token_count -> normalized usage.reasoning_tokens
  • usage.tool_use_prompt_token_count -> metadata agento11y.gen_ai.usage.tool_use_prompt_tokens
  • config.thinking_config.thinking_budget -> metadata agento11y.gen_ai.request.thinking.budget_tokens
  • config.thinking_config.thinking_level -> metadata agento11y.gen_ai.request.thinking.level

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agento11y_gemini-0.10.0.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agento11y_gemini-0.10.0-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file agento11y_gemini-0.10.0.tar.gz.

File metadata

  • Download URL: agento11y_gemini-0.10.0.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for agento11y_gemini-0.10.0.tar.gz
Algorithm Hash digest
SHA256 7d86ef24a68969169c9b5d1d28e43fe3eb47338b16dcbac5afdb101d2164c6f3
MD5 e028964d54db75d67e530a77e301734e
BLAKE2b-256 88a41ea61fe2437162e8b3ff8baed65e172aede0e52f6bbe332c04bf082af60d

See more details on using hashes here.

Provenance

The following attestation bundles were made for agento11y_gemini-0.10.0.tar.gz:

Publisher: python-sdks-publish.yml on grafana/agento11y

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agento11y_gemini-0.10.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agento11y_gemini-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 45cd5a8f7462a51cf24381291cefb747e2b374cb5431d701dfd488ce30eb291d
MD5 2f44439e102872faddbe9eb5ecdb51f8
BLAKE2b-256 25642a3bf3e5556f6338ea0cb118ad7add2de93d3cbd979a4e824874cbce0677

See more details on using hashes here.

Provenance

The following attestation bundles were made for agento11y_gemini-0.10.0-py3-none-any.whl:

Publisher: python-sdks-publish.yml on grafana/agento11y

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page