YouTube2Text

Criando um ChatBot em Python com ChatGPT em 20 Minutos — Transcript

by Hashtag Programação · 4,895 words · 677 segments · language en · Watch on YouTube

Full transcript

  1. 0:00fala impressionador nesse vídeo eu quero
  2. 0:02ensinar vocês a criarem um chatbot
  3. 0:04usando Python e o chat GPT Vamos partir
  4. 0:07direto pro código da aula de
  5. 0:09[Música]
  6. 0:13hoje bom galera se você gostou da ideia
  7. 0:16desse vídeo já deixa aqui o seu like se
  8. 0:18inscreve no canal para continuar
  9. 0:19aprendendo com a gente e eu vou deixar
  10. 0:21alguns materiais para você aqui na
  11. 0:22descrição que vão te ajudar bastante
  12. 0:23então preste atenção primeiro material
  13. 0:25que eu vou deixar é o gabarito da aula
  14. 0:26de hoje tá então se você quiser
  15. 0:27simplemente pegar esse gabarito para
  16. 0:28implementar esse chatbot dentro de algum
  17. 0:30sistema que você tenha o link dele vai
  18. 0:32est aqui na descrição ou então para
  19. 0:34comparar o que você tá fazendo na aula o
  20. 0:35segundo link que eu vou deixar na
  21. 0:36descrição é o link de criação de site
  22. 0:39com python um minicurso de criação de
  23. 0:40site onde eu crio o seu primeiro site
  24. 0:42com python se você quiser por exemplo
  25. 0:44criar um site para ele ser o seu chatbot
  26. 0:46ou para implementar isso acho que esse
  27. 0:47minicurso vai te ajudar o link dele vai
  28. 0:49est também na descrição Tá bom então
  29. 0:50vamos lá vamos partir efetivamente agora
  30. 0:52para como que isso aqui vai funcionar
  31. 0:54pra gente criar um chatbot com o Python
  32. 0:56Existem várias formas de você fazer isso
  33. 0:58mas hoje em dia né dado a existência do
  34. 1:01chat GPT a forma mais fácil que eu acho
  35. 1:04que a gente vai ter aqui de fazer isso é
  36. 1:05integrar o nosso código em Python com
  37. 1:06chat GPT e usar a funcionalidade do chat
  38. 1:09GPT de reconhecimento de texto e tudo
  39. 1:11mais para você conseguir gerar esse
  40. 1:13chatbot então essencialmente o que a
  41. 1:14gente vai fazer é criar um chatbot que
  42. 1:17permita a gente fazer isso aí como que a
  43. 1:19gente vai fazer isso a gente como eu
  44. 1:20falei a gente vai usar o chat GPT Então
  45. 1:22a gente vai ter que instalar uma
  46. 1:23biblioteca do Python chamada Open ai
  47. 1:25Open ai é a empresa que criou o chat GPT
  48. 1:27Eles criaram uma biblioteca do Python
  49. 1:30que integra direto com chat GPT que é
  50. 1:32essa biblioteca chamada openi Então você
  51. 1:34vai abrir lá o seu editor de código pode
  52. 1:35usar o editor que você quiser e lá no
  53. 1:38seu terminal aqui eu vou abrir aqui meu
  54. 1:39prompt de comando tá vendo ó comando de
  55. 1:41prompt e aqui eu vou digitar assim ó PIP
  56. 1:43install Open no meu caso já tá instalado
  57. 1:46então ele vai dizer aqui só que tá
  58. 1:47instalado mas no seu caso ele vai
  59. 1:49instalar E aí primeira coisa que a gente
  60. 1:51vai fazer aqui é Import
  61. 1:53Open na Open Existem várias soluções de
  62. 1:56Inteligência Artificial o chat PT é uma
  63. 1:59dessas soluções Então vai ser importante
  64. 2:01você também pegar a sua chave da api da
  65. 2:03Open A então o que a gente vai fazer é
  66. 2:05consumir os dados da api da Open a
  67. 2:07especificamente do chat de GPT para
  68. 2:09conseguir trocar essas mensagens com ele
  69. 2:11para isso você precisa pegar sua chave
  70. 2:12de api E aí para isso você vai abrir o
  71. 2:14seu navegador eu tô olhando pro lado
  72. 2:16porque eu tô puxando o meu navegador
  73. 2:17para cá olha lá vai desalar no Google
  74. 2:19open a e vai entrar no primeiro link
  75. 2:21aqui se você não tiver uma conta você
  76. 2:23vai ter que criar uma conta e aí eu vou
  77. 2:24clicar aqui simplesmente em fazer login
  78. 2:26para fazer login aqui no na plataforma
  79. 2:28no meu caso eu já tava logado ele já
  80. 2:30logou direto no seu caso você vai ter
  81. 2:31que fazer o seu login e aí você pode
  82. 2:33entrar no chat PPT diretamente ou então
  83. 2:35abrir as suas apis No meu caso eu vou
  84. 2:37abrir as minhas apis aqui beleza aqui
  85. 2:39dentro das apis você pode ver aqui a
  86. 2:41documentação da api e tudo que eu vou
  87. 2:43ensinar para você na aula de hoje ele tá
  88. 2:44explicado digamos assim aqui dentro da
  89. 2:46documentação então se você entrar aqui ó
  90. 2:48em documentation ele vai dizer aqui ó o
  91. 2:49chat GPT as melhores práticas do chat
  92. 2:52GPT tá vendo e a gente vai usar essa
  93. 2:54ferramenta aqui ó chamada chat
  94. 2:55completion api Então ela essencialmente
  95. 2:58é esse código aqui que a gente vai ter
  96. 3:00que fazer né a gente vai ter que chamar
  97. 3:01a nossa biblioteca da openi e criar um
  98. 3:04chat completion né que é essencialmente
  99. 3:06o uso que você faz do chat GPT quando
  100. 3:08você tá lá no site dele criando aquilo
  101. 3:10só que se você reparar Esse chat
  102. 3:12completion ele tem várias mensagens
  103. 3:14mensagens que podem ser enviadas pelo
  104. 3:16usuário pelo assistente que é o chat GPT
  105. 3:18que tá respondendo e mensagens de padrão
  106. 3:21que você tá passando pro chat GPT para
  107. 3:23você meio que configurar ele de alguma
  108. 3:25forma que você queira eu vou explicando
  109. 3:27mais isso mais a fundo na medda que a
  110. 3:28gente fori executando mas só tô
  111. 3:29mostrando que tudo que a gente vai utar
  112. 3:31na aula de hoje vai estar aqui nessa
  113. 3:32documentação e se você quiser você pode
  114. 3:33olhar mais a fundo ela mas o que é
  115. 3:35importante você fazer é que você vai ter
  116. 3:36que aqui ó na sua no seu login aqui você
  117. 3:39vai ter que entrar em API Keys tá vendo
  118. 3:41e aí aqui em API Keys aqui você vai ter
  119. 3:44que pegar a sua chave então você vai
  120. 3:45clicar aqui ó em Create New Secret Key
  121. 3:47ele vai criar uma chave para você e você
  122. 3:50vai pegar essa chave e usar no seu
  123. 3:51código Eu Já criei uma chave aqui ó test
  124. 3:53Lira que é que eu vou usar na aula de
  125. 3:54hoje e depois que eu acabar de usar da
  126. 3:55aula de hoje eu vou deletar para vocês
  127. 3:57não ficarem usando a minha conta então
  128. 3:58quando você clia clicar aqui em Create
  129. 4:00ele Vai disponibilizar para você Um
  130. 4:02textinho tipo esse aqui ó Um textinho
  131. 4:05que é isso aqui isso aqui é a sua chave
  132. 4:07da api ele Vai disponibilizar assim sem
  133. 4:08aspas e você vai colocar lá sua chave de
  134. 4:10api Então vou chamar aqui por exemplo de
  135. 4:12chave api essa variável vai ser esse
  136. 4:15cara aqui entre aspas beleza e aí
  137. 4:17obviamente não adianta você tentar
  138. 4:19copiar minha chave porque não vai
  139. 4:20funcionar você tem que criar sua conta
  140. 4:21lá e criar sua chave beleza e aí logo
  141. 4:24depois você vai configurar o openi p api
  142. 4:28Key tá então isso aqui é basicamente
  143. 4:31você passando para openi Qual é a sua
  144. 4:33chave da Api para você poder consumir os
  145. 4:34dados dele aí o que que a gente vai
  146. 4:36fazer a gente tá querendo criar um
  147. 4:38chatbot se eu tô querendo criar um
  148. 4:40chatbot a gente precisa criar alguma
  149. 4:41funcionalidade dele onde ele recebe uma
  150. 4:43mensagem Analisa essa mensagem e dá uma
  151. 4:46resposta pra gente então para fazer isso
  152. 4:49eu vou criar uma função que é a função
  153. 4:51por exemplo de enviar mensagem tá essa
  154. 4:54função o que que ela faz ela recebe uma
  155. 4:56mensagem como parâmetro tá então tô
  156. 4:58definindo aqui a função enviar mensagem
  157. 5:00ela recebe uma mensagem como parâmetro
  158. 5:02para ela e ela envia essa mensagem pro
  159. 5:04chat GPT e retorna pra gente como
  160. 5:06resposta a resposta que o chat GPT deu
  161. 5:08para essa mensagem daqui para essa
  162. 5:10pergunta daqui Beleza então
  163. 5:12essencialmente o que eu vou fazer aqui é
  164. 5:14fazer aquela consulta que eu mostrei
  165. 5:17para vocês aqui ó na referência da api ó
  166. 5:19em ó documentação GPT B GPT E Chat
  167. 5:25completion api é isso aqui que a gente
  168. 5:26vai ter que fazer ó tá vendo a gente vai
  169. 5:28ter que rodar um response vai ser ser um
  170. 5:29Open ey chat completion esse cara daqui
  171. 5:32e aí é exatamente isso que eu vou criar
  172. 5:33lá no meu código então vou fazer aqui ó
  173. 5:35resposta ou seja resposta que o chat ept
  174. 5:37vai passar pra gente vai ser o openi
  175. 5:41pchat completion p Create ou seja ele
  176. 5:44vai criar uma conversa com chat GPT
  177. 5:47quando você cria essa conversa aqui com
  178. 5:48chat GPT Se você olhar na documentação
  179. 5:50ele vai mostrar para você aqui ele dá um
  180. 5:52exemplo mas se você abrir aqui ó api
  181. 5:53reference documentation ele vai
  182. 5:55inclusive mostrando aqui ó os parâmetros
  183. 5:57vai explicando tá vendo e tudo mais im
  184. 5:59mas eu vou seguindo por aqui você vai
  185. 6:01ver que o primeiro parâmetro que ele vai
  186. 6:02passar para você é o parâmetro de Model
  187. 6:04o que que é isso daqui o chat APT tem
  188. 6:06várias versões e aqui você tem que
  189. 6:08escolher qual é o modelo que você quer
  190. 6:09usar para preencher isso e o modelo que
  191. 6:11a gente vai usar é esse modelo daqui é o
  192. 6:13GPT tro 3.5 tro turbo tá então esse cara
  193. 6:17daqui ó você vai botar ali entre aspas
  194. 6:19GPT tro 3.5 tro Turbo esse aqui
  195. 6:22atualmente pelo menos no momento que eu
  196. 6:24tô gravando esse vídeo é o modelo mais
  197. 6:25recente do chat GPT que tá disponível
  198. 6:27para você usar por meio de Apis tá então
  199. 6:30esse aqui é o modelo que a gente vai
  200. 6:31usar aí Além disso você tem que aqui
  201. 6:34passar um parâmetro que é o parâmetro de
  202. 6:35mensagens que é o parâmetro messages
  203. 6:37esse parâmetro messages ele é uma lista
  204. 6:40de dicionários então eu abri aqui uma
  205. 6:42lista e essencialmente o que você vai
  206. 6:43passar nesse dicionário daqui para ele é
  207. 6:46um dicionário né com dois parâmetros o
  208. 6:48parâmetro Roll que é a função de quem tá
  209. 6:51mandando essa mensagem que pode ser
  210. 6:52usuário então quando o usuário enviar
  211. 6:54uma mensagem o roll vai ser user quando
  212. 6:57o chat GPT responder para você o o roll
  213. 6:59vai ser
  214. 7:01assistant se você quiser passar alguma
  215. 7:03configuração pro chat GPT do tipo ah
  216. 7:05chat GPT eu quero que você é Imagine que
  217. 7:08você é um nutricionista e que você tem
  218. 7:10que fazer não sei o que não sei que lá
  219. 7:11Imagine que você é um professor de
  220. 7:12história e que você tem que responder
  221. 7:13sobre isso isso isso ou que você tá
  222. 7:15escrevendo um e-mail sobre isso isso
  223. 7:16isso essas orientações Gerais pro chat
  224. 7:18PT você aqui passaria Como pode passar
  225. 7:20como System beleza no nosso caso como se
  226. 7:23quero criar um chatbot que ele consiga
  227. 7:24conversar com qualquer pessoa eu não vou
  228. 7:26passar nada e simplesmente a própria
  229. 7:28mensagem já vai ser o dele então o que a
  230. 7:30gente vai fazer com essa função aqui é
  231. 7:31que essa função o vai ser o usuário vai
  232. 7:34passar e aí o segundo parâmetro é o
  233. 7:36parâmetro content Beleza o parâmetro
  234. 7:38content é o conteúdo da mensagem o texto
  235. 7:40da mensagem que a gente tá recebendo
  236. 7:42como parâmetro aqui então aqui o content
  237. 7:45vai ser Justamente esse mensagem aqui
  238. 7:47beleza e basicamente é isso aqui que
  239. 7:49você precisa Isso daqui ele vai enviar
  240. 7:51essa mensagem pro chat GPT e vai receber
  241. 7:54uma resposta dele agora quem é essa
  242. 7:57resposta que ele vai receber tá aqui ó
  243. 7:58ele mostra para você a resposta que vem
  244. 8:01para você ela vem no formato de um
  245. 8:03dicionário tá esse dicionário ele tem
  246. 8:06choices que é essencialmente a resposta
  247. 8:08que ele deu e várias informações sobre
  248. 8:10essa resposta Quantos tokens você
  249. 8:12utilizou né chat FT tem um esquema de
  250. 8:14tokens qual foi o modelo que você usou
  251. 8:16qual o objeto que você tá chamando o ID
  252. 8:18dessa troca de mensagens Qual a data de
  253. 8:20criação dele e assim vai a gente tá
  254. 8:22interessado na mensagem da resposta
  255. 8:24então a gente tá interessado nesse
  256. 8:25choices aqui então eu vou pedir para
  257. 8:27essa minha função me retornar como
  258. 8:30resposta
  259. 8:31o resposta entre colchete choices tá
  260. 8:36vendo resposta entre conate choices quem
  261. 8:38é o resposta entre conate choices é esse
  262. 8:41dicionário aqui tá vendo esse dicionário
  263. 8:43não desculpa essa lista aqui ó tá vendo
  264. 8:45choices é essa lista aqui nessa lista a
  265. 8:48gente quer pegar só o primeiro item da
  266. 8:50lista ele só tem um item mesmo né
  267. 8:51provavelmente mas a gente vai querer
  268. 8:53sempre pegar o primeiro item da lista
  269. 8:54porque o primeiro item da lista vai ser
  270. 8:55a resposta do chat rpt então aqui eu vou
  271. 8:57pedir para ele me retornar o choices de
  272. 8:59índice zero porque é o primeiro item da
  273. 9:02lista que tá aqui dentro quem é o
  274. 9:04primeiro item dessa lista é esse
  275. 9:05dicionário aqui que eu tô marcando agora
  276. 9:07nesse dicionário quem a gente quer a
  277. 9:10gente quer a mensagem tá vendo a gente
  278. 9:11quer a mensagem então eu vou pedir aqui
  279. 9:13para ele me passar como parâmetro a
  280. 9:15mensagem ó message tá vendo
  281. 9:18message E aí aqui nesse parâmetro
  282. 9:20message a gente tem o roll que é o
  283. 9:22assistant ou seja o chat ept que tá
  284. 9:24falando com a gente e o conteúdo dela
  285. 9:26que é o texto que ele mandou pra gente
  286. 9:27beleza por enquanto eu vou deixar assim
  287. 9:29da nossa função Vamos testar para ver se
  288. 9:31ela tá funcionando então eu vou chegar
  289. 9:32aqui eu vou dar um print no enviar
  290. 9:34mensagem e vou passar para ele uma
  291. 9:37mensagem qualquer Por exemplo por
  292. 9:39exemplo Em que ano
  293. 9:43Einstein publicou a teoria geral da
  294. 9:49relatividade vai ser essa aqui a
  295. 9:51pergunta eu sei disso porque eu acabei
  296. 9:52de ler um livro sobre isso mas você não
  297. 9:54precisa se preocupar com o conteúdo
  298. 9:56físico da pergunta só a gente tá
  299. 9:58escrevendo uma pergunta aqui a gente
  300. 9:59quer ver a resposta dele vamos dar uma
  301. 10:00olhada na resposta então vamos executar
  302. 10:02esse código aqui e vamos ver qual vai
  303. 10:04ser a resposta dele então eu peguei
  304. 10:05rodei esse código
  305. 10:06tã e vamos ver qual vai ser a resposta
  306. 10:09que vai aparecer aqui ó tá lá Ele falou
  307. 10:11o rle dele assistant e a resposta é
  308. 10:14Albert Einstein publicou a teoria geral
  309. 10:16da relatividade em 1915 Tá certo beleza
  310. 10:19então a princípio isso daqui tá
  311. 10:21funcionando de uma forma perfeita a
  312. 10:22gente tá conseguindo perguntar e ele tá
  313. 10:24conseguindo responder agora essa
  314. 10:26resposta tá vindo pra gente nesse
  315. 10:27dicionário daqui é um dicionário que tem
  316. 10:29Roll e content se você quisesse só o
  317. 10:31texto você ter que pegar o content você
  318. 10:33poderia aqui pedir para ele para pegar
  319. 10:35só o content mas eu não vou fazer isso
  320. 10:37por que eu não vou fazer isso porque
  321. 10:39repara o seguinte a gente tá querendo
  322. 10:40criar um chatbot esse chatbot e você
  323. 10:43precisa conseguir se comunicar com ele
  324. 10:44fazendo uma pergunta mas comunicar com
  325. 10:46ele fazendo a próxima pergunta e a
  326. 10:48próxima pergunta e a próxima pergunta
  327. 10:49meio que mantendo a mesma conversa o
  328. 10:52fato é quando você roda um Create desse
  329. 10:55daqui ele cria uma nova conversa e se
  330. 10:57você passa para ele com mensagem só a
  331. 10:59mensagem que o usuário tá enviando agora
  332. 11:00ele não sabe qual era a conversa
  333. 11:02original então se você quiser fazer
  334. 11:03digamos assim uma continuidade dessa
  335. 11:05conversa isso daqui do jeito que tá
  336. 11:07agora não vai funcionar Você vai
  337. 11:09precisar a cada iteração do usuário
  338. 11:12incrementando essa mensagem daqui para
  339. 11:15ele ir adicionando a resposta que o
  340. 11:17assistant deu por isso que eu mantive
  341. 11:19Esse dicionário inteiro aqui completo tá
  342. 11:21vendo Lira eu não entendi direito como
  343. 11:23que vai ser isso e tudo mais relaxa que
  344. 11:24eu vou mostrar agora o que a gente vai
  345. 11:25fazer então o primeiro passo que a gente
  346. 11:27vai fazer é cara a gente pra agora
  347. 11:29tornar isso aqui uma ferramenta em que
  348. 11:30um usuário pode interagir você poderia
  349. 11:32criar uma tela pro usuário e atribuir
  350. 11:34essa função de envar mensagem num botão
  351. 11:36dessa tela você poderia fazer a forma
  352. 11:38que você quiser eu vou fazer a forma
  353. 11:39mais simples que é criar um input do
  354. 11:40Python mesmo e a gente vai lá pelo
  355. 11:42terminal mesmo conversando com o nosso
  356. 11:43chatbot então eu vou fazer assim ó pra
  357. 11:46gente iniciar essa conversa a gente vai
  358. 11:48inicializar um Loop Infinito eu vou
  359. 11:50botar aqui ó while true Por que lir um
  360. 11:51Loop Infinito porque essencialmente essa
  361. 11:53conversa vai ficar eternamente rodando
  362. 11:55ele vai ficar eternamente rodando esse
  363. 11:56código faça uma pergunta ele responde
  364. 11:57faça uma pergunta ele responde faça uma
  365. 11:58pergunta ele responde até quando até o
  366. 12:00usuário escrever que ele quer sair dessa
  367. 12:02conversa então eu vou dizer o seguinte
  368. 12:04Olha só o texto do usuário o texto que o
  369. 12:06usuário escreveu vai ser um input que é
  370. 12:10Escreva aqui sua
  371. 12:12mensagem beleza esse daqui vai ser o
  372. 12:14input E aí eu vou botar um if aqui se o
  373. 12:17texto for igual a sair então eu dou um
  374. 12:20Break nesse nesse Loop Infinito ou seja
  375. 12:23ele vai ficar rodando que tiver aqui
  376. 12:24dentro eternamente até o texto que o
  377. 12:26usuário escrever for sair e aí dado que
  378. 12:29eu escrevi sair aqui com letra minúscula
  379. 12:30o usuário tem que escrever exatamente
  380. 12:31assim você poderia dar outras opções
  381. 12:33você poderia passar aqui é uma instrução
  382. 12:35pro usuário ah escreva sair se você
  383. 12:37quiser encerrar o chat e tudo mais não
  384. 12:38sei o qu você poderia botar um tempo
  385. 12:40definido uma quantidade de resposta
  386. 12:41definida mas eu quis criar dessa forma
  387. 12:43aqui e aí o que que vai acontecer a cada
  388. 12:46iteração ou seja o que que vai acontecer
  389. 12:47a cada vez que esse loop rodar ele vai
  390. 12:50pegar o texto do usuário se o texto for
  391. 12:52sair ele vai finalizar se o texto não
  392. 12:54for sair então else se o texto não for
  393. 12:56sair ou seja se ele não for encerrar
  394. 12:57esse loop então eu vou enviar a mensagem
  395. 12:59pro chat GPT então vou chegar aqui e vou
  396. 13:03colocar assim ó a resposta do chat GPT
  397. 13:07vai vir do enviar mensagem e ele vai
  398. 13:09enviar aqui o texto do usuário tá vendo
  399. 13:11Então vou comentar essa linha de código
  400. 13:12aqui embaixo e olha lá a resposta que
  401. 13:15vai vir aqui vai ser a mensagem que ele
  402. 13:17vai pegar aqui do meu texto só que você
  403. 13:18lembra qual era essa essa resposta que
  404. 13:20vim aqui ó ó dá uma olhada aqui quem é
  405. 13:23essa variável resposta que vem como
  406. 13:25resultado do enviar mensagem eu mostrei
  407. 13:26aqui no print para vocês olha lá ele é
  408. 13:28um dicionário que tem o Row que é o
  409. 13:31assistant e o content que é o texto aqui
  410. 13:34do Albert as então se eu quiser printar
  411. 13:36essa resposta eu aqui vou fazer assim ó
  412. 13:40print resposta entre par entre colchetes
  413. 13:44né content porque eu tô printando a
  414. 13:47resposta do do chatbot e eu posso até
  415. 13:49aqui nesse print botar aqui ó chatbot
  416. 13:52dois pontos e a resposta por quê Porque
  417. 13:55a fica parecendo uma conversa você tá
  418. 13:57escreve sua mensagem chat responde isso
  419. 13:59daqui você escreve sua mensagem o
  420. 14:01chatbot responde isso daqui e aí fica
  421. 14:03exatamente uma conversa vamos testar até
  422. 14:05agora pra gente ver como que isso aqui
  423. 14:06tá funcionando e aí eu vou inclusive
  424. 14:08mostrar o problema que tá acontecendo
  425. 14:09para vocês então vamos lá
  426. 14:10rodei ó rodei ele apareceu aqui embaixo
  427. 14:13escreva sua mensagem vou até dar um zoom
  428. 14:15aqui para vocês verem melhor escreva sua
  429. 14:16mensagem tá vendo aí vou escrever aqui a
  430. 14:18mesma mensagem que a gente tinha escrito
  431. 14:19antes em que ano as publicou a teoria
  432. 14:22geral da relatividade vai ser essa
  433. 14:24mensagem que eu vou escrever aqui ó
  434. 14:26enter aí ele vai ver ó alber com a
  435. 14:28teoria geral da relatividade em 1915 só
  436. 14:31o que acontece por exemplo o as ele tem
  437. 14:33a teoria geral e ele tem a teoria
  438. 14:34especial da relatividade aí eu vou
  439. 14:36perguntar aqui para ele e a teoria
  440. 14:39especial
  441. 14:42tã tã existem essas duas existe a teoria
  442. 14:46geral e existe a teoria especial só que
  443. 14:47repara o seguinte a pergunta que eu fiz
  444. 14:49aqui para ele foi só e a teoria especial
  445. 14:52partindo do princípio que ele já sabia o
  446. 14:53que tava acontecendo e nesse caso você
  447. 14:55vê que a resposta dele foi muito maior
  448. 14:57porque provavelmente Ele pesquisou lá no
  449. 14:59banco de dados dele cara quando a galera
  450. 15:01pergunta teoria especial eles estão
  451. 15:02querendo saber teoria especial do quê
  452. 15:04coincidentemente ele me deu aqui a
  453. 15:06resposta da teoria especial da
  454. 15:07relatividade que foi em 1905 só que por
  455. 15:10exemplo se eu invertesse Essa ordem de
  456. 15:11perguntas vamos inverter agora aqui ó
  457. 15:12vou encerrar o código vou encerrar o
  458. 15:14código aqui é só clicar em qualquer
  459. 15:15lugar e apertar cont control c e agora
  460. 15:17eu vou inverter vou rodar o código de
  461. 15:18novo e vou perguntar primeiro a teoria
  462. 15:20especial e depois a teoria geral Olha só
  463. 15:22em que ano Einstein
  464. 15:25publicou a teoria especial da relat
  465. 15:28idade você vai ver que ele vai me
  466. 15:30responder rapidinho de uma forma bem
  467. 15:31curta ó em 1905 que foi a mesma resposta
  468. 15:34que ele tinha dado antes ó em 1905 a
  469. 15:36teoria especial agora e a teoria
  470. 15:43geral
  471. 15:46tã ó a teoria geral é um conjunto de
  472. 15:49princípios conceitos fundamentais que se
  473. 15:51aplicam a várias áreas de conhecimento
  474. 15:52com objetivo de estabelecer princípios
  475. 15:54gerais e tal não sei o quê teoria geral
  476. 15:55da administração do direito da economia
  477. 15:57e tudo mais ou ou seja ele não sabe que
  478. 16:00essa teoria geral tem a ver com a outra
  479. 16:03pergunta que eu tive antes tá vendo ele
  480. 16:05não sabe aqui em cima tinha dado certo
  481. 16:07por coincidência e foi legal isso
  482. 16:08acontecer no meu código porque pode ser
  483. 16:09que aconteça no seu também com duas
  484. 16:11perguntas mas foi só coincidência ou
  485. 16:13seja ele só intuiu que a quando eu
  486. 16:15perguntei a teoria especial eu tava
  487. 16:16querendo dizer a teoria especial da
  488. 16:18relatividade que foi Putz uma baita
  489. 16:20coincidência Mas você tá vendo aqui que
  490. 16:23ele não me respondeu a teoria especial
  491. 16:25da relatividade a teoria geral da
  492. 16:26relatividade aqui a data que ele 195 que
  493. 16:28era o que eu queria ou seja ele não tá
  494. 16:30conseguindo armazenar o histórico de
  495. 16:32mensagens pra gente ele tá funcionando
  496. 16:35só que ele não armazena esse histórico
  497. 16:36de mensagens e por que que ele não
  498. 16:37amazena esse histórico de mensagens
  499. 16:39porque a minha função enviar mensagem
  500. 16:40ela só recebe a mensagem atual que o
  501. 16:42usuário tá escrevendo e passa para essa
  502. 16:46pro chat ele cria um novo chat aqui tá
  503. 16:48vendo ele sempre cria um novo chat
  504. 16:50passando essa mensagem que o cara
  505. 16:52Manteve só que quando você cria um novo
  506. 16:53chat aqui nesse lista de mensagens você
  507. 16:56pode mandar toda a conversa para ele
  508. 16:58você pode mandar assim ó o user mandou
  509. 17:00essa mensagem
  510. 17:02depois o sistema respondeu essa mensagem
  511. 17:05depois o user mandou outra mensagem
  512. 17:08depois sistema respondeu isso depois
  513. 17:10user mandou isso E aí você poderia
  514. 17:12mandar seria essencialmente isso daqui ó
  515. 17:14System user System user tá vendo System
  516. 17:16não né assistant assistant user e aqui a
  517. 17:20mensagem do assistant e assim vai então
  518. 17:21você teria nessa lista aqui tá vendo
  519. 17:23isso aqui é uma lista nessa lista de
  520. 17:25mensagens você teria todas as mensagens
  521. 17:27então o que que eu vou fazer ao invés de
  522. 17:29enviar pro chat GPT uma única mensagem
  523. 17:32como tava antes que era isso daqui ó tem
  524. 17:34os cont control ZS aqui era assim que a
  525. 17:35gente tinha feito ao invés de enviar
  526. 17:37isso daqui eu vou tirar isso daqui e vou
  527. 17:39mandar para ele uma lista de mensagens e
  528. 17:42aí aqui esse enviar mensagem ele vai
  529. 17:45receber como parâmetro também uma lista
  530. 17:48de mensagens que vai começar vazia tá
  531. 17:51vendo uma lista de mensagens que vai
  532. 17:53começar a vazia quando você faz isso
  533. 17:54daqui numa função você tá dizendo o
  534. 17:56seguinte olha se o usuário quando chamar
  535. 17:58essa função não passar esse parâmetro
  536. 18:00lista de mensagens ela tá vazia Beleza
  537. 18:02então esse aqui é o parâmetro lista de
  538. 18:04mensagens e aí o que que eu vou fazer
  539. 18:05aqui antes de criar a minha conversa eu
  540. 18:08aqui vou fazer assim lista de mensagens
  541. 18:11ponto append eu vou adicionar na lista
  542. 18:14de mensagens exatamente aquele
  543. 18:16dicionário da mensagem atual que o
  544. 18:19usuário acabou de escrever esse cara
  545. 18:21aqui ó eu vou adicionar na lista de
  546. 18:24mensagens isso daqui o que que é isso
  547. 18:26daqui que a gente tá passando para ele
  548. 18:27que a gente tá adicionando a lista de
  549. 18:29mensagens se a lista tiver vazia essa
  550. 18:31minha lista de mensagens vai ser uma
  551. 18:33lista que tem um único dicionário que é
  552. 18:35o usuário escreveu essa mensagem ou seja
  553. 18:37eu tô iniciando a conversa com o chat
  554. 18:38GPT agora se eu passar para ele aqui na
  555. 18:41minha lista de mensagens uma lista que
  556. 18:43já tenha uma mensagem do usuário uma
  557. 18:45resposta do assistente quando eu
  558. 18:47adicionar essa próxima mensagem ele
  559. 18:48sempre adiciona no final eu vou passar
  560. 18:50pro chat PT toda a conversa já então
  561. 18:53aqui ó quando a gente for chamar agora
  562. 18:54esse enviar mensagem ao invés de gente
  563. 18:56chamar esse enviar mensagem por aqui só
  564. 18:58com o texto a gente vai passar para ele
  565. 19:01também a lista de mensagens agora que
  566. 19:03lista de mensagens é essa é uma lista
  567. 19:06que fora do loop ela começa vazia tá
  568. 19:08vendo eu começo vazio porque ainda não
  569. 19:10conversei nada com chat IPT e a cada
  570. 19:13conversa dessa daqui tá vendo a cada
  571. 19:15conversa dessa daqui olha só ele pega
  572. 19:17essa resposta ele adiciona essa resposta
  573. 19:20na minha lista de mensagens lista de
  574. 19:22mensagens p apende a resposta tá vendo
  575. 19:25ele adiciona essa resposta na lista de
  576. 19:27mensagens e printa para mim qual foi o
  577. 19:30texto da mensagem do usuário então o
  578. 19:32usuário perguntou ele adicionou e
  579. 19:34respondeu o usuário perguntou ele
  580. 19:36adicionou e respondeu o usuário
  581. 19:38perguntou ele adicionou e respondeu e a
  582. 19:39gente vai fazendo assim constantemente
  583. 19:41Então tá vendo aqui a gente adiciona a
  584. 19:43mensagem do usuário então aqui dentro da
  585. 19:45função enviar mensagem a gente adiciona
  586. 19:46mensagem do usuário e aqui a gente tá
  587. 19:49adicionando a resposta do chat GPT então
  588. 19:51primeiro a gente adiciona a mensagem do
  589. 19:53usuário depois a resposta do chat ept
  590. 19:55Obviamente você poderia ter feito esse
  591. 19:56append aqui na resposta aqui dentro da
  592. 19:58função também né Depois que você pegou
  593. 20:00essa resposta poderia ter feito esse
  594. 20:01append aqui ao invés de ter feito ele
  595. 20:03aqui tanto faz mas no caso eu tô fazendo
  596. 20:05aqui embaixo então ele vai primeiro
  597. 20:06adicionar na lista de mensagens aqui e
  598. 20:08depois adicionar na lista de mensagens
  599. 20:09aqui embaixo e aí ele vai sempre ter o
  600. 20:11histórico da nossa conversa e aí agora
  601. 20:13aquela sequência de perguntas perguntar
  602. 20:15primeiro sobre a teoria especial da
  603. 20:16relatividade depois a teoria geral vai
  604. 20:18funcionar Quer ver Vou pegar isso aqui
  605. 20:20vou rodar e obviamente Esse é só o
  606. 20:22exemplo que eu tô falando tá mas poderia
  607. 20:23ser qualquer outro exemplo vou dar um
  608. 20:25zoom aqui melhor para vocês conseguirem
  609. 20:26visualizar ó deixa eu dar uma aqui vocês
  610. 20:29verem melhor ol rodei tá lá escreva sua
  611. 20:32mensagem aqui em que ano
  612. 20:35Einstein publicou a teoria especial da
  613. 20:40relatividade aí ele vai dizer olha 195
  614. 20:44aí vou falar e a teoria geral isso aqui
  615. 20:46que tinha dado errado na última vez e a
  616. 20:48teoria geral vai ser rapidinho publicou
  617. 20:50em 1915 por quê Porque ele tem agora
  618. 20:52histórico da conversa entendeu E o que
  619. 20:55foi essa teoria qual teoria sei tá na
  620. 20:59última pergunta aqui e a chat GPT vai
  621. 21:01explicar agora pra gente ó ele tem que
  622. 21:03falar da teoria geral da relatividade ó
  623. 21:05a teoria geral da relatividade é uma
  624. 21:06teoria física que descreve a gravidade
  625. 21:08como curvatura e assim vai eu sei que o
  626. 21:10exemplo foi muito nerd aqui o exemplo
  627. 21:12que eu dei do Einstein e tudo mais mas é
  628. 21:14assim que a gente faz para você
  629. 21:16conseguir Criar o seu chatbot repara
  630. 21:18Agora o seu chatbot ele tá pronto você
  631. 21:20já consegue conversar com o chatbot Você
  632. 21:22já consegue conversar de uma forma
  633. 21:23constante iniciar uma conversa e nela
  634. 21:25até o final mantendo todo o histórico
  635. 21:27que que você precisa fazer se você
  636. 21:29quiser levar isso aqui é um passo além
  637. 21:31ainda integrar isso aqui no seu sistema
  638. 21:33ahir eu quero integrar isso num site que
  639. 21:35eu tô criando o link que tá aqui na
  640. 21:37descrição vai te ensinar a criar um site
  641. 21:39com python Ah lir eu quero integrar isso
  642. 21:41aqui num programinha no meu computador
  643. 21:43para eu poder ter um chatbot no meu
  644. 21:44computador para eu conversar com ele
  645. 21:46você integra isso lá com sei lá uma tela
  646. 21:48que você pode criar usando TK Inter
  647. 21:49usando alguma outra funci kiv uma outra
  648. 21:52funcionalidade do Python que crie telas
  649. 21:53para você mas a criação do chatbot é
  650. 21:56exatamente isso daqui que você precisa
  651. 21:57fazer você só só precisa agora dentro
  652. 21:58desse loop aqui escolher Como que você
  653. 22:01vai integrar isso daqui com a tela onde
  654. 22:03você tiver usando ou simplesmente um
  655. 22:05código mesmo que você vai ter a sua tela
  656. 22:06e vai usar o chat GPT por conta própria
  657. 22:08aqui dentro Lembrando que a chave da api
  658. 22:11né api do chat GPT você tem quando você
  659. 22:13cria sua conta você tem alguns créditos
  660. 22:14gratuitos depois um tempo ela começa a
  661. 22:16cobrar e tudo mais e que você tem que
  662. 22:17gerar a sua própria conta tá então no
  663. 22:19início os testes iniciais Acho que são
  664. 22:22gratuitos depois disso ele começa a
  665. 22:23cobrar você se você quiser continuar
  666. 22:25utilizando tá é barato mas ele cobra
  667. 22:27então só fica ligado com isso daí também
  668. 22:29Beleza espero de verdade vocês tenham
  669. 22:31gostado da aula de hoje Se vocês
  670. 22:32quiserem que eu construa alguma outra
  671. 22:33funcionalidade é como um chatbot ou
  672. 22:36alguma coisa do tipo deixa aqui nos
  673. 22:37comentários que eu tô sempre de olho no
  674. 22:38que vocês estão sugerindo um grande
  675. 22:40abraço e até a próxima
  676. 22:56aula
  677. 23:01n

About this transcript

This page contains the full transcript of Criando um ChatBot em Python com ChatGPT em 20 Minutos by Hashtag Programação, generated from the public captions YouTube serves with the video. The transcript has 4,895 words across 677 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.