func ChatStreaming()

in go/chat.go [52:92]


func ChatStreaming() error {
	// [START chat_streaming]
	ctx := context.Background()
	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		APIKey:  os.Getenv("GEMINI_API_KEY"),
		Backend: genai.BackendGeminiAPI,
	})
	if err != nil {
		log.Fatal(err)
	}

	history := []*genai.Content{
		genai.NewContentFromText("Hello", genai.RoleUser),
		genai.NewContentFromText("Great to meet you. What would you like to know?", genai.RoleModel),
	}
	chat, err := client.Chats.Create(ctx, "gemini-2.0-flash", nil, history)
	if err != nil {
		log.Fatal(err)
	}

	for chunk, err := range chat.SendMessageStream(ctx, genai.Part{Text: "I have 2 dogs in my house."}) {
		if err != nil {
			log.Fatal(err)
		}
		fmt.Println(chunk.Text())
		fmt.Println(strings.Repeat("_", 64))
	}

	for chunk, err := range chat.SendMessageStream(ctx, genai.Part{Text: "How many paws are in my house?"}) {
		if err != nil {
			log.Fatal(err)
		}
		fmt.Println(chunk.Text())
		fmt.Println(strings.Repeat("_", 64))
	}

	fmt.Println(chat.History(false))
	// [END chat_streaming]

	return nil
}