refactor(backend): 优化 API 客户端配置并调整日志输出

- 为 OpenAI API 客户端添加重试次数和超时设置
- 修改 OpenAI API 客户端初始化,设置基础 URL
- 优化 OpenAI API 响应数据的处理逻辑
- 为 stock_data API 客户端添加重试次数设置
- 在 stock_data API 中添加日志和错误处理
This commit is contained in:
spark 2025-02-03 13:50:13 +08:00
parent f5aa70bf61
commit 869eced99e
2 changed files with 9 additions and 3 deletions

View File

@ -9,6 +9,7 @@ import (
"go-stock/backend/logger"
"strings"
"sync"
"time"
)
// @Author spark
@ -128,6 +129,8 @@ func (o OpenAi) NewChatStream(stock, stockCode string) <-chan string {
client.SetBaseURL(o.BaseUrl)
client.SetHeader("Authorization", "Bearer "+o.ApiKey)
client.SetHeader("Content-Type", "application/json")
client.SetRetryCount(3)
client.SetTimeout(time.Second * 30)
msg := []map[string]interface{}{
{
@ -139,8 +142,8 @@ func (o OpenAi) NewChatStream(stock, stockCode string) <-chan string {
}
wg := &sync.WaitGroup{}
wg.Add(4)
go func() {
defer wg.Done()
messages := SearchStockPriceInfo(stockCode)
@ -212,8 +215,8 @@ func (o OpenAi) NewChatStream(stock, stockCode string) <-chan string {
scanner := bufio.NewScanner(resp.RawBody())
for scanner.Scan() {
line := scanner.Text()
//logger.SugaredLogger.Infof("Received data: %s", line)
if strings.HasPrefix(line, "data: ") {
logger.SugaredLogger.Infof("Received data: %s", line)
if strings.HasPrefix(line, "chat data: ") {
data := strings.TrimPrefix(line, "data: ")
if data == "[DONE]" {
return
@ -247,6 +250,7 @@ func (o OpenAi) NewCommonChatStream(stock, stockCode, apiURL, apiKey, Model stri
client := resty.New()
client.SetHeader("Authorization", "Bearer "+apiKey)
client.SetHeader("Content-Type", "application/json")
client.SetRetryCount(3)
msg := []map[string]interface{}{
{

View File

@ -561,6 +561,8 @@ func SearchStockInfo(stock, msgType string) *[]string {
// 创建一个 chromedp 上下文
ctx, cancel := chromedp.NewContext(
context.Background(),
chromedp.WithLogf(logger.SugaredLogger.Infof),
chromedp.WithErrorf(logger.SugaredLogger.Errorf),
)
defer cancel()
var htmlContent string