diff --git a/chat.go b/chat.go index cfa86b6f3..0de0c13b0 100644 --- a/chat.go +++ b/chat.go @@ -68,7 +68,9 @@ func (c *Client) CreateChatCompletion( request ChatCompletionRequest, ) (response ChatCompletionResponse, err error) { model := request.Model - if model != GPT3Dot5Turbo0301 && model != GPT3Dot5Turbo { + switch model { + case GPT3Dot5Turbo0301, GPT3Dot5Turbo, GPT4, GPT40314, GPT432K0314, GPT432K: + default: err = ErrChatCompletionInvalidModel return } diff --git a/completion.go b/completion.go index b060815bd..2cce97b53 100644 --- a/completion.go +++ b/completion.go @@ -17,6 +17,10 @@ var ( // GPT3 Models are designed for text-based tasks. For code-specific // tasks, please refer to the Codex series of models. const ( + GPT432K0314 = "gpt-4-32k-0314" + GPT432K = "gpt-4-32k" + GPT40314 = "gpt-4-0314" + GPT4 = "gpt-4" GPT3Dot5Turbo0301 = "gpt-3.5-turbo-0301" GPT3Dot5Turbo = "gpt-3.5-turbo" GPT3TextDavinci003 = "text-davinci-003" @@ -97,7 +101,8 @@ func (c *Client) CreateCompletion( ctx context.Context, request CompletionRequest, ) (response CompletionResponse, err error) { - if request.Model == GPT3Dot5Turbo0301 || request.Model == GPT3Dot5Turbo { + switch request.Model { + case GPT3Dot5Turbo0301, GPT3Dot5Turbo, GPT4, GPT40314, GPT432K0314, GPT432K: err = ErrCompletionUnsupportedModel return }