Article image
Leonardo Silva
Leonardo Silva01/09/2023 10:06
Compartilhe

Sobre o Desafio da IA Generativa

    Percorrendo os artigos e analisando a room de Ciência de Dados + Python eu percebi que algumas pessoas estavam confusas sobre como contornar o uso da IA no desafio e resolvi falar um pouco nesse artigo.

    Para início, vamos deixar bem claro que esse desafio não foi feito para copiar e colar (você pode? Sim, mas para fins de aprendizado não é recomendado). Ele foi feito para que você entenda como funcionam os códigos e refaça da sua maneira. É óbvio que muita coisa vai ser parecida/idêntica, até porque você terá que usar os mesmos códigos. Vou demonstrar agora oque eu fiz para contornar o uso da IA:

    OBS: Eu não consigo criar uma conta na IA, já tentei 2 emails diferentes (gmail e hotmail).

    1 - O início do meu código é idêntico ao desafio

    df = pd.read_csv('SDW2023.csv')
    user_ids = df['UserID'].tolist()
    print(user_ids)
    

    2 - Aqui eu também não mudei nada

    def get_user(id):
      response = requests.get(f'https://sdw-2023-prd.up.railway.app/users/{id}')
      return response.json() if response.status_code == 200 else None
    users = [user for id in user_ids if (user := get_user(id)) is not None]
    print(json.dumps(users, indent=2))
    

    3 - Agora que vem o 'pulo do gato'. No lugar de usar a IA, eu criei o arquivo 'Frases.csv' com frases sobre um determinado tema e fiz meu programa escolher uma, dentre todas que coloquei, para inserir na "description".

    df = pd.read_csv('Frases.csv')
    frases = df['Frases'].tolist()
    for user in users:
      numFrase = random.randint(0, 8)
      news = frases[numFrase]
      user['news'].append({"icon": "https://digitalinnovationone.github.io/santander-dev-week-2023-api/icons/credit.svg",
        "description": news})
    

    4 - De resto, meu programa foi todo igual, sem nenhuma alteração.

    def update_user(user):
      response = requests.put(f'https://sdw-2023-prd.up.railway.app/users/{user["id"]})', json=user)
      return True if response.status_code == 200 else False
    for user in users:
      success = update_user(user)
      print(f"User {user['name']} updated? {success}!")
    

    De acordo com tudo mencionado, podemos ver que uma alteração simples fez com que eu contorna-se o uso da IA de maneira rápida e prática. Há muitas possibilidades de refazer esse desafio e cabe a você pensar um pouco fora da 'casinha'. No começo, parece muito complicado mas com o tempo (errando e acertando) a sua mente começa a se adequar e espontâneamente surgem ideias. Claramente esse código não é lá os mais perfeito de todos, longe disso, foi só um contorno para aquela situação específica e é para isso que os desafios são criados.

    Comente a solução que você encontrou para resolver o problema aqui nos comentários.

    Compartilhe
    Comentários (2)

    FO

    Francisco Oliveira - 01/09/2023 10:55

    Bom dia, fiz igual, usando um csv com frases para substituir a IA, pois tambem nao consegui mais o livre acesso na IA

    João Lima
    João Lima - 01/09/2023 10:25

    eu fiz literalmente o mesmo, gerei uma lista de mensagens e criei um csv com elas e usei o método randint para escolher.