Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

2
respostas

Desafio e a etapa 1

#etapa 3

lista_de_dicionarios_de_resposta = []

for pergunta in lista_desafio:
    resposta = client.interactions.create(
        model='gemini-3.5-flash',
        input=f"Gere uma resposta muito sucinta para a pergunta: {pergunta}"
    )

    lista_de_dicionarios_de_resposta.append({
        "pergunta": pergunta,
        "resposta": resposta.output_text
    })

Porque o meu código está pedindo para usar "resposta.output_text" ao invés de resposta.text igual o vídeo?

2 respostas

Olá, Daiane! Tudo bem?

Isso acontece porque o código do vídeo provavelmente está usando uma versão diferente da API ou um método diferente para fazer a chamada ao Gemini.

No seu código, você está usando a Interactions API:

resposta = client.interactions.create(
    model='gemini-3.5-flash',
    input=f"Gere uma resposta muito sucinta para a pergunta: {pergunta}"
)

Na versão atual da API, o objeto retornado por client.interactions.create() possui a propriedade output_text. A própria documentação oficial do Gemini usa exatamente essa forma: interaction.output_text.

Por isso, no seu caso, está correto usar:

lista_de_dicionarios_de_resposta.append({
    "pergunta": pergunta,
    "resposta": resposta.output_text
})

E por que no vídeo aparece resposta.text?

Provavelmente o vídeo utiliza a Generate Content API, que possui uma interface diferente. Por exemplo:

resposta = client.models.generate_content(
    model="gemini-3.5-flash",
    contents="Como funciona um algoritmo?"
)

print(resposta.text)

Nesse método, response.text é realmente a propriedade usada para obter o texto gerado. A documentação diferencia explicitamente os dois casos: Generate Content → response.text e Interactions → interaction.output_text.

Então você pode pensar assim:

Método utilizadoPropriedade
client.models.generate_content()resposta.text
client.interactions.create()resposta.output_text

Seu código não está errado. Na verdade, como você está utilizando client.interactions.create(), resposta.output_text é a forma recomendada atualmente. O vídeo provavelmente foi gravado com outra API/versão do SDK ou está utilizando generate_content(). A documentação atual do Gemini 3.5 Flash recomenda a Interactions API para novos projetos.

Espero ter ajudado e fico à disposição se precisar.

Abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado