How to Build a 3D Chatbot with ChatGPT & ElevenLabs

Поділитися
Вставка
  • Опубліковано 1 лип 2024
  • Let's learn how to build a 3D Chatbot powered by AI with ChatGPT, ElevenLabs, and ReadyPlayerMe Avatars.
    In this project we will create a virtual girlfriend chatbot, but feel free to use what you'll learn to build your own support assistant, language teacher, or any ideas you have in mind!
    To understand how the lipsync system work, watch my previous video 👉 • Lip Sync - React Three...
    Final code 🔗
    Frontend 👉 github.com/wass08/r3f-virtual...
    Backend 👉 github.com/wass08/r3f-virtual...
    #threejs #chatgpt #chatbot
    ▬▬▬▬▬▬ Useful L I N K S 🔗 ▬▬▬▬▬▬
    🚀 Learn React Three Fiber with my complete course ✨
    lessons.wawasensei.dev/course...
    ElevenLabs
    elevenlabs.io/
    ElevenLabs node package
    github.com/FelixWaweru/eleven...
    OpenAI API Key
    platform.openai.com/account/a...
    OpenAI node package
    github.com/openai/openai-node
    ReadyPlayerMe morphTarget documentation
    docs.readyplayer.me/ready-pla...
    Download RhubarbLibrary
    github.com/DanielSWolf/rhubar...
    ▬▬▬▬▬▬ T I M E S T A M P S ⏰ ▬▬▬▬▬▬
    00:00 - Intro
    00:54 - Project presentation
    02:01 - ReadyPlayerMe Avatar
    04:18 - Packing multiple Mixamo animations
    08:49 - MorphTargets facial expression
    13:18 - Backend
    17:04 - ChatGPT
    19:57 - ElevenLabs
    24:56 - Thank you!
    ▬▬▬▬▬▬ Support the channel 🙏 ▬▬▬▬▬▬
    Become a member to get access to awesome perks:
    / @wawasensei
    ▬▬▬▬▬▬ Connect with me 👋 ▬▬▬▬▬▬
    💻 The Discord Community
    / discord
    📸 Instagram :
    / wawa.sensei
    🎎 Facebook :
    / wawasenseiyt
    🐦Twitter :
    / wawasensei
    🐦TikTok :
    / wawasensei08
    💻 My website :
    www.wawasensei.dev
  • Наука та технологія

