llm

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Oct 12, 2024 License: MIT Imports: 4 Imported by: 2

Documentation

Index

Constants

View Source
const (
	TypeText            = "text"
	TypeImage           = "image"
	TypeVideo           = "video"
	RoleSystem          = "system"
	RoleUser            = "user"
	RoleAssistant       = "assistant"
	RoleTool            = "tool"
	ToolCodeInterpreter = "codeInterpreter"
	ToolWebSearch       = "webSearch"
)

Variables

This section is empty.

Functions

func List

func List() map[string]LLM

func Register

func Register(llmId string, maker func(Config) LLM)

func Similarity

func Similarity(buf1, buf2 []byte) float64

Types

type ChatConfig

type ChatConfig struct {
	Model       string
	Ratio       float64
	MaxTokens   int
	Temperature float64
	TopP        float64
	Tools       map[string]any
	// contains filtered or unexported fields
}

func (*ChatConfig) GetMaxTokens

func (chatConfig *ChatConfig) GetMaxTokens() int

func (*ChatConfig) GetModel

func (chatConfig *ChatConfig) GetModel() string

func (*ChatConfig) GetTemperature

func (chatConfig *ChatConfig) GetTemperature() float64

func (*ChatConfig) GetTools

func (chatConfig *ChatConfig) GetTools() map[string]any

func (*ChatConfig) GetTopP

func (chatConfig *ChatConfig) GetTopP() float64

func (*ChatConfig) SetDefault

func (chatConfig *ChatConfig) SetDefault(config *ChatConfig)

type ChatMessage

type ChatMessage struct {
	Role     string
	Contents []ChatMessageContent
}

type ChatMessageContent

type ChatMessageContent struct {
	Type    string // text, image, audio, video
	Content string
}

type Config

type Config struct {
	Endpoint   string
	ApiKey     string
	ChatConfig ChatConfig
	GCConfig   GCConfig
	Debug      bool
}

type GCConfig

type GCConfig struct {
	Model string
	Size  string
	Ref   string
	// contains filtered or unexported fields
}

func (*GCConfig) GetModel

func (gcConfig *GCConfig) GetModel() string

func (*GCConfig) GetRef

func (gcConfig *GCConfig) GetRef() string

func (*GCConfig) GetSize

func (gcConfig *GCConfig) GetSize() string

func (*GCConfig) SetDefault

func (gcConfig *GCConfig) SetDefault(config *GCConfig)

type LLM

type LLM interface {
	Support() Support
	Ask(messages []ChatMessage, config ChatConfig, callback func(answer string)) (string, Usage, error)
	FastAsk(messages []ChatMessage, callback func(answer string)) (string, Usage, error)
	LongAsk(messages []ChatMessage, callback func(answer string)) (string, Usage, error)
	BatterAsk(messages []ChatMessage, callback func(answer string)) (string, Usage, error)
	BestAsk(messages []ChatMessage, callback func(answer string)) (string, Usage, error)
	MultiAsk(messages []ChatMessage, callback func(answer string)) (string, Usage, error)
	BestMultiAsk(messages []ChatMessage, callback func(answer string)) (string, Usage, error)
	CodeInterpreterAsk(messages []ChatMessage, callback func(answer string)) (string, Usage, error)
	WebSearchAsk(messages []ChatMessage, callback func(answer string)) (string, Usage, error)
	MakeImage(prompt string, config GCConfig) ([]string, Usage, error)
	FastMakeImage(prompt string, config GCConfig) ([]string, Usage, error)
	BestMakeImage(prompt string, config GCConfig) ([]string, Usage, error)
	MakeVideo(prompt string, config GCConfig) ([]string, []string, Usage, error)
	FastMakeVideo(prompt string, config GCConfig) ([]string, []string, Usage, error)
	BestMakeVideo(prompt string, config GCConfig) ([]string, []string, Usage, error)
	Embedding(text string, model string) ([]byte, Usage, error)
	FastEmbedding(text string) ([]byte, Usage, error)
	BestEmbedding(text string) ([]byte, Usage, error)
}

func Create

func Create(name, llmId string, config Config) LLM

func Get

func Get(name string) LLM

type MessagesMaker

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

func Messages

func Messages() *MessagesMaker

func (*MessagesMaker) Assistant

func (m *MessagesMaker) Assistant(contents ...ChatMessageContent) *MessagesMaker

func (*MessagesMaker) Image

func (m *MessagesMaker) Image(text string) *MessagesMaker

func (*MessagesMaker) Make

func (m *MessagesMaker) Make() []ChatMessage

func (*MessagesMaker) System

func (m *MessagesMaker) System(contents ...ChatMessageContent) *MessagesMaker

func (*MessagesMaker) Text

func (m *MessagesMaker) Text(text string) *MessagesMaker

func (*MessagesMaker) Tool

func (m *MessagesMaker) Tool(contents ...ChatMessageContent) *MessagesMaker

func (*MessagesMaker) User

func (m *MessagesMaker) User(contents ...ChatMessageContent) *MessagesMaker

func (*MessagesMaker) Video

func (m *MessagesMaker) Video(text string) *MessagesMaker

type Support

type Support struct {
	Ask                    bool
	AskWithImage           bool
	AskWithVideo           bool
	AskWithCodeInterpreter bool
	AskWithWebSearch       bool
	MakeImage              bool
	MakeVideo              bool
	Models                 []string
}

type Usage

type Usage struct {
	AskTokens    int64
	AnswerTokens int64
	TotalTokens  int64
	UsedTime     int64
}

Jump to

Keyboard shortcuts

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