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 ¶
- func NewGeminiProvider(apiKey string, modelName string, baseURLs []string, ...) modelrepo.Provider
- type GeminiChatClient
- type GeminiEmbedClient
- type GeminiPromptClient
- type GeminiProvider
- func (p *GeminiProvider) CanChat() bool
- func (p *GeminiProvider) CanEmbed() bool
- func (p *GeminiProvider) CanPrompt() bool
- func (p *GeminiProvider) CanStream() bool
- func (p *GeminiProvider) CanThink() bool
- func (p *GeminiProvider) GetBackendIDs() []string
- func (p *GeminiProvider) GetChatConnection(ctx context.Context, backendID string) (modelrepo.LLMChatClient, error)
- func (p *GeminiProvider) GetContextLength() int
- func (p *GeminiProvider) GetEmbedConnection(ctx context.Context, backendID string) (modelrepo.LLMEmbedClient, error)
- func (p *GeminiProvider) GetID() string
- func (p *GeminiProvider) GetMaxOutputTokens() int
- func (p *GeminiProvider) GetPromptConnection(ctx context.Context, backendID string) (modelrepo.LLMPromptExecClient, error)
- func (p *GeminiProvider) GetStreamConnection(ctx context.Context, backendID string) (modelrepo.LLMStreamClient, error)
- func (p *GeminiProvider) GetType() string
- func (p *GeminiProvider) ModelName() string
- type GeminiStreamClient
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 ¶
func (c *GeminiChatClient) Chat(ctx context.Context, messages []modelrepo.Message, args ...modelrepo.ChatArgument) (modelrepo.ChatResult, error)
Chat implements modelrepo.LLMChatClient
type GeminiEmbedClient ¶
type GeminiEmbedClient struct {
// contains filtered or unexported fields
}
type GeminiPromptClient ¶
type GeminiPromptClient struct {
// contains filtered or unexported fields
}
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) GetMaxOutputTokens ¶ added in v0.29.0
func (p *GeminiProvider) GetMaxOutputTokens() int
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)
Click to show internal directories.
Click to hide internal directories.