openai

package
v0.0.0-...-66bbac4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 21, 2023 License: GPL-3.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	GPT35Turbo = &common.ChatModel{
		Name:             openai.GPT3Dot5Turbo,
		ContextSize:      4096,
		ContextUnit:      schema.ContextUnitToken,
		TokensPerMessage: 4,
		TokensPerName:    -1,
		PromptCost:       &schema.CostObject{Price: 0.0015, Unit: schema.CostUnitToken, UnitSize: 1000},
		CompletionCost:   &schema.CostObject{Price: 0.002, Unit: schema.CostUnitToken, UnitSize: 1000},
	}

	GPT35Turbo0301 = &common.ChatModel{
		Name:             openai.GPT3Dot5Turbo0301,
		ContextSize:      4096,
		ContextUnit:      schema.ContextUnitToken,
		TokensPerMessage: 4,
		TokensPerName:    -1,
		PromptCost:       &schema.CostObject{Price: 0.0015, Unit: schema.CostUnitToken, UnitSize: 1000},
		CompletionCost:   &schema.CostObject{Price: 0.002, Unit: schema.CostUnitToken, UnitSize: 1000},
	}

	GPT35Turbo0613 = &common.ChatModel{
		Name:             openai.GPT3Dot5Turbo0613,
		ContextSize:      4096,
		ContextUnit:      schema.ContextUnitToken,
		TokensPerMessage: 4,
		TokensPerName:    -1,
		PromptCost:       &schema.CostObject{Price: 0.0015, Unit: schema.CostUnitToken, UnitSize: 1000},
		CompletionCost:   &schema.CostObject{Price: 0.002, Unit: schema.CostUnitToken, UnitSize: 1000},
	}

	GPT35Turbo16K = &common.ChatModel{
		Name:             openai.GPT3Dot5Turbo16K,
		ContextSize:      16384,
		ContextUnit:      schema.ContextUnitToken,
		TokensPerMessage: 4,
		TokensPerName:    -1,
		PromptCost:       &schema.CostObject{Price: 0.003, Unit: schema.CostUnitToken, UnitSize: 1000},
		CompletionCost:   &schema.CostObject{Price: 0.004, Unit: schema.CostUnitToken, UnitSize: 1000},
	}

	GPT4 = &common.ChatModel{
		Name:             openai.GPT4,
		ContextSize:      8000,
		ContextUnit:      schema.ContextUnitToken,
		TokensPerMessage: 3,
		TokensPerName:    1,
		PromptCost:       &schema.CostObject{Price: 0.03, Unit: schema.CostUnitToken, UnitSize: 1000},
		CompletionCost:   &schema.CostObject{Price: 0.06, Unit: schema.CostUnitToken, UnitSize: 1000},
	}

	GPT40314 = &common.ChatModel{
		Name:             openai.GPT40314,
		ContextSize:      8000,
		ContextUnit:      schema.ContextUnitToken,
		TokensPerMessage: 3,
		TokensPerName:    1,
		PromptCost:       &schema.CostObject{Price: 0.03, Unit: schema.CostUnitToken, UnitSize: 1000},
		CompletionCost:   &schema.CostObject{Price: 0.06, Unit: schema.CostUnitToken, UnitSize: 1000},
	}

	GPT40613 = &common.ChatModel{
		Name:             openai.GPT40613,
		ContextSize:      8000,
		ContextUnit:      schema.ContextUnitToken,
		TokensPerMessage: 3,
		TokensPerName:    1,
		PromptCost:       &schema.CostObject{Price: 0.03, Unit: schema.CostUnitToken, UnitSize: 1000},
		CompletionCost:   &schema.CostObject{Price: 0.06, Unit: schema.CostUnitToken, UnitSize: 1000},
	}

	GPT432K = &common.ChatModel{
		Name:             openai.GPT432K,
		ContextSize:      8000,
		ContextUnit:      schema.ContextUnitToken,
		TokensPerMessage: 3,
		TokensPerName:    1,
		PromptCost:       &schema.CostObject{Price: 0.06, Unit: schema.CostUnitToken, UnitSize: 1000},
		CompletionCost:   &schema.CostObject{Price: 0.12, Unit: schema.CostUnitToken, UnitSize: 1000},
	}

	GPT432K0314 = &common.ChatModel{
		Name:             openai.GPT432K0314,
		ContextSize:      8000,
		ContextUnit:      schema.ContextUnitToken,
		TokensPerMessage: 3,
		TokensPerName:    1,
		PromptCost:       &schema.CostObject{Price: 0.06, Unit: schema.CostUnitToken, UnitSize: 1000},
		CompletionCost:   &schema.CostObject{Price: 0.12, Unit: schema.CostUnitToken, UnitSize: 1000},
	}
)

Functions

func NewChatOpenAI

func NewChatOpenAI(token string, model *common.ChatModel, user *memory.User) common.Chat

func NewChatOpenAIWithDefaultModel

func NewChatOpenAIWithDefaultModel(token string, user *memory.User) common.Chat

func NewChatOptionsOpenAI

func NewChatOptionsOpenAI() common.ChatOptions

Types

type ChatOpenAI

type ChatOpenAI struct {
	Client *openai.Client
	Model  *common.ChatModel
	User   *memory.User
}

