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

fix: check claudeResponse delta StopReason nil point

feitianbubu 5 дней назад
Родитель
Сommit
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" {