feat(test): 添加 Gemini 双响应格式支持
添加对两种 Gemini 响应格式的支持:
- AI Studio: `{"candidates": [...]}`
- Gemini CLI: `{"response": {"candidates": [...]}}`
通过 unwrap 逻辑自动检测并适配两种格式,确保账号测试功能
对所有 Gemini 账号类型都能正常工作。
合并 PR #43 的剩余功能到 PR #37
This commit is contained in:
@@ -592,7 +592,12 @@ func (s *AccountTestService) processGeminiStream(c *gin.Context, body io.Reader)
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
// Extract text from candidates[0].content.parts[].text
|
// Support two Gemini response formats:
|
||||||
|
// - AI Studio: {"candidates": [...]}
|
||||||
|
// - Gemini CLI: {"response": {"candidates": [...]}}
|
||||||
|
if resp, ok := data["response"].(map[string]any); ok && resp != nil {
|
||||||
|
data = resp
|
||||||
|
}
|
||||||
if candidates, ok := data["candidates"].([]any); ok && len(candidates) > 0 {
|
if candidates, ok := data["candidates"].([]any); ok && len(candidates) > 0 {
|
||||||
if candidate, ok := candidates[0].(map[string]any); ok {
|
if candidate, ok := candidates[0].(map[string]any); ok {
|
||||||
// Check for completion
|
// Check for completion
|
||||||
|
|||||||
Reference in New Issue
Block a user