gemini

package
v0.28.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 7, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package gemini implements the modelrepo.Provider contract against Google's Gemini Generative Language API. The package registers its catalog at init time; depend on it via blank import where the catalog must be discoverable from runtimestate.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewGeminiProvider

func NewGeminiProvider(apiKey string, modelName string, baseURLs []string, cap modelrepo.CapabilityConfig, httpClient *http.Client, tracker libtracker.ActivityTracker) modelrepo.Provider

Types

type GeminiChatClient

type GeminiChatClient struct {
	// contains filtered or unexported fields
}

func (*GeminiChatClient) Chat

Chat implements modelrepo.LLMChatClient

type GeminiEmbedClient

type GeminiEmbedClient struct {
	// contains filtered or unexported fields
}

func (*GeminiEmbedClient) Embed

func (c *GeminiEmbedClient) Embed(ctx context.Context, prompt string) ([]float64, error)

type GeminiPromptClient

type GeminiPromptClient struct {
	// contains filtered or unexported fields
}

func (*GeminiPromptClient) Prompt

func (c *GeminiPromptClient) Prompt(ctx context.Context, systemInstruction string, temperature float32, prompt string) (string, error)

Prompt implements the LLMPromptExecClient interface for a single-turn, non-chat request.

type GeminiProvider

type GeminiProvider struct {
	// contains filtered or unexported fields
}

func (*GeminiProvider) CanChat

func (p *GeminiProvider) CanChat() bool

func (*GeminiProvider) CanEmbed

func (p *GeminiProvider) CanEmbed() bool

func (*GeminiProvider) CanPrompt

func (p *GeminiProvider) CanPrompt() bool

func (*GeminiProvider) CanStream

func (p *GeminiProvider) CanStream() bool

func (*GeminiProvider) CanThink

func (p *GeminiProvider) CanThink() bool

func (*GeminiProvider) GetBackendIDs

func (p *GeminiProvider) GetBackendIDs() []string

func (*GeminiProvider) GetChatConnection

func (p *GeminiProvider) GetChatConnection(ctx context.Context, backendID string) (modelrepo.LLMChatClient, error)

func (*GeminiProvider) GetContextLength

func (p *GeminiProvider) GetContextLength() int

func (*GeminiProvider) GetEmbedConnection

func (p *GeminiProvider) GetEmbedConnection(ctx context.Context, backendID string) (modelrepo.LLMEmbedClient, error)

func (*GeminiProvider) GetID

func (p *GeminiProvider) GetID() string

func (*GeminiProvider) GetPromptConnection

func (p *GeminiProvider) GetPromptConnection(ctx context.Context, backendID string) (modelrepo.LLMPromptExecClient, error)

func (*GeminiProvider) GetStreamConnection

func (p *GeminiProvider) GetStreamConnection(ctx context.Context, backendID string) (modelrepo.LLMStreamClient, error)

func (*GeminiProvider) GetType

func (p *GeminiProvider) GetType() string

func (*GeminiProvider) ModelName

func (p *GeminiProvider) ModelName() string

type GeminiStreamClient

type GeminiStreamClient struct {
	// contains filtered or unexported fields
}

func (*GeminiStreamClient) Stream

func (c *GeminiStreamClient) Stream(ctx context.Context, messages []modelrepo.Message, args ...modelrepo.ChatArgument) (<-chan *modelrepo.StreamParcel, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL