1
resposta

SyntaxError no terminal do VS Code

Ao tentar executar esse código, o mesmo não executa nem mesmo recusando o acesso a API por falta da chave. No final está o erro no terminal do VSCode.

Entre os parênteses, separei os argumentos model e messages por vírgula conforme segue para ver se executava e o erro é o mesmo.

SyntaxError: invalid syntax apontado pra linha "role"="system", o estranho é que essa linha é uma string, não era pra dar erro, teoricamente era só pra não trazer nada.

Ajuda eu! O compilador do Python não é preciso nas suas devolutivas de erro e a gente iniciante não consegue imaginar o que ele quer da gente.

import openai

openai.api_key = "A chave da API"

Define o tipo de dados da variável resposta

resposta = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ { "role"="system" "content"="Gere nomes de produtos fictícios sem descrição de acordo com a requisição do usuário." }, { "role"="user" "content"="Gere 5 produtos" } ] )

if not isinstance(resposta, list): raise ValueError("A resposta do OpenAI não é uma lista.")

print("Os nomes dos produtos gerados são:") for produto in resposta: print(produto)

// Retorno do terminal ao executar "role"="system" ^ SyntaxError: invalid syntax

1 resposta

Oii, Estudante! Tudo bem?

O erro que ocorre, porque o Python está esperando um dois pontos (:) após a chave "role" e "content", mas está encontrando um sinal de igual (=) no lugar.

Recomendo realizar a troca em seu código, veja o exemplo de como ficaria:

import openai

openai.api_key = "A chave da API"

resposta = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
        {
            "role": "system",
            "content": "Gere nomes de produtos fictícios sem descrição de acordo com a requisição do usuário."
        },
        {
            "role": "user",
            "content": "Gere 5 produtos"
        }
    ]
)

if not isinstance(resposta, list):
    raise ValueError("A resposta do OpenAI não é uma lista.")

print("Os nomes dos produtos gerados são:")
for produto in resposta:
    print(produto)

Após realizar a troca, salve o projeto e faça o teste. Observe se o código comporta como esperado.

Espero que dê certo! Continue interagindo no fórum compartilhando dúvidas, feedbacks e os projetos.

Bons estudos!