Skip to content

Commit

Permalink
googleai: add more model parameters and update comments (#529)
Browse files Browse the repository at this point in the history
* googleai: update comments and set TopK & TopP parameters

* googlai: align option types with langchain's default
  • Loading branch information
eliben authored Jan 18, 2024
1 parent d552c67 commit 111c09f
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 6 deletions.
12 changes: 8 additions & 4 deletions llms/googleai/googleai_llm.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,21 +64,23 @@ func NewGoogleAI(ctx context.Context, opts ...Option) (*GoogleAI, error) {
return gi, nil
}

// Call Implement the call interface for LLM.
// Call implements the [llms.Model] interface.
func (g *GoogleAI) Call(ctx context.Context, prompt string, options ...llms.CallOption) (string, error) {
return llms.CallLLM(ctx, g, prompt, options...)
}

// GenerateContent calls the LLM with the provided parts.
// GenerateContent implements the [llms.Model] interface.
func (g *GoogleAI) GenerateContent(ctx context.Context, messages []llms.MessageContent, options ...llms.CallOption) (*llms.ContentResponse, error) {
if g.CallbacksHandler != nil {
g.CallbacksHandler.HandleLLMGenerateContentStart(ctx, messages)
}

opts := llms.CallOptions{
Model: g.opts.defaultModel,
MaxTokens: int(g.opts.defaultMaxTokens),
Temperature: float64(g.opts.defaultTemperature),
MaxTokens: g.opts.defaultMaxTokens,
Temperature: g.opts.defaultTemperature,
TopP: g.opts.defaultTopP,
TopK: g.opts.defaultTopK,
}
for _, opt := range options {
opt(&opts)
Expand All @@ -87,6 +89,8 @@ func (g *GoogleAI) GenerateContent(ctx context.Context, messages []llms.MessageC
model := g.client.GenerativeModel(opts.Model)
model.SetMaxOutputTokens(int32(opts.MaxTokens))
model.SetTemperature(float32(opts.Temperature))
model.SetTopP(float32(opts.TopP))
model.SetTopK(int32(opts.TopK))

var response *llms.ContentResponse
var err error
Expand Down
8 changes: 6 additions & 2 deletions llms/googleai/googleai_option.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@ type options struct {
apiKey string
defaultModel string
defaultEmbeddingModel string
defaultMaxTokens int32
defaultTemperature float32
defaultMaxTokens int
defaultTemperature float64
defaultTopK int
defaultTopP float64
}

func defaultOptions() options {
Expand All @@ -17,6 +19,8 @@ func defaultOptions() options {
defaultEmbeddingModel: "embedding-001",
defaultMaxTokens: 256,
defaultTemperature: 0.5,
defaultTopK: 3,
defaultTopP: 0.95,
}
}

Expand Down

0 comments on commit 111c09f

Please sign in to comment.