Merge pull request #1522 from QuantumNous/support-deepseek-claude
feat: support deepseek claude format (convert)
This commit is contained in:
@@ -361,7 +361,7 @@ type ClaudeUsage struct {
|
|||||||
CacheCreationInputTokens int `json:"cache_creation_input_tokens"`
|
CacheCreationInputTokens int `json:"cache_creation_input_tokens"`
|
||||||
CacheReadInputTokens int `json:"cache_read_input_tokens"`
|
CacheReadInputTokens int `json:"cache_read_input_tokens"`
|
||||||
OutputTokens int `json:"output_tokens"`
|
OutputTokens int `json:"output_tokens"`
|
||||||
ServerToolUse *ClaudeServerToolUse `json:"server_tool_use"`
|
ServerToolUse *ClaudeServerToolUse `json:"server_tool_use,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ClaudeServerToolUse struct {
|
type ClaudeServerToolUse struct {
|
||||||
|
|||||||
@@ -24,10 +24,9 @@ func (a *Adaptor) ConvertGeminiRequest(*gin.Context, *relaycommon.RelayInfo, *dt
|
|||||||
return nil, errors.New("not implemented")
|
return nil, errors.New("not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *Adaptor) ConvertClaudeRequest(*gin.Context, *relaycommon.RelayInfo, *dto.ClaudeRequest) (any, error) {
|
func (a *Adaptor) ConvertClaudeRequest(c *gin.Context, info *relaycommon.RelayInfo, req *dto.ClaudeRequest) (any, error) {
|
||||||
//TODO implement me
|
adaptor := openai.Adaptor{}
|
||||||
panic("implement me")
|
return adaptor.ConvertClaudeRequest(c, info, req)
|
||||||
return nil, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *Adaptor) ConvertAudioRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.AudioRequest) (io.Reader, error) {
|
func (a *Adaptor) ConvertAudioRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.AudioRequest) (io.Reader, error) {
|
||||||
|
|||||||
@@ -283,7 +283,9 @@ func StreamResponseOpenAI2Claude(openAIResponse *dto.ChatCompletionsStreamRespon
|
|||||||
if chosenChoice.FinishReason != nil && *chosenChoice.FinishReason != "" {
|
if chosenChoice.FinishReason != nil && *chosenChoice.FinishReason != "" {
|
||||||
// should be done
|
// should be done
|
||||||
info.FinishReason = *chosenChoice.FinishReason
|
info.FinishReason = *chosenChoice.FinishReason
|
||||||
return claudeResponses
|
if !info.Done {
|
||||||
|
return claudeResponses
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if info.Done {
|
if info.Done {
|
||||||
claudeResponses = append(claudeResponses, generateStopBlock(info.ClaudeConvertInfo.Index))
|
claudeResponses = append(claudeResponses, generateStopBlock(info.ClaudeConvertInfo.Index))
|
||||||
@@ -432,6 +434,8 @@ func stopReasonOpenAI2Claude(reason string) string {
|
|||||||
return "end_turn"
|
return "end_turn"
|
||||||
case "stop_sequence":
|
case "stop_sequence":
|
||||||
return "stop_sequence"
|
return "stop_sequence"
|
||||||
|
case "length":
|
||||||
|
fallthrough
|
||||||
case "max_tokens":
|
case "max_tokens":
|
||||||
return "max_tokens"
|
return "max_tokens"
|
||||||
case "tool_calls":
|
case "tool_calls":
|
||||||
|
|||||||
Reference in New Issue
Block a user