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

fix: check claudeResponse delta StopReason nil point

feitianbubu пре 2 месеци
родитељ
комит
3652dfdbd5
1 измењених фајлова са 5 додато и 3 уклоњено
  1. 5 3
      relay/channel/claude/relay-claude.go

+ 5 - 3
relay/channel/claude/relay-claude.go

@@ -483,9 +483,11 @@ func StreamResponseClaude2OpenAI(reqMode int, claudeResponse *dto.ClaudeResponse
 				}
 			}
 		} else if claudeResponse.Type == "message_delta" {
-			finishReason := stopReasonClaude2OpenAI(*claudeResponse.Delta.StopReason)
-			if finishReason != "null" {
-				choice.FinishReason = &finishReason
+			if claudeResponse.Delta != nil && claudeResponse.Delta.StopReason != nil {
+				finishReason := stopReasonClaude2OpenAI(*claudeResponse.Delta.StopReason)
+				if finishReason != "null" {
+					choice.FinishReason = &finishReason
+				}
 			}
 			//claudeUsage = &claudeResponse.Usage
 		} else if claudeResponse.Type == "message_stop" {