Merge pull request #72 from yokowu/feat-proxy-client

feat(proxy): 复用client
This commit is contained in:
Yoko
2025-07-13 21:50:08 +08:00
committed by GitHub
2 changed files with 18 additions and 2 deletions

View File

@@ -442,7 +442,12 @@ func (p *LLMProxy) handleCompletion(ctx context.Context, w http.ResponseWriter,
startTime := time.Now()
client := request.NewClient(u.Scheme, u.Host, 30*time.Second)
client := request.NewClient(
u.Scheme,
u.Host,
30*time.Second,
request.WithClient(p.client),
)
client.SetDebug(p.cfg.Debug)
resp, err := request.Post[openai.CompletionResponse](client, u.Path, req, request.WithHeader(request.Header{
"Authorization": "Bearer " + m.APIKey,
@@ -753,7 +758,12 @@ func (p *LLMProxy) handleChatCompletion(ctx context.Context, w http.ResponseWrit
mode := req.Metadata["mode"]
taskID := req.Metadata["task_id"]
client := request.NewClient(u.Scheme, u.Host, 30*time.Second)
client := request.NewClient(
u.Scheme,
u.Host,
30*time.Second,
request.WithClient(p.client),
)
resp, err := request.Post[openai.ChatCompletionResponse](client, u.Path, req, request.WithHeader(request.Header{
"Authorization": "Bearer " + m.APIKey,
}))

View File

@@ -12,6 +12,12 @@ func WithDebug() ReqOpt {
}
}
func WithClient(client *http.Client) ReqOpt {
return func(c *Client) {
c.client = client
}
}
func WithTransport(tr *http.Transport) ReqOpt {
return func(c *Client) {
c.tr = tr