J'ai cassé GPT-3 😱 La preuve que les développeurs sont encore utiles 💪

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ต.ค. 2024

ความคิดเห็น • 39

  • @ivymike9479
    @ivymike9479 ปีที่แล้ว +5

    La réponse est dans tes premières préoccupations. Il ne peut pas connaître car c'est trop récent. Avec chatGPT, le soucis, c'est que des fois quand il sait pas, il peut te répondre n'importe quoi avec confiance. Et ce qui est incroyable, c'est qu'effectivement, tu peux la corriger, et elle accepte ses erreurs

    • @PurpleGiraffe
      @PurpleGiraffe  ปีที่แล้ว

      C'est clair ! Il semble tellement sur de lui alors qu'il vaudrait mieux qu'ils dise tout simplement qu'il n'a pas cette information. Quand je vois les réponses qu'il a donné à d'autres (voir les autres commentaires) je me demande à partir de quand il va arrêter d'essayer d'inventer quelque chose qui n'existe pas

  • @denisg.8056
    @denisg.8056 ปีที่แล้ว +2

    C'est une IA en cours d'apprentissage ... on en est au tout début ! C'est vrais qu'elle se trompe encore beaucoup et comme j'ai tendance à toujours douter de tout, cela me va bien, même si parfois on a l'impression de tourner en rond.
    En même temps cela aide à réfléchir (alors que si elle ne se trompait pas cela finirait peut-être à avoir l'effet inverse).
    Pour l'instant j'aime bien l'impression d'interaction que l'on a en essayant de la piloter en reformulant avec des questions plus précises.
    En fait c'est très ben si l'on a déjà des idées assez avancées sur ces questions.
    En tous cas merci encore pour toutes ces vidéos motivantes :-)

    • @PurpleGiraffe
      @PurpleGiraffe  ปีที่แล้ว

      Je suis 100% d'accord avec toi Denis, le processus en lui même est vraiment intéressant et on a l'impression d'affiner l'idée en collaboration avec quelqu'un quand on lui pose des questions.

  • @cuisineefficace7903
    @cuisineefficace7903 ปีที่แล้ว

    Super travail merci 🙏🏼

    • @PurpleGiraffe
      @PurpleGiraffe  ปีที่แล้ว

      Avec plaisir 🙂 Happy coding!

  • @Lp-yw6qy
    @Lp-yw6qy ปีที่แล้ว

    Essaie donc de poser ta question sur chatsonic , c’est comme ChatGPT mais connecté à internet 😊

    • @PurpleGiraffe
      @PurpleGiraffe  ปีที่แล้ว

      Merci de l'info, je vais le tester de ce pas ;)

  • @olivierserve152
    @olivierserve152 ปีที่แล้ว +2

    On peut faire un copier-coller de la question dans la vidéo. Un mac récent et hop !

    • @cuisineefficace7903
      @cuisineefficace7903 ปีที่แล้ว

      Comment svp ? J’ai le 16 pouces m1 merci 🙏🏼

    • @PurpleGiraffe
      @PurpleGiraffe  ปีที่แล้ว +1

      J'avais oublié que Live Text avait été ajouté sur les dernières versions de macOS, super idée! J'ai aussi ajouté la question dans le descriptif pour ceux qui n'ont pas accès à cette fonctionnalité

    • @LionelSchinckus
      @LionelSchinckus ปีที่แล้ว

      @@cuisineefficace7903 Il faut utiliser Safari

  • @cuisineefficace7903
    @cuisineefficace7903 ปีที่แล้ว

    J’ai atteint les limites assez rapidement dans le sport et la nutrition mais avec quelques questions en plus on peut affiner la réponse et au final ça vaut quelque chose

    • @PurpleGiraffe
      @PurpleGiraffe  ปีที่แล้ว

      D'accord avec toi, les premiers résultats sont souvent assez limités , il faut des questions complexes ou une suite de questions complémentaires pour obtenir des résultats plus probants

  • @Fine_Mouche
    @Fine_Mouche ปีที่แล้ว

    et essayer via GH copilot ?

    • @PurpleGiraffe
      @PurpleGiraffe  ปีที่แล้ว +1

      J'utilise au quotidien GH Copilot, et je l'adore pour générer des tests unitaires. Par contre pour me proposer des algos, c'est généralement assez moyen. Mais je ne lui pose pas de question, je lui laisse juste quelques secondes pour me proposer des completions automatique. Je pense que dans le cas présent le problème aurait été similaire car il s'agit de la même IA derrière

  • @virgil54
    @virgil54 ปีที่แล้ว

    on en reparle dans 6 mois dans 2 ans ????

    • @PurpleGiraffe
      @PurpleGiraffe  ปีที่แล้ว

      Probablement, c'est d'ailleurs exactement ce que je dis dans la vidéo ;)

  • @chretienkalala7111
    @chretienkalala7111 ปีที่แล้ว +1

    Comment faire pour utiliser ChatGpt en Afrique j'ai du mal à l'utiliser 😔

    • @yvanjuleskana1350
      @yvanjuleskana1350 ปีที่แล้ว +1

      Tu peux demander a une personne en Europe par exmple de te creer une adresse mail depuis la-bas, en suite tu utilise un VPN pour acceder a openAI, et cette adresse mail.

    • @mamadouka1368
      @mamadouka1368 ปีที่แล้ว +1

      ChatGpt peux etre utilise partout dans le monde : il suffit d'avoir un compte gmail et un numero de telephone. je suis en Afrique et je l'utilise correctement

  • @IAreverse
    @IAreverse ปีที่แล้ว

    la qualité de la réponse dépendra de la qualité de la question posée, si la question est vague ou mal formulée, la réponse de ChatGPT peut également être vague ou peu précise ! poser des questions précises et claires pour tirer le meilleur parti de ChatGPT

    • @PurpleGiraffe
      @PurpleGiraffe  ปีที่แล้ว

      Merci pour ce retour! J'ai l'impression que la question était très claire dans ce cas présent et que j'ai bien spécifié "download", d'ailleurs il reprend bien le terme "download" dans sa réponse. Pourtant il me donne du code en rapport avec l'upload.

  • @petern4768
    @petern4768 ปีที่แล้ว

    Il y a peut-être dans tout ça un melange malsain entre le générateur de code et chatgpt. Le générateur peut proposer une coquille de code qui peut même être raisonnable comme structure. Puis, le commentaire du chat suggère que l'API existe et qu'elle fasse ce que l'on cherche à faire, fréquent echo de nos questions. Mais ça va plus loin, j'ai eu des cas ou gpt-3 invente des périphériques, du matériel donc, alors que la documentation du fabriquant n'en parle pas!

    • @PurpleGiraffe
      @PurpleGiraffe  ปีที่แล้ว

      C'est tout à fait possible, il fusionne tellement de sources différentes qu'il propose parfois des résultats qui font du sens, mais qui n'existent pas en vrai.

  • @sadekf9144
    @sadekf9144 ปีที่แล้ว +1

    Montre Qu'on A Encore Utile Voyez....!, Oui, mais pas longtemps

    • @PurpleGiraffe
      @PurpleGiraffe  ปีที่แล้ว

      C'est tout à fait possible et je suis d'accord puisque c'est exactement ce que je dis dans la vidéo. Mais pour le moment ça ne reste qu'un outil extrêmement pratique 👍

  • @radioduthe
    @radioduthe ปีที่แล้ว

    On en reparle dans 15 ans !

    • @ivymike9479
      @ivymike9479 ปีที่แล้ว +1

      Reviens dans 5 ans je veux bien en reparler :)

    • @PurpleGiraffe
      @PurpleGiraffe  ปีที่แล้ว

      Cool ça nous laisse 5 ou 15 ans pour nous adapter! Probablement moins à mon avis mais a reste que mon avis ;)

  • @monprenometmonnom5518
    @monprenometmonnom5518 ปีที่แล้ว

    C'est encore pire quand une IA se comporte comme un humain , il écrit un programme , il se trompe , on lui dit , il reconnait ses fautes et apprend de ses erreurs , l'assistant IA est un outil pour les informaticiens , il faut des informaticiens pour utiliser l'IA , l'avantage du concept de la mondialisation , c'est qu'il faudra moins d'informaticien , que les informaticiens subissent le sort des ouvriers et la délocalisation techno , c'est pas un problème en soi , c'est une normalité

  • @stvndelucis
    @stvndelucis ปีที่แล้ว

    Screenshot + Google Lens = je CTRL C + CTRL V ta question sur la vidéo

    • @PurpleGiraffe
      @PurpleGiraffe  ปีที่แล้ว +1

      Excellente idée Steeven, merci pour le conseil 👍 J'ai aussi mis le texte de la question en descriptif de la vidéo si besoin

  • @sdc2885
    @sdc2885 ปีที่แล้ว

    bonjour, j'ai fais le test de reposer la même question "how to check progress of a downloaded file with the cronet library in kotlin ?" et voici la réponse (différente) IA Gpt:
    To check the progress of a file download using the Cronet library in Kotlin, you can use the Listener interface provided by the library.
    Here is an example of how you can do this:
    val listener = object : Listener {
    override fun onStatus(info: UrlResponseInfo) {
    val progress = info.receivedBytesCount.toDouble() / info.contentLength.toDouble()
    println("Download progress: $progress")
    }
    // Other listener methods
    }
    val request = Request.Builder()
    .url(url)
    .build()
    val call = cronetEngine.newCall(request)
    call.enqueue(listener)
    This will print the download progress to the console as the file is being downloaded. The UrlResponseInfo object provided to the onStatus method contains information about the current status of the download, including the number of bytes received and the total content length of the file.
    You can use this information to calculate the download progress as a percentage and display it to the user.

    • @PurpleGiraffe
      @PurpleGiraffe  ปีที่แล้ว

      Intéressant comme nouvelle réponse! Sauf qu'elle est fausse car le callback onStatus existe bien mais il retourne uniquement un entier, qui représente une valeur d'énumération du status de la connexion (developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/UrlRequest.Status.html). Ce status va changer quelques fois au début de l'échange mais n'a rien à voir avec le téléchargement des bits du corp de la réponse.
      C'est fou qu'il propose autant de solutions différentes, toutes fausses, plutôt que de dire que ça n'est pas possible ou qu'il ne sait pas comment faire.

  • @Jaeloh
    @Jaeloh ปีที่แล้ว

    En lui posant la question en français (comment vérifier la progression d'un fichier téléchargé avec la bibliothèque cronet en kotlin ?), voilà çà réponse :
    La bibliothèque Cronet en Kotlin fournit un certain nombre de moyens de suivre la progression d'un téléchargement en cours. L'une des options les plus courantes consiste à utiliser un objet CronetEngine.Builder pour créer une instance de CronetEngine qui prend en charge les observations de téléchargement.
    Voici un exemple de code qui montre comment suivre la progression d'un téléchargement en utilisant la bibliothèque Cronet en Kotlin :
    val builder = CronetEngine.Builder(context)
    builder.enableHttp2(true)
    builder.enableQuic(true)
    val engine = builder.build()
    val request = Request.Builder()
    .setUrl("example.com/file.txt")
    .build()
    val callback = object : UrlRequestCallback() {
    override fun onDownloadProgress(
    request: UrlRequest,
    currentTime: Timestamp,
    bytesReceived: Long,
    totalBytesReceived: Long,
    bytesSent: Long,
    totalBytesToSend: Long
    ) {
    val progress = totalBytesReceived.toFloat() / totalBytesToSend
    Log.i("Download progress", "Progress: $progress")
    }
    }
    val urlRequest = engine.newUrlRequestBuilder(request, callback, callback.executor)
    .build()
    urlRequest.start()
    Dans cet exemple, un objet UrlRequestCallback est créé qui surcharge la méthode onDownloadProgress. Cette méthode est appelée à intervalles réguliers pendant le téléchargement et reçoit des informations sur la progression du téléchargement, comme le nombre de bytes reçus et le nombre total de bytes à recevoir. Dans la méthode, on calcule le pourcentage de progression et on affiche le pourcentage dans les logs, vous pouvez donc l'utiliser pour mettre à jour une barre de progression graphique, par exemple.
    Il est à noter que, la bibliothèque Cronet peut également utiliser les méthodes onReadCompleted and onWriteCompleted de l'objet UrlRequestCallback pour s'informer sur les bytes téléchargés et envoyés.
    Il y a d'autres façon de suivre la progression en utilisant Cronet mais c'est l'un des plus courant, vous pouvez donc adapter selon vos besoins.

    • @PurpleGiraffe
      @PurpleGiraffe  ปีที่แล้ว

      Merci Laurent pour ce retour, la fonction qu'il cite (onDownloadProgress) n'existe pas à ce jour dans Cronet pour Kotlin, mais il se base peut être sur une ancienne version de Cronet pour un autre langage. En plus il propose un progrès basé sur la division du totalBytesReceived par le totalBytesToSend ce qui ne fait aucun sens ! Il se mélange encore entre upload et download 🤦‍♂️

  • @princekoumba-ibala9460
    @princekoumba-ibala9460 ปีที่แล้ว +1

    De mon côté, il me donne cette réponse :
    import org.chromium.net.CronetEngine
    import org.chromium.net.UrlRequest
    // Create a CronetEngine
    val cronetEngine = CronetEngine.Builder(context).build()
    // Create a UrlRequest
    val url = "www.example.com/large-file.zip"
    val urlRequest = cronetEngine.createRequest(url, object : UrlRequest.Callback() {
    // Implement the onRedirectReceived, onResponseStarted, and onReadCompleted methods to handle redirects, responses, and data chunks, respectively
    }, Executor {
    // Implement the execute method to specify how to execute the request
    })
    // Add a request finished listener to track the progress of the request
    cronetEngine.addRequestFinishedListener(object : RequestFinishedInfo.Listener {
    override fun onRequestFinished(info: RequestFinishedInfo) {
    if (info.requestUrl == url) {
    val bytesReceived = info.receivedBytesCount
    val totalBytes = info.totalReceivedBytesCount
    val progress = bytesReceived.toFloat() / totalBytes.toFloat()
    println("Progress: $progress")
    }
    }
    })
    // Start the request
    urlRequest.start()

    • @PurpleGiraffe
      @PurpleGiraffe  ปีที่แล้ว

      Merci pour ton retour Prince! Cette réponse n'est vraiment pas top de sa part car si il attend le callback "onRequestFinished" alors le téléchargement est déjà terminé. Et il a encore cette variable "totalBytes" qu'il sort du chapeau tel un magicien, sans montrer d'exemple de comment la récupérer :)