Documentation
¶
Overview ¶
Package gemini implements the Google Gemini provider.
Index ¶
- func New(config provider.ProviderConfig) (provider.Provider, error)
- type ModelData
- type ModelsResponse
- type Provider
- func (p *Provider) Capabilities() provider.ProviderCapabilities
- func (p *Provider) Chat(ctx context.Context, req *provider.ChatRequest) (*provider.ChatResponse, error)
- func (p *Provider) Config() provider.ProviderConfig
- func (p *Provider) CreateResponses(ctx context.Context, req *provider.ResponsesRequest) (*provider.ResponsesResponse, error)
- func (p *Provider) ListModels(ctx context.Context) ([]provider.ModelInfo, error)
- func (p *Provider) StreamChat(ctx context.Context, req *provider.ChatRequest) (*schema.StreamReader[*schema.Message], error)
- func (p *Provider) StreamResponses(ctx context.Context, req *provider.ResponsesRequest) (*schema.StreamReader[*provider.ResponsesStreamEvent], error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ModelData ¶
type ModelData struct {
Name string `json:"name"` // "models/gemini-1.5-pro"
DisplayName string `json:"displayName"`
Description string `json:"description"`
InputTokenLimit int `json:"inputTokenLimit"`
OutputTokenLimit int `json:"outputTokenLimit"`
}
ModelData describes a single Gemini model.
type ModelsResponse ¶
type ModelsResponse struct {
Models []ModelData `json:"models"`
}
ModelsResponse is the response from GET /v1beta/models.
type Provider ¶
type Provider struct {
provider.ProviderConfig
// contains filtered or unexported fields
}
func (*Provider) Capabilities ¶
func (p *Provider) Capabilities() provider.ProviderCapabilities
func (*Provider) Chat ¶
func (p *Provider) Chat(ctx context.Context, req *provider.ChatRequest) (*provider.ChatResponse, error)
func (*Provider) Config ¶
func (p *Provider) Config() provider.ProviderConfig
func (*Provider) CreateResponses ¶
func (p *Provider) CreateResponses(ctx context.Context, req *provider.ResponsesRequest) (*provider.ResponsesResponse, error)
func (*Provider) ListModels ¶
ListModels fetches available Gemini models from GET /v1beta/models.
func (*Provider) StreamChat ¶
func (p *Provider) StreamChat(ctx context.Context, req *provider.ChatRequest) (*schema.StreamReader[*schema.Message], error)
func (*Provider) StreamResponses ¶
func (p *Provider) StreamResponses(ctx context.Context, req *provider.ResponsesRequest) (*schema.StreamReader[*provider.ResponsesStreamEvent], error)
Click to show internal directories.
Click to hide internal directories.