feat: switch to OpenRouter for web search integration

This commit is contained in:
Yiyang Kang 2025-09-19 15:11:45 +09:00
parent 07d2042eb7
commit 7fd8146ec5
7 changed files with 33 additions and 29 deletions

View file

@ -95,7 +95,7 @@ type assistantStreamedResponseCb func(text string, finished bool) error
func assistantStreamedResponse(request openai.ChatRequest, cb assistantStreamedResponseCb) error {
logger.Debugw("Openai chat request", "req", request)
ai := openai.NewClient(config.OpenAIApiKey)
ai := openai.NewClientWithBaseUrl(config.OpenAIApiKey, config.OpenAIApiBaseURL)
var (
resp *openai.ChatResponseStream
@ -234,23 +234,24 @@ func handleAssistantConversation(c tele.Context, thread []*tele.Message) error {
}
req := openai.ChatRequest{
Model: openai.ModelGpt5,
Messages: chatReqMsgs,
Temperature: nil, // lo.ToPtr(0.42),
User: assistantHashUserId(lastMsg.Sender.ID),
Model: openai.ModelGpt5Online,
Messages: chatReqMsgs,
ReasoningEffort: openai.ReasoningEffortMedium,
Temperature: nil, // lo.ToPtr(0.42),
User: assistantHashUserId(lastMsg.Sender.ID),
}
typingNotifyCh := setTyping(c)
// typingNotifyCh := setTyping(c)
var replyMsg *tele.Message
replyMsg, err := c.Bot().Reply(lastMsg, reasoningIndicatorMessage, tele.Silent)
if err != nil {
logger.Errorw("assistant: failed to complete reasoning request", "error", err)
return c.Reply("Sorry, there's a technical issue. 😵💫 Please try again later.", tele.Silent)
}
reqErr := assistantStreamedResponse(req, func(text string, finished bool) error {
var err error
if replyMsg == nil {
<-typingNotifyCh
replyMsg, err = c.Bot().Reply(lastMsg, text, tele.Silent)
} else {
replyMsg, err = c.Bot().Edit(replyMsg, text)
}
replyMsg, err = c.Bot().Edit(replyMsg, text)
if finished && err == nil {
replyMsg.ReplyTo = lastMsg // nasty bug
if err := cacheMessage(replyMsg); err != nil {