docs: explanation about LogitBias. (129) (#426)

This commit is contained in:
渡邉祐一 / Yuichi Watanabe
2023-07-09 18:11:39 +09:00
committed by GitHub
parent 7b22898f5d
commit 181fc2ade9
2 changed files with 26 additions and 20 deletions

11
chat.go
View File

@@ -52,10 +52,13 @@ type ChatCompletionRequest struct {
Stop []string `json:"stop,omitempty"` Stop []string `json:"stop,omitempty"`
PresencePenalty float32 `json:"presence_penalty,omitempty"` PresencePenalty float32 `json:"presence_penalty,omitempty"`
FrequencyPenalty float32 `json:"frequency_penalty,omitempty"` FrequencyPenalty float32 `json:"frequency_penalty,omitempty"`
LogitBias map[string]int `json:"logit_bias,omitempty"` // LogitBias is must be a token id string (specified by their token ID in the tokenizer), not a word string.
User string `json:"user,omitempty"` // incorrect: `"logit_bias":{"You": 6}`, correct: `"logit_bias":{"1639": 6}`
Functions []FunctionDefinition `json:"functions,omitempty"` // refs: https://platform.openai.com/docs/api-reference/chat/create#chat/create-logit_bias
FunctionCall any `json:"function_call,omitempty"` LogitBias map[string]int `json:"logit_bias,omitempty"`
User string `json:"user,omitempty"`
Functions []FunctionDefinition `json:"functions,omitempty"`
FunctionCall any `json:"function_call,omitempty"`
} }
type FunctionDefinition struct { type FunctionDefinition struct {

View File

@@ -109,22 +109,25 @@ func checkPromptType(prompt any) bool {
// CompletionRequest represents a request structure for completion API. // CompletionRequest represents a request structure for completion API.
type CompletionRequest struct { type CompletionRequest struct {
Model string `json:"model"` Model string `json:"model"`
Prompt any `json:"prompt,omitempty"` Prompt any `json:"prompt,omitempty"`
Suffix string `json:"suffix,omitempty"` Suffix string `json:"suffix,omitempty"`
MaxTokens int `json:"max_tokens,omitempty"` MaxTokens int `json:"max_tokens,omitempty"`
Temperature float32 `json:"temperature,omitempty"` Temperature float32 `json:"temperature,omitempty"`
TopP float32 `json:"top_p,omitempty"` TopP float32 `json:"top_p,omitempty"`
N int `json:"n,omitempty"` N int `json:"n,omitempty"`
Stream bool `json:"stream,omitempty"` Stream bool `json:"stream,omitempty"`
LogProbs int `json:"logprobs,omitempty"` LogProbs int `json:"logprobs,omitempty"`
Echo bool `json:"echo,omitempty"` Echo bool `json:"echo,omitempty"`
Stop []string `json:"stop,omitempty"` Stop []string `json:"stop,omitempty"`
PresencePenalty float32 `json:"presence_penalty,omitempty"` PresencePenalty float32 `json:"presence_penalty,omitempty"`
FrequencyPenalty float32 `json:"frequency_penalty,omitempty"` FrequencyPenalty float32 `json:"frequency_penalty,omitempty"`
BestOf int `json:"best_of,omitempty"` BestOf int `json:"best_of,omitempty"`
LogitBias map[string]int `json:"logit_bias,omitempty"` // LogitBias is must be a token id string (specified by their token ID in the tokenizer), not a word string.
User string `json:"user,omitempty"` // incorrect: `"logit_bias":{"You": 6}`, correct: `"logit_bias":{"1639": 6}`
// refs: https://platform.openai.com/docs/api-reference/completions/create#completions/create-logit_bias
LogitBias map[string]int `json:"logit_bias,omitempty"`
User string `json:"user,omitempty"`
} }
// CompletionChoice represents one of possible completions. // CompletionChoice represents one of possible completions.