Просмотр исходного кода

Merge remote-tracking branch 'origin/main'

1808837298@qq.com 1 год назад
Родитель
Сommit
995b3a2403
2 измененных файлов с 9 добавлено и 0 удалено
  1. 1 0
      dto/openai_request.go
  2. 8 0
      relay/channel/siliconflow/adaptor.go

+ 1 - 0
dto/openai_request.go

@@ -18,6 +18,7 @@ type GeneralOpenAIRequest struct {
 	Model               string          `json:"model,omitempty"`
 	Messages            []Message       `json:"messages,omitempty"`
 	Prompt              any             `json:"prompt,omitempty"`
+	Suffix              any             `json:"suffix,omitempty"`
 	Stream              bool            `json:"stream,omitempty"`
 	StreamOptions       *StreamOptions  `json:"stream_options,omitempty"`
 	MaxTokens           uint            `json:"max_tokens,omitempty"`

+ 8 - 0
relay/channel/siliconflow/adaptor.go

@@ -36,6 +36,8 @@ func (a *Adaptor) GetRequestURL(info *relaycommon.RelayInfo) (string, error) {
 		return fmt.Sprintf("%s/v1/embeddings", info.BaseUrl), nil
 	} else if info.RelayMode == constant.RelayModeChatCompletions {
 		return fmt.Sprintf("%s/v1/chat/completions", info.BaseUrl), nil
+	} else if info.RelayMode == constant.RelayModeCompletions {
+		return fmt.Sprintf("%s/v1/completions", info.BaseUrl), nil
 	}
 	return "", errors.New("invalid relay mode")
 }
@@ -72,6 +74,12 @@ func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycom
 		} else {
 			err, usage = openai.OpenaiHandler(c, resp, info.PromptTokens, info.UpstreamModelName)
 		}
+	case constant.RelayModeCompletions:
+		if info.IsStream {
+			err, usage = openai.OaiStreamHandler(c, resp, info)
+		} else {
+			err, usage = openai.OpenaiHandler(c, resp, info.PromptTokens, info.UpstreamModelName)
+		}
 	case constant.RelayModeEmbeddings:
 		err, usage = openai.OpenaiHandler(c, resp, info.PromptTokens, info.UpstreamModelName)
 	}