mirror of
https://github.com/songquanpeng/one-api.git
synced 2025-11-16 13:13:41 +08:00
✨ feat: complete some issues (#98)
* 🎨 improve: SparkDesk support system roles * 🎨 feat: Update Baidu model name * ✨ feat: claude support cloudflare gateway
This commit is contained in:
@@ -73,6 +73,14 @@ func (p *BaiduProvider) GetFullRequestURL(requestURL string, modelName string) s
|
||||
"ERNIE-Bot-4": "completions_pro",
|
||||
"BLOOMZ-7B": "bloomz_7b1",
|
||||
"Embedding-V1": "embedding-v1",
|
||||
"ERNIE-4.0": "completions_pro",
|
||||
"ERNIE-3.5-8K": "completions",
|
||||
"ERNIE-Bot-8K": "ernie_bot_8k",
|
||||
"ERNIE-Speed": "ernie_speed",
|
||||
}
|
||||
|
||||
if modelNameConvert, ok := modelNameMap[modelName]; ok {
|
||||
modelName = modelNameConvert
|
||||
}
|
||||
|
||||
baseURL := strings.TrimSuffix(p.GetBaseURL(), "/")
|
||||
@@ -81,7 +89,7 @@ func (p *BaiduProvider) GetFullRequestURL(requestURL string, modelName string) s
|
||||
return ""
|
||||
}
|
||||
|
||||
return fmt.Sprintf("%s%s/%s?access_token=%s", baseURL, requestURL, modelNameMap[modelName], apiKey)
|
||||
return fmt.Sprintf("%s%s/%s?access_token=%s", baseURL, requestURL, modelName, apiKey)
|
||||
}
|
||||
|
||||
// 获取请求头
|
||||
|
||||
@@ -2,11 +2,13 @@ package claude
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"one-api/common/requester"
|
||||
"one-api/model"
|
||||
"one-api/providers/base"
|
||||
"one-api/types"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type ClaudeProviderFactory struct{}
|
||||
@@ -71,6 +73,15 @@ func (p *ClaudeProvider) GetRequestHeaders() (headers map[string]string) {
|
||||
return headers
|
||||
}
|
||||
|
||||
func (p *ClaudeProvider) GetFullRequestURL(requestURL string, modelName string) string {
|
||||
baseURL := strings.TrimSuffix(p.GetBaseURL(), "/")
|
||||
if strings.HasPrefix(baseURL, "https://gateway.ai.cloudflare.com") {
|
||||
requestURL = strings.TrimPrefix(requestURL, "/v1")
|
||||
}
|
||||
|
||||
return fmt.Sprintf("%s%s", baseURL, requestURL)
|
||||
}
|
||||
|
||||
func stopReasonClaude2OpenAI(reason string) string {
|
||||
switch reason {
|
||||
case "end_turn":
|
||||
|
||||
@@ -75,16 +75,7 @@ func (p *XunfeiProvider) getChatRequest(request *types.ChatCompletionRequest) (*
|
||||
func (p *XunfeiProvider) convertFromChatOpenai(request *types.ChatCompletionRequest) *XunfeiChatRequest {
|
||||
messages := make([]XunfeiMessage, 0, len(request.Messages))
|
||||
for _, message := range request.Messages {
|
||||
if message.Role == "system" {
|
||||
messages = append(messages, XunfeiMessage{
|
||||
Role: types.ChatMessageRoleUser,
|
||||
Content: message.StringContent(),
|
||||
})
|
||||
messages = append(messages, XunfeiMessage{
|
||||
Role: types.ChatMessageRoleAssistant,
|
||||
Content: "Okay",
|
||||
})
|
||||
} else if message.Role == types.ChatMessageRoleFunction {
|
||||
if message.Role == types.ChatMessageRoleFunction {
|
||||
messages = append(messages, XunfeiMessage{
|
||||
Role: types.ChatMessageRoleUser,
|
||||
Content: "这是函数调用返回的内容,请回答之前的问题:\n" + message.StringContent(),
|
||||
|
||||
Reference in New Issue
Block a user