КОМЕНТАРІ • 137

  • @WaleFolorunso
    @WaleFolorunso 2 місяці тому +2

    Awesome project. Learnt a lot from the animations. I was able to run everything locally on my computer and without the internet, without chatgpt and elevenlabs. Great job Wawa Sensei

  • @lucastswick
    @lucastswick 5 місяців тому +1

    Incredible project and the video was a huge help getting the code bases up and running. Thank you so much! Such a blast to see this in action, and I can't thank you enough for sharing the codebase.

    • @WawaSensei
      @WawaSensei  5 місяців тому

      😍 Glad to read it, thank you very much!

  • @developerpranav
    @developerpranav 3 місяці тому

    Absolutely amazing! I learnt so much from animations to using 3d models in React! Thanks a lot! Love from India ❤

  • @inteligenciafutura
    @inteligenciafutura 8 місяців тому

    Your videos are getting better every time

    • @WawaSensei
      @WawaSensei  8 місяців тому

      Thank you so much, your support helps improve it over time! 😍

  • @alexxarasho1138
    @alexxarasho1138 7 місяців тому +5

    If you make a full course explaining everything from zero to deployment I'm definitely going to buy it.

    • @WawaSensei
      @WawaSensei  6 місяців тому +4

      Ow, interesting, I have different courses in mind, I will consider it 🙌

    • @smartjackasswisdom1467
      @smartjackasswisdom1467 6 місяців тому +2

      @@WawaSensei Please do it, I would pay for it too

  • @nicolassuarez2933
    @nicolassuarez2933 7 місяців тому

    Outstanding! Keep these tutorials :)

    • @WawaSensei
      @WawaSensei  7 місяців тому

      Thanks, will do! ❤️

  • @TorriAI
    @TorriAI 5 днів тому

    Awesome projects thanks for sharing

  • @sonphan8162
    @sonphan8162 8 місяців тому

    Excellent video! Thanks for doing this.

    • @WawaSensei
      @WawaSensei  8 місяців тому

      Glad it was helpful! Thanks a lot for the kind words

  • @EsraaKhaled-le7yw
    @EsraaKhaled-le7yw Місяць тому

    Hello! Thank you for this tutorial and the other one for the lips sync. Do you have any idea if the animations is only using the Idle status what might be the problem? is it in the glb file?

  • @julianvelez6563
    @julianvelez6563 8 місяців тому +1

    Awesome work bro you are the Best ❤

    • @WawaSensei
      @WawaSensei  8 місяців тому +1

      ❤ Thank you buddy, you're the best for your incredible support!

  • @Venkatesh-vm4ll
    @Venkatesh-vm4ll 8 місяців тому +3

    Never disappointed us thank u ❤

    • @WawaSensei
      @WawaSensei  8 місяців тому

      My pleasure my friend ❤

  • @sharonthomas4010
    @sharonthomas4010 8 місяців тому +2

    @WawaSensei Thank you for this amazing tutorial!!!, I was waiting for this!
    Also instead of chat, is it possible to use it for real time audio using microphone?

    • @WawaSensei
      @WawaSensei  8 місяців тому +1

      Sure it is possible, I've worked for a VR project in which it was exactly what we did. You can use Google Speech To Text for example cloud.google.com/speech-to-text/ (but any Speech To Text API might work)

    • @sharonthomas4010
      @sharonthomas4010 8 місяців тому

      @@WawaSensei Thank you!, if possible could you post a video about your VR project with real time microphone, it would be of great help. But thanks again!

    • @WawaSensei
      @WawaSensei  8 місяців тому +1

      @@sharonthomas4010thank you very much!
      Unfortunately, it was a customer project and I don't think it's live anymore...
      But the project idea was very interesting that I'd like to redo it better 🤣

  • @gaspacho961
    @gaspacho961 4 місяці тому

    Amazing as always, Sensei! I'm trying to replace the Readyplayerme model with a Vtuber model I made, but it seems like it isn't compatible out-of-the-box. Could you recommend some resources I should refer to? (Aside from your course, which I'm already taking hehe)

    • @WawaSensei
      @WawaSensei  3 місяці тому +1

      Yes, seems Vtuber model are specifically designed for Vtuber platforms. Look at your model extension and check for example for "VRM convert to fbx" or "to glb" that should help you get a proper model from it

  • @WawaSensei
    @WawaSensei  8 місяців тому +3

    If you visit Tokyo let's dance together! 🕺🤣

  • @rvick3914
    @rvick3914 3 місяці тому

    Thanks bro very much informative content

  • @udiiiiiit5020
    @udiiiiiit5020 8 місяців тому

    Was working on something similar since I saw your lipsync video but couldn't make any progress...
    You're just insane Sensei !!
    Now I'll try to add more flair to it... any suggestions?

    • @WawaSensei
      @WawaSensei  8 місяців тому

      So cool! I'd say you can play with the head direction to look at the camera (here it's weird sometimes she speaks and look elsewhere because of the animation). I show how to do it in the first video of my portfolio tutorial if I remember correctly.

    • @udiiiiiit5020
      @udiiiiiit5020 8 місяців тому

      @@WawaSensei Got it, I'll try my best.

  • @devicebattlezone
    @devicebattlezone 8 місяців тому

    Amazing sensei ❤

    • @WawaSensei
      @WawaSensei  8 місяців тому

      🙌 thanks a lot buddy!

  • @mattkkma
    @mattkkma 5 місяців тому

    This is fantastic. Thanks for the huge effort. One question. When I import my character into Mixamo, the lower half of the character is a half dome. The character still moves normally in the auto-rigging window but the lower half is a dome and doesn't move. Is this a watermark in Maximo free account ?

    • @WawaSensei
      @WawaSensei  5 місяців тому

      Thank you! There's no watermark in Mixamo, can you share screenshots and code in Discord so we can provide some help?

    • @jrichardsio
      @jrichardsio 4 місяці тому

      There's a hierarchy you need to delete from blender.

  • @matteoluppi6854
    @matteoluppi6854 Місяць тому +1

    hey Wawa, thank you a lot for the amazing tutorial. Have you ever tried to build your applications? I'm getting some problems and I cannot probably fully export the model since it's too heavy. how can I solve that? I wrote on discord as well :)

  • @monday304
    @monday304 Місяць тому

    Could you make a video on how to add these technologies (chat GPT, with a 3D avatar like NPC ) able to talk back to you when you prompt it within the game. Maybe inside unity 3D?

  • @mehdisadeghian3984
    @mehdisadeghian3984 День тому

    its Awesome, thank you, can you try to make a video for blinking eyes?

    • @WawaSensei
      @WawaSensei  12 годин тому +1

      Thank you! Isn’t it blinking in this tutorial? If it’s not it definitely is in my AI language teacher tutorial you can find on the channel 🙌

  • @abrarchowdhury5687
    @abrarchowdhury5687 2 місяці тому

    your voice is so similar to that of Bruno Simons. it's crazy!

    • @WawaSensei
      @WawaSensei  2 місяці тому

      Hehe really? That’s the French touch (accent 🤭)

  • @vinayaksharma7331
    @vinayaksharma7331 8 місяців тому +2

    i am thinking to use npm speech recorganizer to make it communicate with it

    • @WawaSensei
      @WawaSensei  8 місяців тому

      Great idea! I'm showing with this set of libraries, but any tool can be replaced or added 🔥
      Replacing the text input with vocal one would make it so cool!

  • @meshe5376
    @meshe5376 6 місяців тому

    you are a hero!

    • @WawaSensei
      @WawaSensei  6 місяців тому

      🦸‍♂️ Thank youuu

  • @SeanBannister
    @SeanBannister 7 місяців тому

    I know its probably out of scope but I would love to see this working with the elevenlabs websockets API to minimize latency.

    • @WawaSensei
      @WawaSensei  7 місяців тому

      Hey, did you try it? I think you'd still have an important latency from ChatGPT + lipsync generation (maybe Azure is better than Rhubarb for this)

    • @SeanBannister
      @SeanBannister 7 місяців тому

      @@WawaSenseiI did and discovered Rhubarb doesn't support streaming/real time, and couldn't find any JS alternative that did? I already have Azure working with ReadyPlayerMe (In Unity C#) from a previous project and the biggest cause of latency is waiting for ChatGPT to finish responding when the response is longer. Being able to stream the ChatGPT response into the TTS should improve this substantially. I'll have to try it in Unity because I can use Oculus OVR for real time lipsync. I was just keen to do it with JS.

  • @ryanchen1793
    @ryanchen1793 Місяць тому

    Good tutorial, but when I import the separated fbx animation(say idle.fbx) in blender, and apply to character model in action editor, the shoulders are twisted, anyone know why? btw: my model is generated from realplayer and converted to fbx in blender.

  • @Syfrost
    @Syfrost 8 місяців тому

    Very nice video 💪

    • @WawaSensei
      @WawaSensei  8 місяців тому

      🤗 Thanks Cedrics!

  • @SW-fh7he
    @SW-fh7he Місяць тому +1

    Could I use blender models?

  • @hardikgupta3752
    @hardikgupta3752 8 місяців тому

    😂😂😂 the best Sensei 👏

    • @WawaSensei
      @WawaSensei  8 місяців тому

      🤣 Thank you mate!

  • @Still_thinking-D
    @Still_thinking-D 8 місяців тому +2

    Favorite part of the entire video: 0:08 😂😂

    • @WawaSensei
      @WawaSensei  8 місяців тому

      🤣 Did I put the best part too early so everyone will be bored after?

    • @Still_thinking-D
      @Still_thinking-D 8 місяців тому

      ​​@@WawaSensei Ohh come on... Your videos always has that uniqueness... But this 0:09 was unexpected and surprisingly good ( your facial expressions ) haha... Btw I'm still waiting for some kind of game or puzzle but without react this time 🙈🙊🙉

    • @VikasKapadiya1993
      @VikasKapadiya1993 8 місяців тому

      @@WawaSenseiwhats the dance called?

    • @WawaSensei
      @WawaSensei  8 місяців тому +1

      @@VikasKapadiya1993 the Wawarumba, a degraded version of traditional Rumba 🤣

    • @Still_thinking-D
      @Still_thinking-D 8 місяців тому

      @@WawaSenseihahaha..😅

  • @heathers.bailey7207
    @heathers.bailey7207 8 місяців тому

    Ive been trying for months to do this!! I have my real illusion avatar ready to go!! several projects trying d-id and heygen, you name it! can I please beg you to hire you to create this?? :)

    • @WawaSensei
      @WawaSensei  8 місяців тому +1

      So cool that it can help! Yes, I would love to work on a real project around it 🙌

    • @heathers.bailey7207
      @heathers.bailey7207 8 місяців тому

      omg that would be incredible!!!! I have tried so many ways and failing! How do I afford your help? lol and how can I contact :):) You made my day!! ps. Gives you new content to help teach us determined people to be like you when we grow up🙂@@WawaSensei

  • @miyacreation
    @miyacreation 6 місяців тому +1

    Can you explain... How to import rhubarb into bin folder? Please

    • @WawaSensei
      @WawaSensei  6 місяців тому +1

      Hey, you need to download the appropriate version based on your OS here github.com/DanielSWolf/rhubarb-lip-sync/releases/tag/v1.13.0
      and extract the content into the bin folder. Join us on the Discord if ever you are still having issues 🙏

  • @princehrb
    @princehrb 3 місяці тому

    Is there a realistic style that does the same operations like this animated avatar?

    • @WawaSensei
      @WawaSensei  3 місяці тому

      Free ones I'm not sure, but you might find a lot of different styles including realistic ones on Sketchfab (sketchfab.com/tags/mixamo)

  • @idkman8520
    @idkman8520 4 місяці тому

    How do you get the other morphTarget values... all I see are visemes? I don't know how to get the eyebrows, nosesneer and others. Also how do you make the Avatar blink!?
    It would be a great help Sensei

    • @WawaSensei
      @WawaSensei  4 місяці тому

      Hum.. everything is shown in the video, come into the discord if you have things blocking you lessons.wawasensei.dev/discord

  • @nikkywithBL
    @nikkywithBL 8 місяців тому +1

    that dance

    • @WawaSensei
      @WawaSensei  8 місяців тому +2

      🕺my hidden talent (maybe it's best to keep it hidden 🤣)

  • @tonywhite4476
    @tonywhite4476 8 місяців тому

    I watched the first video and it was a little unclear as to how to install Rhubarb and use it for this project. Can you help? Great videos.

    • @WawaSensei
      @WawaSensei  8 місяців тому +1

      Thank you!
      Ow sorry for that, do you have any specific questions? Maybe join the Discord I can answer them easily there 🙏
      (also have a look at rhubarb documentation it's pretty clear)

    • @tonywhite4476
      @tonywhite4476 8 місяців тому +1

      @@WawaSenseiThanks and I will join the discord. But to be more specific, when I downkoad it from the repo and unzip it, what exactly goes in the bin folder? The whole unzipped folder or just the rhubarb.exe file. Thanks again.

    • @khanhhq2044
      @khanhhq2044 День тому

      @@tonywhite4476 I also downloaded and ran it on my Mac M1, but it doesn't work (“rhubarb” cannot be opened because the developer cannot be verified.)

  • @guersomtucumani
    @guersomtucumani 5 місяців тому

    Great, how can I put this whole project into a live stream?

    • @WawaSensei
      @WawaSensei  5 місяців тому

      Thank you, why not sharing your screen with OBS?

  • @habibahegazy333
    @habibahegazy333 3 місяці тому

    Is it possible I develop the same idea but using avatars from blender or daz studio?

  • @rajdeepghosh5364
    @rajdeepghosh5364 8 місяців тому

    Error: Application terminating with error: Error processing file audios/message_0.wav.
    Error performing speech recognition via PocketSphinx tools.
    Error creating speech decoder.
    I pasted the rhubarb binary into the backend/bin folder. Any ideas on how to fix this?

    • @WawaSensei
      @WawaSensei  8 місяців тому

      Hey, join the Discord community and share more details:
      - What is your OS and have you downloaded the correct version?
      - Did you run the command directly on your computer to see what happen?

  • @nadeenanwar4918
    @nadeenanwar4918 8 місяців тому

    hi, thanks for the video it's very informative. I am developing something similar for my graduation project, but I can't use chat-gpt as it's not available in my country. any suggestions plz?

    • @WawaSensei
      @WawaSensei  8 місяців тому

      Hi, so cool, great project you have!
      So you'd need to replace chat-gpt API with something else, maybe you can apply to get access to the beta of Bard API from Google

    • @nadeenanwar4918
      @nadeenanwar4918 8 місяців тому

      @@WawaSensei thanks. Bard api isn't free either. I wonder if you know any other free api to use?
      And I am totally stuck on how to integrate a chatbot with character like yours as I am new to all these incredible things and I want to do it using python so aren't there any easy to follow materials on how to do so?
      I'd really appreciate if you can guide me through as this project is important for me to be able to graduate.
      I am very passionate to learn new things, I just need some guidance 🙏

  • @321123580
    @321123580 8 місяців тому

    Bro it's insane you are crazy, what are consuming? 😂

    • @WawaSensei
      @WawaSensei  8 місяців тому +1

      Hahaha, should I say... Thanks? 🤣
      I consume hard work, lack of sleep, and 3d meshes 😍

  • @mohamed.hesham
    @mohamed.hesham 8 місяців тому

    it gives me this error "[nodemon] app crashed - waiting for file changes before starting..."

    • @WawaSensei
      @WawaSensei  8 місяців тому

      Hey, gave you some indication to find the issue on discord 🙌

  • @user-qt1rb9mb7y
    @user-qt1rb9mb7y 8 місяців тому

    How to connect the Frontend with Backend ?
    My code is not Working. I have API Key for both Open AI and Eleven labs.
    Please Help me. I am not able to Connect Frontend with the Backend

    • @WawaSensei
      @WawaSensei  8 місяців тому

      What errors do you get?
      Did you downloaded Rhubarb and put it into your /bin folder? I updated the instrctions github.com/wass08/r3f-virtual-girlfriend-backend/

  • @dharmavarapudineshkumar
    @dharmavarapudineshkumar 3 місяці тому

    sensei my brue cmd is not working
    dose homebrew can be installed in windows?

    • @dharmavarapudineshkumar
      @dharmavarapudineshkumar 3 місяці тому

      someone help me about this pleas

    • @WawaSensei
      @WawaSensei  3 місяці тому

      It does not, it's OSX only, you need help for what exactly? Join the Discord, you'll more likely get help there 🙏
      lessons.wawasensei.dev/discord

  • @abdullahjawed1394
    @abdullahjawed1394 6 місяців тому

    Hello sir i want your help when i connect other model it does not give response from gpt please help me

    • @WawaSensei
      @WawaSensei  6 місяців тому

      Hi, please ask your question on the Discord with more detail and the source code

    • @abdullahjawed1394
      @abdullahjawed1394 6 місяців тому

      @@WawaSensei how can i join to discord

    • @WawaSensei
      @WawaSensei  6 місяців тому

      You can find the link in the video description

    • @abdullahjawed1394
      @abdullahjawed1394 6 місяців тому

      @@WawaSensei thank you soo much for your kindness

  • @johndavid3982
    @johndavid3982 5 місяців тому

    Dear wawa sensei, Thanks for sharing your efforts to make 3D chat bot avatar using(chagpt,elvenlabs),i am your biggest fan for your valubale content ,sorry to inform you ,
    i am working on it but it throws errors, please make & share single repository code not(FRONT/BACK) source code, if you share across it helps me learn faster, Thanks yours-STUDENT

    • @WawaSensei
      @WawaSensei  5 місяців тому

      Thank you for the kind words!
      Did you join the Discord to get help to sort out the errors?

  • @ai_koshey_bot
    @ai_koshey_bot 8 місяців тому

    Why i get this error?
    Virtual Girlfriend listening on port 3000
    messages {
    messages: [
    {
    text: 'Hey there! How can I assist you today?',
    facialExpression: 'smile',
    animation: 'Talking_0'
    }
    ]
    }
    AxiosError: Request failed with status code 400

    • @WawaSensei
      @WawaSensei  8 місяців тому

      Hey, would need more context to be able to help you!
      Does it happens all the time? Did you setup your openAI + elevenLabs API keys correctly? If you go to localhost:3000/voices does it work?
      Don't hesitate to give additional context on the Discord server 🙏

    • @ai_koshey_bot
      @ai_koshey_bot 8 місяців тому

      For some reason the audio file is not created and this is a problem
      @@WawaSensei

    • @ai_koshey_bot
      @ai_koshey_bot 8 місяців тому

      yes localhost:3000/voices worked
      yes openAI + elevenLabs API keys correctly in .env
      @@WawaSensei

  • @kishore2208
    @kishore2208 7 місяців тому

    the avatar is not displaying in my project

    • @WawaSensei
      @WawaSensei  7 місяців тому

      Join the Discord and share the errors you get

  • @NanoGi-lt5fc
    @NanoGi-lt5fc 7 місяців тому

    Will ffmpeg work when i deploy it on web ??

    • @WawaSensei
      @WawaSensei  7 місяців тому

      FFMpeg run on your backend, not on the user device. So as long as your backend is setup correctly with ffmpeg available, it will work fine 🙌

    • @NanoGi-lt5fc
      @NanoGi-lt5fc 7 місяців тому

      @@WawaSensei and more question as you mention in your video that the audio will save in audio folder.. I think sometime it will overload the server to fix this can I use the auto delete functionality of all files.

    • @WawaSensei
      @WawaSensei  7 місяців тому

      @@NanoGi-lt5fc this is really a "simple" demo to show people how to achieve it. It won't overflow the server because I overwrite the files with the same name (but that also means multiple users at the same time would cause conflict). In a real project, store it to an S3 compatible service (Cloudflare R2 is my best friend)

    • @NanoGi-lt5fc
      @NanoGi-lt5fc 7 місяців тому

      @@WawaSensei I am thinking to make an sign in and sign up page and than use username as filename to create files and after 3 min these files got auto deleted

  • @NanoGi-lt5fc
    @NanoGi-lt5fc 6 місяців тому

    Plzzz help me ./bin error . Is not internal command

    • @WawaSensei
      @WawaSensei  6 місяців тому

      👀 which os are you using? Did you download/extract rhubarb? github.com/DanielSWolf/rhubarb-lip-sync/releases/tag/v1.13.0

    • @NanoGi-lt5fc
      @NanoGi-lt5fc 6 місяців тому

      @@WawaSensei yes I did I am using windows

  • @user-sq3lf9lm9g
    @user-sq3lf9lm9g 3 місяці тому

    is it free to use the avathar

    • @WawaSensei
      @WawaSensei  3 місяці тому

      yes! More info here: readyplayer.me/terms

  • @prabhassatti1985
    @prabhassatti1985 3 місяці тому

    any alternative for chatgpt api

  • @xsploit
    @xsploit 5 місяців тому

    the chat text doesnt show

    • @WawaSensei
      @WawaSensei  5 місяців тому

      hey, I just pushed an update on the backend for people having issues with the json format with the more recent versions of openAI API
      Can you describe me your issue to see if it's related?

  • @recycling-art
    @recycling-art 8 місяців тому +4

    Finally i have gf 😂😂

    • @WawaSensei
      @WawaSensei  8 місяців тому

      happy to help 🤣

    • @monday304
      @monday304 Місяць тому

      Can you make the avatar look more realistic? What are the limitation to the realism of the avatar? ​@@WawaSensei

  • @cdrom3082
    @cdrom3082 7 місяців тому

    I sent you an email 🙂 (CD)

  • @DigitalGriotStudios
    @DigitalGriotStudios 8 місяців тому

    I love that we are building on concepts from previous tutorials! Keep up the great work Sensei 🫡

    • @WawaSensei
      @WawaSensei  8 місяців тому +2

      Glad you like it, thank you! I do also think that being able to reference previous videos help me going further and show more advanced/funny projects 🙌

  • @reineblut
    @reineblut 4 місяці тому

    Your code is very broken.
    git clone backend
    git clone frontend
    yarn install in both
    cp .env.sample .env
    add api keys
    yarn dev in backend dir
    yarn dev in frontend dir
    type in box
    nothing but three dots
    numerous errors in the browser console.
    Imagine not using Typescript in the current year 😒

    • @WawaSensei
      @WawaSensei  4 місяці тому

      Not related to TS
      You’re missing installation steps explained in this video, I explain it again in this one 👉
      ua-cam.com/video/tena89hj8v0/v-deo.html