{"id":180,"date":"2023-06-10T19:39:45","date_gmt":"2023-06-10T22:39:45","guid":{"rendered":"https:\/\/softwarelivre-br.aomega.com.br\/?p=180"},"modified":"2023-06-11T07:13:05","modified_gmt":"2023-06-11T10:13:05","slug":"aomegachagpt-integracao-da-openai-api-em-php-e-criacao-de-chatbot-personalizado-com-ia","status":"publish","type":"post","link":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/2023\/06\/10\/aomegachagpt-integracao-da-openai-api-em-php-e-criacao-de-chatbot-personalizado-com-ia\/","title":{"rendered":"AOMEGACHAGPT &#8211; Integra\u00e7\u00e3o da OpenAI API em aplica\u00e7\u00e3o PHP e cria\u00e7\u00e3o de chatbot personalizado"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"181\" data-permalink=\"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/2023\/06\/10\/aomegachagpt-integracao-da-openai-api-em-php-e-criacao-de-chatbot-personalizado-com-ia\/image\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image.png?fit=625%2C625&amp;ssl=1\" data-orig-size=\"625,625\" data-comments-opened=\"1\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image.png?fit=625%2C625&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image.png?resize=399%2C399&#038;ssl=1\" alt=\"\" class=\"wp-image-181\" width=\"399\" height=\"399\" srcset=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image.png?w=625&amp;ssl=1 625w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image.png?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image.png?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 399px) 100vw, 399px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Compartilho com voc\u00eas este pequeno projeto de minha autoria. Consegui integrar uma aplica\u00e7\u00e3o PHP com a OPENAI API e ainda realizar uma customiza\u00e7\u00e3o para conseguir fazer com que o ChatGPT embutido na minha aplica\u00e7\u00e3o respondesse perguntas espec\u00edficas sobre minha empresa ap\u00f3s &#8220;treinar&#8221; ele com minha &#8220;base de conhecimento&#8221;. Para os que preferem assistir em video segue a seguir o video que criei no Youtube:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe loading=\"lazy\" class=\"youtube-player\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/7_a0r6SvdFk?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=pt-BR&#038;autohide=2&#038;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\"><\/iframe><\/span>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Neste artigo ensinarei como acessar a API da OpenAI dentro de nossa aplica\u00e7\u00e3o. Mas eu quero que ele responda mensagens espec\u00edficas sobre a minha empresa. Para isso eu preciso \u201censinar\u201d ele, passando informa\u00e7\u00f5es sobre minha empresa que eu quero que ele esteja apto para responder a um visitante do meu site.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eu desenvolvo h\u00e1 v\u00e1rios anos em PHP e gosto muito. O PHP j\u00e1 nasceu sendo uma linguagem de desenvolvimento Web , n\u00e3o preciso aprender muitas tecnologias&nbsp; nem frameworks para criar uma aplica\u00e7\u00e3o Web al\u00e9m de HTML ,CSS e o pr\u00f3prio PHP. Assim que foi disponibilizado a API criada pela OpenAI para fazer uso do ChatGPT dentro de v\u00e1rias linguagens meu interesse foi saber se j\u00e1 existia alguma coisa para o PHP.&nbsp; O pr\u00f3prio site da OpenAPI exibe uma forma de se conectar com a API via Curl no PHP. Mas n\u00e3o consegui faz\u00ea-la funcionar e vi que a solu\u00e7\u00e3o adotada por muitos passava longe do uso do Curl e sim pelo uso de uma biblioteca desenvolvida por uma comunidade de software livre bastante divulgada, no projeto \u201copenai_php\/client\u201d que permite criar no PHP um cliente para a OpenAI API.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vamos precisar trabalhar com o PHP vers\u00e3o 8.1 ou superior e ter o Composer instalado em nossa m\u00e1quina.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"182\" data-permalink=\"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/2023\/06\/10\/aomegachagpt-integracao-da-openai-api-em-php-e-criacao-de-chatbot-personalizado-com-ia\/image-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-1.png?fit=378%2C464&amp;ssl=1\" data-orig-size=\"378,464\" data-comments-opened=\"1\" data-image-title=\"image-1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-1.png?fit=378%2C464&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-1.png?resize=234%2C287&#038;ssl=1\" alt=\"\" class=\"wp-image-182\" width=\"234\" height=\"287\" srcset=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-1.png?w=378&amp;ssl=1 378w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-1.png?resize=244%2C300&amp;ssl=1 244w\" sizes=\"auto, (max-width: 234px) 100vw, 234px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Para baixar e instalar o Composer na sua m\u00e1quina voc\u00ea pode acessar o link <a href=\"https:\/\/getcomposer.org\/download\/\">https:\/\/getcomposer.org\/download\/<\/a><a href=\"https:\/\/getcomposer.org\/download\/\"> <\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instalar o Composer \u00e9 muito simples (em ambos os casos voc\u00ea deve ter o comando PHP dispon\u00edvel no terminal):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Se voc\u00ea estiver no Windows, s\u00f3 precisa baixar o arquivo composer-setup.exe que adicionar\u00e1 automaticamente o comando Composer ao PATH do seu sistema.<\/li>\n\n\n\n<li>No UNIX\/Linux voc\u00ea deve baixar composer.phar digitando a linha curl -sS https:\/\/getcomposer.org\/installer | php no seu terminal. Voc\u00ea pode ent\u00e3o executar o compositor utilizando php composer.phar<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Tamb\u00e9m precisaremos utilizar nossa chave (Key) para autorizar o nosso acesso \u00e0 OpenAI API. Se voc\u00ea n\u00e3o possui uma Key precisa obter uma se registrando em <a href=\"https:\/\/chat.openai.com\/\">https:\/\/chat.openai.com<\/a><a href=\"https:\/\/chat.openai.com\/\"> <\/a>.O Composer \u00e9 amplamente utilizado pela comunidade de desenvolvedores PHP para instalar pacotes adicionais no PHP. Em nosso caso, precisaremos do Composer para instalar o pacote do cliente da OpenAI API, denominado de OPENAI_PHP\/CLIENT. A seguir o comando para instalar o pacote na pasta raiz de nosso site.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>composer require openai-php\/client<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Agora vamos criar um arquivo PHP, por exemplo aomegachatgpt_000.php, para criar o cliente do OPENAI API em nosso c\u00f3digo:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">require &#8220;vendor\/autoload.php&#8221;; <br>$yourApiKey = &#8220;xp-Tuskdk2993wo\\eldldlXQ&#8221;; \/\/ chave fake <br>$client = OpenAI::client($yourApiKey);&nbsp; <br>$response = $client-&gt;chat()-&gt;create([&#8216;model&#8217; =&gt; &#8216;gpt-3.5-turbo&#8217;, &nbsp;&nbsp;&nbsp; &#8216;messages&#8217; =&gt; [ [&#8216;role&#8217; =&gt; &#8216;user&#8217;,&nbsp;&#8216;content&#8217; =&gt; &#8216;Qual \u00e9 a atividade principal da &#8220;Aomega Treinamento e Consultoria&#8221; cujo site est\u00e1 em &#8220;http:\/\/www.aomega.com.br&#8221; ?&#8217;], &nbsp;&nbsp;&nbsp; ], ]); &nbsp;<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">foreach ($response-&gt;choices as $result) { &nbsp;&nbsp;&nbsp; <br>$result-&gt;index; \/\/ 0 &nbsp;&nbsp;&nbsp; $result-&gt;message-&gt;role; \/\/ &#8216;assistant&#8217; &nbsp;&nbsp;&nbsp; <br>$result-&gt;message-&gt;content; \/\/ <br>$result-&gt;finishReason; \/\/ &#8216;stop&#8217; }&nbsp; <br>echo $result-&gt;message-&gt;content; <strong>&nbsp;<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">$yourApiKey&nbsp; &#8211;&nbsp; vari\u00e1vel para armazenar nossa KEY pessoal obtida ap\u00f3s nosso registro no site da OpenAI. A nossa KEY n\u00e3o pode ficar vis\u00edvel para o mundo, lembre que o uso de nossa KEY da OpenAI API \u00e9 pago se exceder o limite gratuito para testes, e o valor pago varia de acordo com o tr\u00e1fego acumulado de nossa aplica\u00e7\u00e3o. Algumas pessoas armazenam a KEY dentro de um arquivo de ambiente do tipo .ENV mas esse arquivo poderia ser acessado por algu\u00e9m externamente e \u201croubar\u201d nossa KEY. Ent\u00e3o \u00e9 melhor nossa KEY estar apenas no servidor, no caso dentro de nosso script PHP, assim ela fica mais protegida.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$client \u2013 cliente da API obtido instanciando o m\u00e9todo client da classe OpenAI do pacote instalado por n\u00f3s utilizando o Composer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Existem v\u00e1rios modelos dispon\u00edveis na API da OpenAI que podemos utilizar segundo a nossa conveni\u00eancia. N\u00e3o vou entrar aqui em detalhes sobre cada um desses modelos, alguns podem ser mais r\u00e1pidos e outros mais poderosos, dependendo a finalidade que desejamos obter. Entre os modelos temos : gpt-3.5-turbo, da-vinci, curie, babbage, ada. O modelo da-vinci costuma ser mais r\u00e1pido e com menor custo e atender em muitos casos as nossas necessidades. Em nosso exemplo estamos usando o modelo gpt-3.5-turbo mais vers\u00e1til e poderoso, mais apropriado para um chat, embora acarrete num custo levemente maior.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>$response &#8211;<\/strong>&nbsp; Objeto gerado ap\u00f3s a cria\u00e7\u00e3o com nosso cliente de um chat com o modelo gpt.3-5.turbo.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>messages<\/strong> \u2013 array atributo de nosso cliente contendo a chave \u201crole\u201d ou papel, que no caso \u00e9 o usu\u00e1rio interagindo (\u201cuser\u201d), a chave \u201ccontent\u201d com o texto de nosso prompt com nossa solicita\u00e7\u00e3o ao chatgpt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E logo depois inseri o texto de minha solicita\u00e7\u00e3o:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Qual \u00e9 a atividade principal da &#8220;Aomega Treinamento e Consultoria&#8221; cujo site est\u00e1 em <a href=\"http:\/\/www.aomega.com.br\/\">http:\/\/www.aomega.com.br<\/a><a href=\"http:\/\/www.aomega.com.br\/\"> <\/a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para capturar e visualizar a resposta do ChatGPT a minha solicita\u00e7\u00e3o posso acrescentar o seguinte c\u00f3digo no final:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>&nbsp;foreach ($response-&gt;choices as $result) { &nbsp;&nbsp;&nbsp; <br>$result-&gt;index; \/\/ 0 &nbsp;&nbsp;&nbsp; <br>$result-&gt;message-&gt;role; \/\/ &#8216;assistant&#8217; &nbsp;&nbsp; &nbsp;<br>$result-&gt;message-&gt;content; \/\/ &#8216; &nbsp;&nbsp;&nbsp; <br>$result-&gt;finishReason; \/\/ &#8216;stop&#8217; } <br>echo echo $result-&gt;message-&gt;content; \/\/ resposta do chatgpt a ser exibida na tela de resposta ao usu\u00e1rio. &nbsp; &nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Repare que depois de instanciado nosso cliente com nosso prompt, o valor do \u201crole\u201d muda de \u201cuser\u201d para \u201cassistant\u201d. O assistente \u00e9 que vai fornecer a resposta no atributo \u201ccontent\u201d atualizando o valor desta com a resposta do chatgpt \u00e0 solicita\u00e7\u00e3o do usu\u00e1rio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bom, com esse c\u00f3digo j\u00e1 d\u00e1 para testar, mas reparem que eu forneci no c\u00f3digo o texto do prompt, ele est\u00e1 fixo. O ideal seria ter uma tela com um formul\u00e1rio para que o usu\u00e1rio possa digitar o texto de sua solicita\u00e7\u00e3o em um formul\u00e1rio de um script PHP contendo o c\u00f3digo mostrado anteriormente e exibisse a resposta na tela.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vamos incrementar nosso script que vou denominar de aomegachatgpt2.php acrescentando o c\u00f3digo HTML necess\u00e1rio no final.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&lt;?php \/\/ c\u00f3digo PHP mostrado anteriormente ?&gt;<br>&lt;!DOCTYPE html&gt;<br>&lt;html&gt;<br>&lt;head&gt;<br>&lt;title&gt;Converse com o Aomega-GPT e esclare\u00e7a suas d\u00favidas sobre nossos treinamentos&lt;\/title&gt;<br>&lt;\/head&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&lt;body&gt;<br>&nbsp;&nbsp;&nbsp; &lt;h1&gt;Converse com o Aomega-GPT e esclare\u00e7a suas d\u00favidas sobre nossos treinamentos&lt;\/h1&gt;<br>&nbsp;&nbsp;&nbsp; &lt;form method=&#8221;POST&#8221; action=&#8221;aomegachatgpt2.php&#8221;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;?php if (isset($result)) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>                       echo $result-&gt;message-&gt;content.&#8221;&lt;br\/&gt;&lt;br\/&gt;&#8221;;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp; ?&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;h3&gt;O que voc\u00ea gostaria de saber?&lt;\/h3&gt;&lt;br&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;textarea id=&#8221;duvida&#8221; name=&#8221;duvida&#8221; rows=&#8221;4&#8243; cols=&#8221;50&#8243;&gt;<br>        &lt;\/textarea&gt;&lt;br&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type=&#8221;submit&#8221; value=&#8221;Enviar&#8221;&gt;<br>&nbsp;&nbsp;&nbsp; &lt;\/form&gt;<br>&lt;\/body&gt;<br>&lt;\/html&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Agora nosso c\u00f3digo PHP est\u00e1 perfeito, temos o ChatGPT embutido em nossa aplica\u00e7\u00e3o funcionando. Mas n\u00e3o \u00e9 isso que quero apenas. Quero que o ChatGPT possa responder perguntas espec\u00edficas sobre minha empresa&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O problema \u00e9 que o ChatGPT n\u00e3o acessa a web e sua base de dados n\u00e3o engloba conhecimento at\u00e9 o dia atual. Al\u00e9m disso provavelmente ele n\u00e3o poder\u00e1 responder perguntas muito espec\u00edficas sobre minha empresa, apenas de cunho geral com sorte. Entretanto o modelo de Chat da OpenAI API permite que possamos \u201censinar\u201d o ChatGPT sobre minha empresa, basta para isso passar para ele as informa\u00e7\u00f5es que gostar\u00edamos que fossem disponibilizadas.&nbsp; Lembre que ele tem intelig\u00eancia artificial e ele saber\u00e1 fornecer as informa\u00e7\u00f5es corretas mesmo que perguntado de maneiras diferentes, ele vai \u201centender\u201d o que voc\u00ea quer e procurar a resposta correta dentro das informa\u00e7\u00f5es que foram \u201censinadas\u201d para ele. Isso ser\u00e1 um processo interativo, de \u201caprendizado\u201d, voc\u00ea ir\u00e1 aperfei\u00e7oar o texto com as informa\u00e7\u00f5es fornecidas a ele v\u00e1rias vezes at\u00e9 atingir o ideal, quando voc\u00ea ficar satisfeito com o n\u00edvel de qualidade das respostas fornecidas pelo ChatGPT.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vamos acrescentar ent\u00e3o nossa \u201cbase de conhecimento\u201d sobre nossa empresa:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>$empresa = &#8220;Aomega Treinamento e Consultoria&#8221;; <br>$url = &#8220;http:\/\/www.aomega.com.br&#8221;; <br>$empresa_nick = &#8220;Aomega&#8221;; &nbsp; <br>$conhecimento = &#8220;N\u00f3s da $empresa, tamb\u00e9m conhecida como $empresa_nick, oferecemos servi\u00e7os de treinamento em Excel n\u00edveis b\u00e1sico, intermedi\u00e1rio e avan\u00e7ado, Excel VBA, An\u00e1lise de Dados com Power BI, SQL e Intelig\u00eancia &nbsp;artificial, engenharia de PROMPTS no CHATGPT e uso da API. &nbsp; Ministramos treinamentos online individuais e para grupos via &nbsp;videoconfer\u00eancia ou presencias para empresas (in company) . &nbsp; A URL de nosso site \u00e9 $url . Para solicitar informa\u00e7\u00f5es adicionais entre &nbsp;em contato conosco atrav\u00e9s de nosso formul\u00e1rio na p\u00e1gina FALE CONOSCO . A dura\u00e7\u00e3o dos treinamentos pode ser consultada nos links de aulas &nbsp;de nosso site. A dura\u00e7\u00e3o pode variar para os treinamentos personalizados. Entre &nbsp;em contato conosco atrav\u00e9s de nosso formul\u00e1rio na p\u00e1gina FALE CONOSCO &#8220;; <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$prompt = \"Responder a d\u00favida $duvida com base nas informa\u00e7\u00f5es a seguir: $conhecimento \";<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Criamos algumas vari\u00e1veis como $empresa e $empresa_nick e $url para armazenar o nome de nossa empresa, o nome abreviado e a url de nosso website.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nossa base de conhecimento ficou armazenada na vari\u00e1vel $conhecimento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A vari\u00e1vel $duvida ir\u00e1 armazenar o texto com a d\u00favida\/solicita\u00e7\u00e3o feita pelo usu\u00e1rio. Ele ir\u00e1 armazenar o valor do campo \u201cduvida\u201d do meu formul\u00e1rio HTML que criei ap\u00f3s ser submetido o formul\u00e1rio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A vari\u00e1vel $prompt ser\u00e1 utilizada durante a cria\u00e7\u00e3o dos atributos do objeto cliente do tipo Chat da OpenAI API&nbsp; e recebe como valor um texto instruindo ao Chat que deve responder as d\u00favidas com base nas informa\u00e7\u00f5es da base de conhecimento que armazenei na vari\u00e1vel $conhecimento. Ent\u00e3o o Chat ir\u00e1 procurar preferencialmente as respostas dentro de minha base de conhecimento, ser\u00e1 o primeiro lugar onde ele vai procurar as respostas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A seguir vou mostrar o trecho do c\u00f3digo PHP criado que ser\u00e1 modificado para incorporar o uso da vari\u00e1vel $prompt.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$response = $client-&gt;chat()-&gt;create(&#91;\n    'model' =&gt; 'gpt-3.5-turbo',    \n    'max_tokens' =&gt; 300,\n    'temperature' =&gt; 0.3,\n    'messages' =&gt; &#91; &#91;'role' =&gt; 'user', \n        'content' =&gt; $prompt],       \n    ],\n]);\n\/\/ $resposta = $result-&gt;message-&gt;content; <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ou seja o valor de $prompt \u00e9 atribu\u00eddo ao atributo \u201ccontent\u201d do meu cliente $response criado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finalmente ap\u00f3s melhorar o HTML do meu c\u00f3digo e acrescentar CSS e imagens para fazer uma personaliza\u00e7\u00e3o para ficar com a identidade visual do website de minha empresa ficou visualmente assim:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"351\" data-attachment-id=\"183\" data-permalink=\"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/2023\/06\/10\/aomegachagpt-integracao-da-openai-api-em-php-e-criacao-de-chatbot-personalizado-com-ia\/image-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-2.png?fit=934%2C512&amp;ssl=1\" data-orig-size=\"934,512\" data-comments-opened=\"1\" data-image-title=\"image-2\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-2.png?fit=640%2C351&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-2.png?resize=640%2C351&#038;ssl=1\" alt=\"\" class=\"wp-image-183\" srcset=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-2.png?w=934&amp;ssl=1 934w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-2.png?resize=300%2C164&amp;ssl=1 300w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-2.png?resize=768%2C421&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">E aqui a tela com a resposta do nosso Chat com intelig\u00eancia artificial:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"388\" data-attachment-id=\"184\" data-permalink=\"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/2023\/06\/10\/aomegachagpt-integracao-da-openai-api-em-php-e-criacao-de-chatbot-personalizado-com-ia\/image-3\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-3.png?fit=989%2C600&amp;ssl=1\" data-orig-size=\"989,600\" data-comments-opened=\"1\" data-image-title=\"image-3\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-3.png?fit=640%2C388&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-3.png?resize=640%2C388&#038;ssl=1\" alt=\"\" class=\"wp-image-184\" srcset=\"https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-3.png?w=989&amp;ssl=1 989w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-3.png?resize=300%2C182&amp;ssl=1 300w, https:\/\/i0.wp.com\/softwarelivre-br.aomega.com.br\/wp-content\/uploads\/2023\/06\/image-3.png?resize=768%2C466&amp;ssl=1 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Funcionando perfeitamente e respondendo de acordo com a base de conhecimento com a qual treinei o Chat. Arquivos do projeto dispon\u00edveis&nbsp; no Github em <a href=\"https:\/\/github.com\/evillafuerte\/aomegachatgpt\">https:\/\/github.com\/evillafuerte\/aomegachatgpt<\/a><a href=\"https:\/\/github.com\/evillafuerte\/aomegachatgpt\">.<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Autor: Ernesto Villafuerte Oyola<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mestre em Ci\u00eancias de Computa\u00e7\u00e3o \u2013 Intelig\u00eancia Artificial<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">COPPE\/UFRJ<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diretor da Aomega Treinamento e Consultoria <a href=\"http:\/\/www.aomega.com.br\/\">www.aomega.com.br<\/a><a href=\"http:\/\/www.aomega.com.br\/\"><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">12\/05\/2023<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Projeto no GITHUB: <a href=\"https:\/\/github.com\/evillafuerte\/aomegachatgpt\">https:\/\/github.com\/evillafuerte\/aomegachatgpt<\/a><br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Compartilho com voc\u00eas este pequeno projeto de minha autoria. Consegui integrar uma aplica\u00e7\u00e3o PHP com a OPENAI API e ainda realizar uma customiza\u00e7\u00e3o para conseguir fazer com que o ChatGPT embutido na minha aplica\u00e7\u00e3o respondesse perguntas espec\u00edficas sobre minha empresa ap\u00f3s &#8220;treinar&#8221; ele com minha &#8220;base de conhecimento&#8221;. Para os que preferem assistir em video &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/2023\/06\/10\/aomegachagpt-integracao-da-openai-api-em-php-e-criacao-de-chatbot-personalizado-com-ia\/\" class=\"more-link\">Continue lendo<span class=\"screen-reader-text\"> &#8220;AOMEGACHAGPT &#8211; Integra\u00e7\u00e3o da OpenAI API em aplica\u00e7\u00e3o PHP e cria\u00e7\u00e3o de chatbot personalizado&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[4,2],"tags":[72,74,75,65,73],"class_list":["post-180","post","type-post","status-publish","format-standard","hentry","category-cienciaetecnologia","category-datascience","tag-aomegachatgpt","tag-chatbot","tag-chatbot-personalizado","tag-chatgpt","tag-openai-api","entry"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7PCWO-2U","jetpack-related-posts":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/posts\/180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=180"}],"version-history":[{"count":5,"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/posts\/180\/revisions"}],"predecessor-version":[{"id":190,"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/posts\/180\/revisions\/190"}],"wp:attachment":[{"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/softwarelivre-br.aomega.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}