Using Server-Sent Events with PHP to Stream Responses from OpenAI ChatGPT API

Sdílet
Vložit
  • čas přidán 5. 07. 2024
  • In today's video I upgrade my ChatGPT clone so that it prints out the response token-by-token while still highlighting code in the response. This makes the chatbot feel much faster as it starts to generate the response instantly.
    GitHub: github.com/unconv/chat-wtf
    Support: buymeacoffee.com/unconv
    Consultations: www.buymeacoffee.com/unconv/e...
    Memberships: www.buymeacoffee.com/unconv/m...
    00:00 Intro
    02:05 PHP Server-Sent Events Demo
    11:57 Upgrading the Chatbot: PHP code
    18:39 Upgrading the JavaScript code
    23:52 Debugging
    28:57 Fixing the code highlighting
    37:43 It works!
  • Věda a technologie

Komentáře • 25

  • @user-zz3wk2fz3f
    @user-zz3wk2fz3f Před rokem +2

    Amazing tutorial, thanks!

  • @LaoCoi
    @LaoCoi Před rokem

    My coding skill just increased. Thank you bro!

  • @user-hd7op4cx8w
    @user-hd7op4cx8w Před rokem

    This is just awesome . Thanks

  • @shawnmckenzie_offcial9598

    Hi,
    This really Gold Nuggets!!! Thank you, Thank you very much!!! ❤

  • @CLFhama
    @CLFhama Před rokem

    happy for you

  • @panpanwardiman3763
    @panpanwardiman3763 Před 10 měsíci

    awesome.

  • @abdallakaram5376
    @abdallakaram5376 Před 4 měsíci

    amazing

  • @devseer8340
    @devseer8340 Před 3 měsíci

    Really nice video. Can you make video for server sent event when api callback?

  • @azazahmedlipu9738
    @azazahmedlipu9738 Před 3 měsíci

    Hey, hope you fine
    I am facing issue during markdown to html converting
    when i did without using streaming method, it was showing perfectly after converting to html , but now it making issue
    let's say when, it making table markdown
    it's not converting to html table
    How chatgpt handle this?

  • @wellingtonziotto
    @wellingtonziotto Před 9 měsíci +1

    Hi! I grasp the importance of testing the application locally. However, once the local testing phase is complete, I'm unsure of the steps to deploy it on an internet host. I've been unable to locate any instructional videos outlining this process.
    Thanks!🤔

    • @unconv
      @unconv  Před 8 měsíci

      You can check out my video "Deploying a PHP web app on AWS EC2" to get some idea of how deploying can be done. In it I set up a whole server though, so a simpler way might be using a "regular" web hosting provider. I might make a video on that at some point, too.

  • @shawnmckenzie_offcial9598

    Sensei, I want you ask you...where I occasional I received the text "Sorry, but I don't know how to answer that" in between text... it still can generate response but it include the ""Sorry, but I don't know how to answer that" in that reponse. Below is the sample of the anwers:- is it because of special characters it generate?
    "Cobra is a venomous snake, known for its distinct hood, which itSorry, but I don't know how to answer that. flare out when threatened. There are more than 20 species of cobras found in different parts of the world,"

    • @unconv
      @unconv  Před rokem +1

      That happened to me too while making the video, but I'm not able to replicate it right now. It has something to do with the way I check for errors (badly) in the response. You could try adding an error_log("Weird error:".print_r($json, true)); after line 69 in message.php where that text is printed and see what is logged when that happens. Or you can just set $content to an empty string on line 69. I need to look into this further.

  • @shawnmckenzie_offcial9598

    Hi, I recieved "414 Request-URI Too Long"...
    upon check the GET Message..
    it includes all previous message "message=Alright%20thank%20you%0A&context=%5B%5B"hi%5Cn"%2C"Hello!%20How%20can%20I%20assist%20you%20today%3"
    how can we clear this GET Message, so that it always refresh and only send Message based on latest request

    • @unconv
      @unconv  Před rokem

      I will have to fix this in a future video, so that the message history is not sent in every request, but instead saved in a session.

    • @shawnmckenzie_offcial9598
      @shawnmckenzie_offcial9598 Před rokem +1

      @@unconv Thanks Sensei. I have learned a lot from you. Really appreciate it.

  • @ashikmehermobin9926
    @ashikmehermobin9926 Před 7 měsíci

    I was trying to learn PHP streams, now I have gold mines when found your video. Please make a video on server sent event.

  • @worldofplayingcards
    @worldofplayingcards Před rokem

    Hi, I downloaded the chat-wtf GitHub repo and ran it on my localhost, but it doesn't seem to stream? Is the code the the latest version? Thanks!

    • @unconv
      @unconv  Před rokem

      Does it not respond at all or just doesn't stream?

    • @worldofplayingcards
      @worldofplayingcards Před rokem

      @@unconv Yes, it does respond, but just in one block, not streaming each character like ChatGPT.

    • @worldofplayingcards
      @worldofplayingcards Před rokem

      @unconv another update on this. If I ask chat-wtf to produce a large output (e.g write me a short story with 10 paragons), then I’ve realised it shows about 5 paragraphs after a few seconds and then the remaining 5 a few more seconds after that. So it seems like it’s streaming very large chunks of the output rather than individual characters.

    • @unconv
      @unconv  Před rokem

      Interesting... Can you check the Chrome dev tools network tab and the request to message.php, what is shown in the EventStream tab? Might be a Markdown rendering performance issue too

    • @drors01
      @drors01 Před měsícem

      Hi I am having the same issue.
      It is responding but no stream.
      Running on IIS 10 with php8.3.
      Read that it is related to compression and disabled it but still not working.
      Did you manage to fix it?

  • @michabbb
    @michabbb Před rokem

    you are aware that your mic is terrible?