feat(AI): add salted user id
This commit is contained in:
parent
816ae68aeb
commit
b60be9ae7e
|
@ -1,6 +1,8 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"crypto/md5"
|
||||
"encoding/base64"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
@ -234,6 +236,7 @@ func handleAssistantConversation(c tele.Context, thread []*tele.Message) error {
|
|||
Messages: chatReqMsgs,
|
||||
Temperature: lo.ToPtr(0.42),
|
||||
MaxTokens: 2048,
|
||||
User: assistantHashUserId(lastMsg.Sender.ID),
|
||||
}
|
||||
|
||||
typingNotifyCh := setTyping(c)
|
||||
|
@ -272,3 +275,9 @@ func assistantRemoveMention(msg, name string) string {
|
|||
}
|
||||
return orig
|
||||
}
|
||||
|
||||
func assistantHashUserId(uid int64) string {
|
||||
seasoned := []byte("RdnuRPqp66vtbc28QRO0ecKSLKXifz7G9UbXLoyCMpw" + strconv.FormatInt(uid, 10))
|
||||
hashed := md5.Sum(seasoned) // Don't judge me
|
||||
return base64.URLEncoding.EncodeToString(hashed[:])[:22]
|
||||
}
|
||||
|
|
|
@ -18,16 +18,16 @@ type ChatMessage struct {
|
|||
type ChatRequest struct {
|
||||
Model string `json:"model"`
|
||||
Messages []ChatMessage `json:"messages"`
|
||||
Temperature *float64 `json:"temperature,omitempty"`
|
||||
TopP *float64 `json:"top_p,omitempty"`
|
||||
N int `json:"n,omitempty"`
|
||||
Stream bool `json:"stream,omitempty"`
|
||||
Stop []string `json:"stop,omitempty"`
|
||||
Temperature *float64 `json:"temperature,omitempty"` // What sampling temperature to use, between 0 and 2.
|
||||
TopP *float64 `json:"top_p,omitempty"` // Nucleus sampling. Specify this or temperature but not both.
|
||||
N int `json:"n,omitempty"` // How many chat completion choices to generate for each input message.
|
||||
Stream bool `json:"stream,omitempty"` // If set, partial message deltas will be sent as data-only server-sent events as they become available.
|
||||
Stop []string `json:"stop,omitempty"` // Up to 4 sequences where the API will stop generating further tokens.
|
||||
MaxTokens int `json:"max_tokens,omitempty"`
|
||||
PresencePenalty *float64 `json:"presence_penalty,omitempty"`
|
||||
FrequencyPenalty *float64 `json:"frequency_penalty,omitempty"`
|
||||
LogitBias map[string]float64 `json:"logit_bias,omitempty"`
|
||||
User string `json:"user,omitempty"`
|
||||
PresencePenalty *float64 `json:"presence_penalty,omitempty"` // Number between -2.0 and 2.0.
|
||||
FrequencyPenalty *float64 `json:"frequency_penalty,omitempty"` // Number between -2.0 and 2.0.
|
||||
LogitBias map[string]float64 `json:"logit_bias,omitempty"` // Modify the likelihood of specified tokens appearing in the completion.
|
||||
User string `json:"user,omitempty"` // A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.
|
||||
}
|
||||
|
||||
type ChatResponseChoice struct {
|
||||
|
|
Loading…
Reference in New Issue