some changes

This commit is contained in:
2026-03-02 00:58:43 +03:00
parent b394c0be68
commit 3e0d3db47e
13 changed files with 486 additions and 292 deletions

49
openai/completitions.go Normal file
View File

@@ -0,0 +1,49 @@
package openai
import (
"fmt"
"iter"
)
var MaxRetriesErr = fmt.Errorf("max retries exceeded")
var BadResponseErr = fmt.Errorf("bad_response_status_code")
type CreateCompletionReq struct {
Model string `json:"model"`
Messages []Message `json:"messages"`
Verbosity string `json:"verbosity,omitempty"`
Temperature float32 `json:"temperature,omitempty"`
PresencePenalty int `json:"presence_penalty,omitempty"`
FrequencyPenalty int `json:"frequency_penalty,omitempty"`
TopP int `json:"top_p,omitempty"`
MaxCompletionTokens int `json:"max_completition_tokens,omitempty"`
Stream bool `json:"stream,omitempty"`
}
func (api *API) CreateCompletionStream(history []Message, message string, temp float32) (iter.Seq2[AIResponse, error], error) {
params := CreateCompletionReq{
Model: api.model,
Messages: append(history, Message{
Role: "user",
Content: message,
}),
Temperature: temp,
Stream: true,
}
req := NewRequest("chat/completions", params)
return req.DoStream(api)
}
func (api *API) CreateCompletion(history []Message, message string, temp float32) (AIResponse, error) {
params := CreateCompletionReq{
Model: api.model,
Messages: append(history, Message{
Role: "user",
Content: message,
}),
Temperature: temp,
Stream: false,
}
req := NewRequest("chat/completions", params)
return req.Do(api)
}