Documentation ¶
Index ¶
- Variables
- type ChatCompletionErrorContent
- type ChatCompletionErrorResponse
- type ChatCompletionRequest
- type ChatCompletionResponse
- type Choice
- type CostEstimator
- func (ce *CostEstimator) EstimateChatCompletionPromptCost(r *ChatCompletionRequest) (float64, error)
- func (ce *CostEstimator) EstimateCompletionCost(model string, tks int) (float64, error)
- func (ce *CostEstimator) EstimatePromptCost(model string, tks int) (float64, error)
- func (ce *CostEstimator) EstimateTotalCost(model string, promptTks, completionTks int) (float64, error)
- type ErrorContent
- type Function
- type FunctionCall
- type FuntionCallProp
- func (p *FuntionCallProp) GetDescription() string
- func (p *FuntionCallProp) GetEnum() []string
- func (p *FuntionCallProp) GetItems() (functionCallProp, error)
- func (p *FuntionCallProp) GetProperties() (map[string]functionCallProp, error)
- func (p *FuntionCallProp) GetRequired() []string
- func (p *FuntionCallProp) GetType() string
- type RequestMessage
- type ResponseMessage
- type TokenCounter
- type Usage
Constants ¶
This section is empty.
Variables ¶
View Source
var OpenAiPerThousandTokenCost = map[string]map[string]float64{
"prompt": {
"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-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,
},
"embedding": {
"text-embedding-ada-002": 0.0001,
},
"completion": {
"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 ChatCompletionErrorResponse ¶
type ChatCompletionErrorResponse struct {
Error *ErrorContent `json:"error"`
}
type ChatCompletionRequest ¶
type ChatCompletionRequest struct { Model string `json:"model"` Messages []RequestMessage `json:"messages"` Functions []Function `json:"functions,omitempty"` MaxTokens int `json:"max_tokens,omitempty"` Temperature float32 `json:"temperature,omitempty"` TopP float32 `json:"top_p,omitempty"` N int `json:"n,omitempty"` Stream bool `json:"stream,omitempty"` Stop []string `json:"stop,omitempty"` PresencePenalty float32 `json:"presence_penalty,omitempty"` FrequencyPenalty float32 `json:"frequency_penalty,omitempty"` LogitBias map[string]int `json:"logit_bias,omitempty"` User string `json:"user,omitempty"` }
type ChatCompletionResponse ¶
type Choice ¶
type Choice struct { Index int `json:"index"` Message ResponseMessage `json:"message"` FinishReason string `json:"finish_reason"` }
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) EstimateChatCompletionPromptCost ¶
func (ce *CostEstimator) EstimateChatCompletionPromptCost(r *ChatCompletionRequest) (float64, error)
func (*CostEstimator) EstimateCompletionCost ¶
func (ce *CostEstimator) EstimateCompletionCost(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 ErrorContent ¶
type Function ¶
type Function struct { Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` Parameters *FuntionCallProp `json:"parameters,omitempty"` }
type FunctionCall ¶
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 RequestMessage ¶
type RequestMessage struct { Name string `json:"name,omitempty"` FunctionCall *FunctionCall `json:"function_call,omitempty"` Role string `json:"role,omitempty"` Content string `json:"content,omitempty"` }
type ResponseMessage ¶
type TokenCounter ¶
type TokenCounter struct {
// contains filtered or unexported fields
}
func NewTokenCounter ¶
func NewTokenCounter() (*TokenCounter, error)
Click to show internal directories.
Click to hide internal directories.