Documentation
¶
Overview ¶
Package chatmodel provides functionalities for working with Large Language Models (LLMs).
Index ¶
Constants ¶
This section is empty.
Variables ¶
var DefaultOpenAIOptions = OpenAIOptions{ CallbackOptions: &schema.CallbackOptions{ Verbose: golc.Verbose, }, ModelName: openai.GPT3Dot5Turbo, Temperature: 1, TopP: 1, PresencePenalty: 0, FrequencyPenalty: 0, MaxRetries: 3, }
Functions ¶
This section is empty.
Types ¶
type Anthropic ¶
Anthropic is a chat model based on the Anthropic API.
func NewAnthropic ¶
func NewAnthropic(apiKey string, optFns ...func(o *AnthropicOptions)) (*Anthropic, error)
NewAnthropic creates a new instance of the Anthropic chat model with the provided options.
func (*Anthropic) Generate ¶
func (cm *Anthropic) Generate(ctx context.Context, messages schema.ChatMessages, optFns ...func(o *schema.GenerateOptions)) (*schema.ModelResult, error)
Generate generates text based on the provided chat messages and options.
func (*Anthropic) InvocationParams ¶ added in v0.0.27
InvocationParams returns the parameters used in the model invocation.
type AnthropicOptions ¶
type AnthropicOptions struct {
*schema.CallbackOptions `map:"-"`
schema.Tokenizer `map:"-"`
// Model name to use.
ModelName string `map:"model_name,omitempty"`
// Temperature parameter controls the randomness of the generation output.
Temperature float32 `map:"temperature,omitempty"`
// Denotes the number of tokens to predict per generation.
MaxTokens int `map:"max_tokens,omitempty"`
// TopK parameter specifies the number of highest probability tokens to consider for generation.
TopK int `map:"top_k,omitempty"`
// TopP parameter specifies the cumulative probability threshold for generating tokens.
TopP float32 `map:"top_p,omitempty"`
}
AnthropicOptions contains options for configuring the Anthropic chat model.
type AzureOpenAI ¶ added in v0.0.36
type AzureOpenAI struct {
*OpenAI
// contains filtered or unexported fields
}
func NewAzureOpenAI ¶ added in v0.0.26
func NewAzureOpenAI(apiKey, baseURL string, optFns ...func(o *AzureOpenAIOptions)) (*AzureOpenAI, error)
func (*AzureOpenAI) InvocationParams ¶ added in v0.0.55
func (cm *AzureOpenAI) InvocationParams() map[string]any
InvocationParams returns the parameters used in the model invocation.
func (*AzureOpenAI) Type ¶ added in v0.0.36
func (cm *AzureOpenAI) Type() string
Type returns the type of the model.
type AzureOpenAIOptions ¶ added in v0.0.26
type AzureOpenAIOptions struct {
OpenAIOptions
Deployment string `map:"deployment,omitempty"`
}
type Fake ¶ added in v0.0.14
Fake is a mock implementation of the schema.ChatModel interface for testing purposes.
func NewFake ¶ added in v0.0.14
func NewFake(fakeResultFunc FakeResultFunc, optFns ...func(o *FakeOptions)) *Fake
NewFake creates an instance of the Fake model with the provided custom result function.
func NewSimpleFake ¶ added in v0.0.58
func NewSimpleFake(response string, optFns ...func(o *FakeOptions)) *Fake
NewSimpleFake creates a simple instance of the Fake model with a fixed response for all inputs.
func (*Fake) Generate ¶ added in v0.0.14
func (cm *Fake) Generate(ctx context.Context, messages schema.ChatMessages, optFns ...func(o *schema.GenerateOptions)) (*schema.ModelResult, error)
Generate generates text based on the provided chat messages and options.
func (*Fake) InvocationParams ¶ added in v0.0.27
InvocationParams returns the parameters used in the model invocation.
type FakeOptions ¶ added in v0.0.58
type FakeOptions struct {
*schema.CallbackOptions `map:"-"`
schema.Tokenizer `map:"-"`
ChatModelType string `map:"-"`
}
FakeOptions contains options for configuring the Fake model.
type FakeResultFunc ¶ added in v0.0.58
type FakeResultFunc func(ctx context.Context, messages schema.ChatMessages) (*schema.ModelResult, error)
FakeResultFunc is a function type used for providing custom model results in the Fake model.
type OpenAI ¶
OpenAI represents the OpenAI chat model.
func NewOpenAI ¶
func NewOpenAI(apiKey string, optFns ...func(o *OpenAIOptions)) (*OpenAI, error)
NewOpenAI creates a new instance of the OpenAI chat model.
func NewOpenAIFromClient ¶ added in v0.0.36
func NewOpenAIFromClient(client OpenAIClient, optFns ...func(o *OpenAIOptions)) (*OpenAI, error)
NewOpenAIFromClient creates a new instance of the OpenAI chat model with the provided client and options.
func (*OpenAI) Generate ¶
func (cm *OpenAI) Generate(ctx context.Context, messages schema.ChatMessages, optFns ...func(o *schema.GenerateOptions)) (*schema.ModelResult, error)
Generate generates text based on the provided chat messages and options.
func (*OpenAI) InvocationParams ¶ added in v0.0.27
InvocationParams returns the parameters used in the model invocation.
type OpenAIClient ¶ added in v0.0.36
type OpenAIClient interface {
CreateChatCompletion(ctx context.Context, request openai.ChatCompletionRequest) (response openai.ChatCompletionResponse, err error)
}
OpenAIClient is an interface for the OpenAI chat model client.
type OpenAIOptions ¶
type OpenAIOptions struct {
*schema.CallbackOptions `map:"-"`
schema.Tokenizer `map:"-"`
// Model name to use.
ModelName string `map:"model_name,omitempty"`
// Sampling temperature to use.
Temperature float32 `map:"temperature,omitempty"`
// The maximum number of tokens to generate in the completion.
// -1 returns as many tokens as possible given the prompt and
//the models maximal context size.
MaxTokens int `map:"max_tokens,omitempty"`
// Total probability mass of tokens to consider at each step.
TopP float32 `map:"top_p,omitempty"`
// Penalizes repeated tokens.
PresencePenalty float32 `map:"presence_penalty,omitempty"`
// Penalizes repeated tokens according to frequency.
FrequencyPenalty float32 `map:"frequency_penalty,omitempty"`
// How many completions to generate for each prompt.
N int `map:"n,omitempty"`
// BaseURL is the base URL of the OpenAI service.
BaseURL string `map:"base_url,omitempty"`
// OrgID is the organization ID for accessing the OpenAI service.
OrgID string `map:"org_id,omitempty"`
// MaxRetries represents the maximum number of retries to make when generating.
MaxRetries uint `map:"max_retries,omitempty"`
}
OpenAIOptions contains the options for the OpenAI chat model.
type Palm ¶ added in v0.0.36
Palm is a struct representing the PALM language model.
func NewPalm ¶ added in v0.0.36
func NewPalm(client PalmClient, optFns ...func(o *PalmOptions)) (*Palm, error)
NewPalm creates a new instance of the PALM language model.
func (*Palm) Generate ¶ added in v0.0.36
func (cm *Palm) Generate(ctx context.Context, messages schema.ChatMessages, optFns ...func(o *schema.GenerateOptions)) (*schema.ModelResult, error)
Generate generates text based on the provided chat messages and options.
func (*Palm) InvocationParams ¶ added in v0.0.36
InvocationParams returns the parameters used in the model invocation.
type PalmClient ¶ added in v0.0.36
type PalmClient interface {
GenerateMessage(ctx context.Context, req *generativelanguagepb.GenerateMessageRequest, opts ...gax.CallOption) (*generativelanguagepb.GenerateMessageResponse, error)
}
PalmClient is the interface for the PALM client.
type PalmOptions ¶ added in v0.0.36
type PalmOptions struct {
*schema.CallbackOptions `map:"-"`
schema.Tokenizer `map:"-"`
// ModelName is the name of the Palm chat model to use.
ModelName string `map:"model_name,omitempty"`
// Temperature is the sampling temperature to use during text generation.
Temperature float32 `map:"temperature,omitempty"`
// TopP is the total probability mass of tokens to consider at each step.
TopP float32 `map:"top_p,omitempty"`
// TopK determines how the model selects tokens for output.
TopK int32 `map:"top_k"`
// CandidateCount specifies the number of candidates to generate during text completion.
CandidateCount int32 `map:"candidate_count"`
}
PalmOptions is the options struct for the PALM chat model.