in experiments/babel/speak.go [327:354]
func prettyPrintJSON(result *genai.GenerateContentResponse) {
// copy the result so as not to effect the reference
newResult := &genai.GenerateContentResponse{}
resultJSON, err := json.Marshal(result)
if err != nil {
log.Fatal(err)
}
err = json.Unmarshal(resultJSON, newResult)
if err != nil {
log.Fatal(err)
}
// truncate the data part, if it exists
if len(newResult.Candidates) > 0 && newResult.Candidates[0].Content != nil {
if len(newResult.Candidates[0].Content.Parts) > 0 {
data := newResult.Candidates[0].Content.Parts[0].InlineData.Data
if len(data) > 40 {
newResult.Candidates[0].Content.Parts[0].InlineData.Data = append(append(data[:20], []byte("...")...), data[len(data)-20:]...)
}
}
}
response, err := json.MarshalIndent(newResult, "", " ")
if err != nil {
log.Fatal(err)
}
// Log the output.
fmt.Println(string(response))
}