openai

package
v1.9.0 Latest Latest
Warning

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

Go to latest
Published: Feb 6, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var OpenAiPerThousandTokenCost = map[string]map[string]float64{
	"prompt": {
		"gpt-4-1106-preview":        0.01,
		"gpt-4-0125-preview":        0.01,
		"gpt-4-1106-vision-preview": 0.01,
		"gpt-4":                     0.03,
		"gpt-4-0314":                0.03,
		"gpt-4-0613":                0.03,
		"gpt-4-32k":                 0.06,
		"gpt-4-32k-0613":            0.06,
		"gpt-4-32k-0314":            0.06,
		"gpt-3.5-turbo":             0.0015,
		"gpt-3.5-turbo-1106":        0.001,
		"gpt-3.5-turbo-0301":        0.0015,
		"gpt-3.5-turbo-instruct":    0.0015,
		"gpt-3.5-turbo-0613":        0.0015,
		"gpt-3.5-turbo-16k":         0.0015,
		"gpt-3.5-turbo-16k-0613":    0.0015,
		"text-davinci-003":          0.12,
		"text-davinci-002":          0.12,
		"code-davinci-002":          0.12,
		"text-curie-001":            0.012,
		"text-babbage-001":          0.0024,
		"text-ada-001":              0.0016,
		"davinci":                   0.12,
		"curie":                     0.012,
		"babbage":                   0.0024,
		"ada":                       0.0016,
	},
	"fine_tune": {
		"text-davinci-003": 0.03,
		"text-davinci-002": 0.03,
		"code-davinci-002": 0.03,
		"text-curie-001":   0.03,
		"text-babbage-001": 0.0006,
		"text-ada-001":     0.0004,
		"davinci":          0.03,
		"curie":            0.03,
		"babbage":          0.0006,
		"ada":              0.0004,
	},
	"embeddings": {
		"text-embedding-ada-002": 0.0001,
		"text-embedding-3-small": 0.00002,
		"text-embedding-3-large": 0.00013,
	},
	"completion": {
		"gpt-3.5-turbo-1106":        0.002,
		"gpt-4-1106-preview":        0.03,
		"gpt-4-0125-preview":        0.03,
		"gpt-4-1106-vision-preview": 0.03,
		"gpt-4":                     0.06,
		"gpt-4-0314":                0.06,
		"gpt-4-0613":                0.06,
		"gpt-4-32k":                 0.12,
		"gpt-4-32k-0613":            0.12,
		"gpt-4-32k-0314":            0.12,
		"gpt-3.5-turbo":             0.002,
		"gpt-3.5-turbo-0301":        0.002,
		"gpt-3.5-turbo-0613":        0.002,
		"gpt-3.5-turbo-instruct":    0.002,
		"gpt-3.5-turbo-16k":         0.004,
		"gpt-3.5-turbo-16k-0613":    0.004,
	},
}

Functions

This section is empty.

Types

type CostEstimator

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

func NewCostEstimator

func NewCostEstimator(m map[string]map[string]float64, tc tokenCounter) *CostEstimator

func (*CostEstimator) EstimateChatCompletionPromptCostWithTokenCounts added in v1.3.0

func (ce *CostEstimator) EstimateChatCompletionPromptCostWithTokenCounts(r *goopenai.ChatCompletionRequest) (int, float64, error)

func (*CostEstimator) EstimateChatCompletionPromptTokenCounts added in v1.6.0

func (ce *CostEstimator) EstimateChatCompletionPromptTokenCounts(model string, r *goopenai.ChatCompletionRequest) (int, error)

func (*CostEstimator) EstimateChatCompletionStreamCostWithTokenCounts added in v1.3.0

func (ce *CostEstimator) EstimateChatCompletionStreamCostWithTokenCounts(model string, content string) (int, float64, error)

func (*CostEstimator) EstimateCompletionCost

func (ce *CostEstimator) EstimateCompletionCost(model string, tks int) (float64, error)

func (*CostEstimator) EstimateEmbeddingsCost added in v1.0.4

func (ce *CostEstimator) EstimateEmbeddingsCost(r *goopenai.EmbeddingRequest) (float64, error)

func (*CostEstimator) EstimateEmbeddingsInputCost added in v1.0.4

func (ce *CostEstimator) EstimateEmbeddingsInputCost(model string, tks int) (float64, error)

func (*CostEstimator) EstimatePromptCost

func (ce *CostEstimator) EstimatePromptCost(model string, tks int) (float64, error)

func (*CostEstimator) EstimateTotalCost added in v0.0.9

func (ce *CostEstimator) EstimateTotalCost(model string, promptTks, completionTks int) (float64, error)

type FuntionCallProp

type FuntionCallProp struct {
	Description string                 `json:"description,omitempty"`
	PropType    string                 `json:"type,omitempty"`
	Enum        []string               `json:"enum,omitempty"`
	Items       interface{}            `json:"items,omitempty"`
	Required    []string               `json:"required,omitempty"`
	Properties  map[string]interface{} `json:"properties,omitempty"`
}

func (*FuntionCallProp) GetDescription

func (p *FuntionCallProp) GetDescription() string

func (*FuntionCallProp) GetEnum

func (p *FuntionCallProp) GetEnum() []string

func (*FuntionCallProp) GetItems

func (p *FuntionCallProp) GetItems() (functionCallProp, error)

func (*FuntionCallProp) GetProperties

func (p *FuntionCallProp) GetProperties() (map[string]functionCallProp, error)

func (*FuntionCallProp) GetRequired

func (p *FuntionCallProp) GetRequired() []string

func (*FuntionCallProp) GetType

func (p *FuntionCallProp) GetType() string

type TokenCounter

type TokenCounter struct {
}

func NewTokenCounter

func NewTokenCounter() *TokenCounter

func (*TokenCounter) Count

func (tc *TokenCounter) Count(model string, input string) (int, error)

Jump to

Keyboard shortcuts

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