Completion API: add new params (#870)

* Completion API: add 'store' param

This param allows you to opt a completion request in to being stored,
for use in distillations and evals.

* Add cached and audio tokens to usage structs

These have been added to the completions API recently:
https://platform.openai.com/docs/api-reference/chat/object#chat/object-usage
This commit is contained in:
Isaac Seymour
2024-10-09 10:50:27 +01:00
committed by GitHub
parent 7c145ebb4b
commit 991326480f
2 changed files with 23 additions and 12 deletions

View File

@@ -7,10 +7,18 @@ type Usage struct {
PromptTokens int `json:"prompt_tokens"` PromptTokens int `json:"prompt_tokens"`
CompletionTokens int `json:"completion_tokens"` CompletionTokens int `json:"completion_tokens"`
TotalTokens int `json:"total_tokens"` TotalTokens int `json:"total_tokens"`
PromptTokensDetails *PromptTokensDetails `json:"prompt_tokens_details"`
CompletionTokensDetails *CompletionTokensDetails `json:"completion_tokens_details"` CompletionTokensDetails *CompletionTokensDetails `json:"completion_tokens_details"`
} }
// CompletionTokensDetails Breakdown of tokens used in a completion. // CompletionTokensDetails Breakdown of tokens used in a completion.
type CompletionTokensDetails struct { type CompletionTokensDetails struct {
AudioTokens int `json:"audio_tokens"`
ReasoningTokens int `json:"reasoning_tokens"` ReasoningTokens int `json:"reasoning_tokens"`
} }
// PromptTokensDetails Breakdown of tokens used in the prompt.
type PromptTokensDetails struct {
AudioTokens int `json:"audio_tokens"`
CachedTokens int `json:"cached_tokens"`
}

View File

@@ -239,6 +239,9 @@ type CompletionRequest struct {
// incorrect: `"logit_bias":{"You": 6}`, correct: `"logit_bias":{"1639": 6}` // incorrect: `"logit_bias":{"You": 6}`, correct: `"logit_bias":{"1639": 6}`
// refs: https://platform.openai.com/docs/api-reference/completions/create#completions/create-logit_bias // refs: https://platform.openai.com/docs/api-reference/completions/create#completions/create-logit_bias
LogitBias map[string]int `json:"logit_bias,omitempty"` LogitBias map[string]int `json:"logit_bias,omitempty"`
// Store can be set to true to store the output of this completion request for use in distillations and evals.
// https://platform.openai.com/docs/api-reference/chat/create#chat-create-store
Store bool `json:"store,omitempty"`
LogProbs int `json:"logprobs,omitempty"` LogProbs int `json:"logprobs,omitempty"`
MaxTokens int `json:"max_tokens,omitempty"` MaxTokens int `json:"max_tokens,omitempty"`
N int `json:"n,omitempty"` N int `json:"n,omitempty"`