Преглед изворни кода

Merge pull request #1 from jyc001/dev

Dev
e. пре 1 година
родитељ
комит
68bd7f70a4
2 измењених фајлова са 10 додато и 1 уклоњено
  1. 2 1
      dto/openai_request.go
  2. 8 0
      relay/channel/siliconflow/adaptor.go

+ 2 - 1
dto/openai_request.go

@@ -17,7 +17,8 @@ type FormatJsonSchema struct {
 type GeneralOpenAIRequest struct {
 type GeneralOpenAIRequest struct {
 	Model               string          `json:"model,omitempty"`
 	Model               string          `json:"model,omitempty"`
 	Messages            []Message       `json:"messages,omitempty"`
 	Messages            []Message       `json:"messages,omitempty"`
-	Prompt              any             `json:"prompt,omitempty"`
+	Prompt              any             `json:"suffix,omitempty"`
+	Suffix              any             `json:"prompt,omitempty"`
 	Stream              bool            `json:"stream,omitempty"`
 	Stream              bool            `json:"stream,omitempty"`
 	StreamOptions       *StreamOptions  `json:"stream_options,omitempty"`
 	StreamOptions       *StreamOptions  `json:"stream_options,omitempty"`
 	MaxTokens           uint            `json:"max_tokens,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
 		return fmt.Sprintf("%s/v1/embeddings", info.BaseUrl), nil
 	} else if info.RelayMode == constant.RelayModeChatCompletions {
 	} else if info.RelayMode == constant.RelayModeChatCompletions {
 		return fmt.Sprintf("%s/v1/chat/completions", info.BaseUrl), nil
 		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")
 	return "", errors.New("invalid relay mode")
 }
 }
@@ -68,6 +70,12 @@ func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycom
 		} else {
 		} else {
 			err, usage = openai.OpenaiHandler(c, resp, info.PromptTokens, info.UpstreamModelName)
 			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:
 	case constant.RelayModeEmbeddings:
 		err, usage = openai.OpenaiHandler(c, resp, info.PromptTokens, info.UpstreamModelName)
 		err, usage = openai.OpenaiHandler(c, resp, info.PromptTokens, info.UpstreamModelName)
 	}
 	}