feat: migrate codes from previous project

This commit is contained in:
ECSS 11
2026-01-19 02:10:24 -06:00
parent 00c0f457c5
commit 724fe14c0e
15 changed files with 420 additions and 10 deletions

View File

@@ -0,0 +1,50 @@
package silicon
import (
"context"
"rss-to-feishu-next/internal/config"
"rss-to-feishu-next/internal/net"
)
type Client struct {
netClient *net.Client
}
func NewClient(client *net.Client) *Client {
return &Client{client}
}
func (c *Client) FetchModelResponse(ctx context.Context, message, model string) (*Response, error) {
cfg, err := config.LoadConfig()
if err != nil {
return nil, err
}
token := cfg.Silicon.Token
headers := map[string]string{
"Content-Type": "application/json",
"Authorization": "Bearer " + token,
}
var messages []*Message
messages = append(messages, &Message{
Role: "user",
Content: message,
})
body := &RequestBody{
Model: model,
Messages: messages,
Temperature: 0.7,
MaxTokens: 8096,
}
var resp *Response
url := "https://api.siliconflow.cn/v1/messages"
if err := c.netClient.Post(ctx, headers, url, body, &resp); err != nil {
return nil, err
}
return resp, nil
}