func (*ChatOpenAI) Chat

func (c *ChatOpenAI) Chat(userMsg *memory.Message, messages ...messages.Message) (common.ChatResult, error)

func (*ChatOpenAI) ChatStream

func (c *ChatOpenAI) ChatStream(w io.Writer, userMsg *memory.Message, messages ...messages.Message) (common.ChatResult, error)

func (*ChatOpenAI) ChatStreamWithContext

func (c *ChatOpenAI) ChatStreamWithContext(ctx context.Context, w io.Writer, userMsg *memory.Message, messages ...messages.Message) (common.ChatResult, error)

func (*ChatOpenAI) ChatStreamWithOptions

func (c *ChatOpenAI) ChatStreamWithOptions(ctx context.Context, w io.Writer, opts common.ChatOptions) (common.ChatResult, error)

func (*ChatOpenAI) ChatWithContext

func (c *ChatOpenAI) ChatWithContext(ctx context.Context, userMsg *memory.Message, messages ...messages.Message) (common.ChatResult, error)

func (*ChatOpenAI) ChatWithOptions

func (c *ChatOpenAI) ChatWithOptions(ctx context.Context, opts common.ChatOptions) (common.ChatResult, error)

func (*ChatOpenAI) LoadUserMessages

func (c *ChatOpenAI) LoadUserMessages(ctx context.Context) ([]messages.Message, error)

func (*ChatOpenAI) ReduceTokens

func (c *ChatOpenAI) ReduceTokens(systemMessages []messages.Message, msgs []messages.Message) []messages.Message

type ChatOptionsOpenAI

type ChatOptionsOpenAI struct {
	// contains filtered or unexported fields
}

func (ChatOptionsOpenAI) GetFunctions

func (c ChatOptionsOpenAI) GetFunctions() []*functions.FunctionDefinition

func (ChatOptionsOpenAI) GetMessages

func (c ChatOptionsOpenAI) GetMessages() []messages.Message

func (ChatOptionsOpenAI) GetRequest

func (c ChatOptionsOpenAI) GetRequest() interface{}

func (ChatOptionsOpenAI) GetSystemMessages

func (c ChatOptionsOpenAI) GetSystemMessages() []messages.Message

func (ChatOptionsOpenAI) GetTimeout

func (c ChatOptionsOpenAI) GetTimeout() time.Duration

func (ChatOptionsOpenAI) GetUserMessage

func (c ChatOptionsOpenAI) GetUserMessage() *memory.Message

func (ChatOptionsOpenAI) WithBootstrap

func (c ChatOptionsOpenAI) WithBootstrap(args interface{}) common.ChatOptions

func (ChatOptionsOpenAI) WithExamples

func (c ChatOptionsOpenAI) WithExamples(promptName string) common.ChatOptions

func (ChatOptionsOpenAI) WithFrequencyPenalty

func (c ChatOptionsOpenAI) WithFrequencyPenalty(frequencyPenalty float32) common.ChatOptions

func (ChatOptionsOpenAI) WithFunctions

func (c ChatOptionsOpenAI) WithFunctions(functions []*functions.FunctionDefinition) common.ChatOptions

func (ChatOptionsOpenAI) WithLogitBias

func (c ChatOptionsOpenAI) WithLogitBias(logitBias map[string]int) common.ChatOptions

func (ChatOptionsOpenAI) WithMaxTokens

func (c ChatOptionsOpenAI) WithMaxTokens(maxTokens int) common.ChatOptions

func (ChatOptionsOpenAI) WithMessages

func (c ChatOptionsOpenAI) WithMessages(messages []messages.Message) common.ChatOptions

func (ChatOptionsOpenAI) WithModel

func (c ChatOptionsOpenAI) WithModel(model string) common.ChatOptions

func (ChatOptionsOpenAI) WithN

func (ChatOptionsOpenAI) WithPresencePenalty

func (c ChatOptionsOpenAI) WithPresencePenalty(presencePenalty float32) common.ChatOptions

func (ChatOptionsOpenAI) WithStop

func (c ChatOptionsOpenAI) WithStop(stop []string) common.ChatOptions

func (ChatOptionsOpenAI) WithStream

func (c ChatOptionsOpenAI) WithStream(stream bool) common.ChatOptions

func (ChatOptionsOpenAI) WithSystemPrompt

func (c ChatOptionsOpenAI) WithSystemPrompt(promptName string) common.ChatOptions

func (ChatOptionsOpenAI) WithTemperature

func (c ChatOptionsOpenAI) WithTemperature(temperature float32) common.ChatOptions

func (ChatOptionsOpenAI) WithTimeout

func (c ChatOptionsOpenAI) WithTimeout(dur time.Duration) common.ChatOptions

func (ChatOptionsOpenAI) WithTopP

func (c ChatOptionsOpenAI) WithTopP(topP float32) common.ChatOptions

func (ChatOptionsOpenAI) WithUser

func (c ChatOptionsOpenAI) WithUser(user string) common.ChatOptions

func (ChatOptionsOpenAI) WithUserMessage

func (c ChatOptionsOpenAI) WithUserMessage(msg *memory.Message) common.ChatOptions

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL