From 8cde75e137f415748ac23b52db2391c1a2728900 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Wed, 10 Sep 2025 10:28:28 +0800 Subject: [PATCH] feat(model): support extra_body for openai --- chat/chat.go | 4 +--- model/openai.go | 6 ++++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/chat/chat.go b/chat/chat.go index 35640d0..b564196 100644 --- a/chat/chat.go +++ b/chat/chat.go @@ -124,8 +124,6 @@ func (l *Log) ResetIn(grps ...int64) { l.mu.Lock() defer l.mu.Unlock() for _, grp := range grps { - if _, exists := l.m[grp]; exists { - delete(l.m, grp) - } + delete(l.m, grp) } } diff --git a/model/openai.go b/model/openai.go index 2f59a76..1f08ef0 100644 --- a/model/openai.go +++ b/model/openai.go @@ -37,6 +37,7 @@ type OpenAI struct { Temperature float32 `json:"temperature"` // Temperature 0.7 TopP float32 `json:"top_p"` // TopP 0.9 MaxTokens int `json:"max_tokens"` // MaxTokens 4096 + ExtraBody any `json:"extra_body"` } // NewOpenAI use temp 0.7, topp 0.9, maxn 4096 if you don't know the meaning. @@ -59,6 +60,11 @@ func (*OpenAI) Header(key string, h http.Header) { h.Add("Authorization", "Bearer "+key) } +func (opai *OpenAI) SetExtra(body any) *OpenAI { + opai.ExtraBody = body + return opai +} + func (opai *OpenAI) Body() *bytes.Buffer { w := bytes.NewBuffer(make([]byte, 0, 8192)) err := json.NewEncoder(w).Encode(opai)