diff --git a/genai/gemini/gemini.go b/genai/gemini/gemini.go index 4e1c5cfc..8f83afc5 100644 --- a/genai/gemini/gemini.go +++ b/genai/gemini/gemini.go @@ -156,6 +156,10 @@ func (g *gemini) Stream(prompt string, opts ...genai.Option) (*genai.Stream, err return &genai.Stream{Results: results}, nil } +func (g *gemini) String() string { + return "gemini" +} + func init() { genai.Register("gemini", New()) } diff --git a/genai/genai.go b/genai/genai.go index 58978ff5..bd5a800d 100644 --- a/genai/genai.go +++ b/genai/genai.go @@ -20,6 +20,7 @@ type Stream struct { type GenAI interface { Generate(prompt string, opts ...Option) (*Result, error) Stream(prompt string, opts ...Option) (*Stream, error) + String() string } // Option is a functional option for configuring providers. diff --git a/genai/noop.go b/genai/noop.go index b01d17b0..9c3d0414 100644 --- a/genai/noop.go +++ b/genai/noop.go @@ -13,4 +13,8 @@ func (n *noopGenAI) Stream(prompt string, opts ...Option) (*Stream, error) { return &Stream{Results: results}, nil } +func (n *noopGenAI) String() string { + return "noop" +} + var Default = &noopGenAI{} diff --git a/genai/openai/openai.go b/genai/openai/openai.go index 55769116..9bc2848a 100644 --- a/genai/openai/openai.go +++ b/genai/openai/openai.go @@ -146,6 +146,10 @@ func (o *openAI) Stream(prompt string, opts ...genai.Option) (*genai.Stream, err return &genai.Stream{Results: results}, nil } +func (o *openAI) String() string { + return "openai" +} + func init() { genai.Register("openai", New()) } diff --git a/genai/options.go b/genai/options.go index d73246f1..d711f1a0 100644 --- a/genai/options.go +++ b/genai/options.go @@ -17,4 +17,4 @@ func WithModel(model string) Option { return func(o *Options) { o.Model = model } -} \ No newline at end of file +}