feat: 添加配置文件支持并重构聊天模块

- 新增config.yaml和config.go用于管理配置
- 重构chatmodel.go使用配置初始化模型
- 修改GenerateChatMessage和ChatStream函数签名添加context参数
- 更新main.go加载配置并初始化聊天模型
- 优化错误处理和日志输出
This commit is contained in:
lirui
2026-01-11 20:32:41 +08:00
parent 23ad2909e5
commit 5632bf88f8
8 changed files with 137 additions and 124 deletions

33
config/config.go Normal file
View File

@@ -0,0 +1,33 @@
package config
import (
"os"
"time"
"gopkg.in/yaml.v3"
)
type OpenAIConfig struct {
BaseURL string `yaml:"base_url"`
Model string `yaml:"model"`
APIKey string `yaml:"api_key"`
Timeout time.Duration `yaml:"timeout"`
}
type Config struct {
OpenAI OpenAIConfig `yaml:"openai"`
}
func LoadConfig(path string) (*Config, error) {
data, err := os.ReadFile(path)
if err != nil {
return nil, err
}
var config Config
if err := yaml.Unmarshal(data, &config); err != nil {
return nil, err
}
return &config, nil
}