diff --git a/Meu Projeto/GemiChat.ipynb b/Meu Projeto/GemiChat.ipynb new file mode 100644 index 000000000..3e6fcf303 --- /dev/null +++ b/Meu Projeto/GemiChat.ipynb @@ -0,0 +1,208 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "private_outputs": true, + "provenance": [], + "cell_execution_strategy": "setup", + "authorship_tag": "ABX9TyOo67iRqxZxgojLCjVPfnBW", + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "source": [ + "**1. Instala as dependências necessárias para utilização da API do Gemini.**\n" + ], + "metadata": { + "id": "D0peUdykiCXG" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "iGbKCZnmbfV3" + }, + "outputs": [], + "source": [ + "!pip install -q -U google-generativeai" + ] + }, + { + "cell_type": "markdown", + "source": [ + "**2. Importação das dependências necessária para utilização da API do Gemini.**\n", + "\n" + ], + "metadata": { + "id": "hxyD12EqiY8c" + } + }, + { + "cell_type": "code", + "source": [ + "import google.generativeai as gemini" + ], + "metadata": { + "id": "iQol9VxGbtyA" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "**3. Impotação do Token de utilização da API do Gemini armanezado no próprio Notebook do Google Colab.**\n", + "\n" + ], + "metadata": { + "id": "sGBLtwF2iipM" + } + }, + { + "cell_type": "code", + "source": [ + "from google.colab import userdata\n", + "GOOGLE_GEMINI_API_KEY = userdata.get('GOOGLE_GEMINI_API_KEY')" + ], + "metadata": { + "id": "sg_UeuivcpgM" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "**4. Verificar quais modelos de IA Generativas o Google oference no momento do desenvolvimento do projeto.**\n", + "\n" + ], + "metadata": { + "id": "LgNKpz7hizqF" + } + }, + { + "cell_type": "code", + "source": [ + "for m in gemini.list_models():\n", + " if 'generateContent' in m.supported_generation_methods:\n", + " print(m.name)" + ], + "metadata": { + "id": "iXE5QkcVc6re" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "**5. Definição do modelo de IA Generativa a ser utilizada no projeto.**" + ], + "metadata": { + "id": "CbX0OQ0Hja9F" + } + }, + { + "cell_type": "code", + "source": [ + "model = gemini.GenerativeModel('gemini-1.5-pro')" + ], + "metadata": { + "id": "QlAhNRHDeNrG" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "**6. Teste para geração de conteúdo pela IA Generativa selecionada para o projeto.**\n" + ], + "metadata": { + "id": "UFgMeSCojnw0" + } + }, + { + "cell_type": "code", + "source": [ + "response = model.generate_content(\"Quem criou os modelos de IA Gemini?\")\n", + "print(response.text)" + ], + "metadata": { + "id": "_voY7h0fe_tZ" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "**7. Criação dos diretórios de entrada e saíde para armanezamento das perguntas e respostas geradas durante o chat com a IA Generativa.**" + ], + "metadata": { + "id": "ZGUlHlhIjzcc" + } + }, + { + "cell_type": "code", + "source": [ + "!mkdir input output" + ], + "metadata": { + "id": "XMQyrqHkhSCJ" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "**8. Criação de um chat com armazenamento do histórico (memória de contexto) das interações realizadas coma IA Generativa. Onde também serão armazenados nas pastas de entrada e saída todas as interações realizadas com a IA.**" + ], + "metadata": { + "id": "INKouL9QkDPc" + } + }, + { + "cell_type": "code", + "source": [ + "chat = model.start_chat(history=[])\n", + "prompt = input(\"Esperando Prompt:\")\n", + "while prompt != \"fim\":\n", + " with open('input/%s.txt' % prompt, 'w') as f:\n", + " f.write(prompt)\n", + " response = chat.send_message(prompt)\n", + " with open('output/%s.txt' % prompt, 'w') as f:\n", + " f.write(response.text)\n", + " print(response.text)\n", + " prompt = input(\"Esperando Prompt:\")" + ], + "metadata": { + "id": "oLsg7zf5hVWW" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/Meu Projeto/GemiChat.py b/Meu Projeto/GemiChat.py new file mode 100644 index 000000000..3732cb295 --- /dev/null +++ b/Meu Projeto/GemiChat.py @@ -0,0 +1,36 @@ +#1. Instala as dependências necessárias para utilização da API do Gemini. +!pip install -q -U google-generativeai + +#2. Importação das dependências necessária para utilização da API do Gemini. +import google.generativeai as gemini + +#3. Impotação do Token de utilização da API do Gemini armanezado no próprio Notebook do Google Colab. +from google.colab import userdata +GOOGLE_GEMINI_API_KEY = userdata.get('GOOGLE_GEMINI_API_KEY') + +#4. Verificar quais modelos de IA Generativas o Google oference no momento do desenvolvimento do projeto. +for m in gemini.list_models(): + if 'generateContent' in m.supported_generation_methods: + print(m.name) + +#5. Definição do modelo de IA Generativa a ser utilizada no projeto. +model = gemini.GenerativeModel('gemini-1.5-pro') + +#6. Teste para geração de conteúdo pela IA Generativa selecionada para o projeto. +response = model.generate_content("Quem criou os modelos de IA Gemini?") +print(response.text) + +#7. Criação dos diretórios de entrada e saíde para armanezamento das perguntas e respostas geradas durante o chat com a IA Generativa. +!mkdir input output + +#8. Criação de um chat com armazenamento do histórico (memória de contexto) das interações realizadas coma IA Generativa. Onde também serão armazenados nas pastas de entrada e saída todas as interações realizadas com a IA. +chat = model.start_chat(history=[]) +prompt = input("Esperando Prompt:") +while prompt != "fim": + with open('input/%s.txt' % prompt, 'w') as f: + f.write(prompt) + response = chat.send_message(prompt) + with open('output/%s.txt' % prompt, 'w') as f: + f.write(response.text) + print(response.text) + prompt = input("Esperando Prompt:") diff --git a/Meu Projeto/README.md b/Meu Projeto/README.md new file mode 100644 index 000000000..b896f0136 --- /dev/null +++ b/Meu Projeto/README.md @@ -0,0 +1,16 @@ +# GemiChat ;) + +## 📒 Descrição +Projeto de criação de um ChatBot por meio da API do Googlem Gemini. + +## 🤖 Tecnologias Utilizadas +Google Gemini API e Python + +## 🧐 Processo de Criação +A ideia de criar um chat com memória de contexto surgiu da necessidade de melhorar a interação entre usuários e IAs, permitindo que a IA 'lembre' de conversas anteriores para proporcionar uma experiência mais personalizada e eficiente. + +## 🚀 Resultados +O chat está funcionando conforme o planejado, com a IA capaz de lembrar contextos anteriores e responder de forma coerente às perguntas dos usuários. + +## 💭 Reflexão (Opcional) +Vejo um enorme potencial para o uso de IAs com memória de contexto em áreas como suporte ao cliente e educação, onde a continuidade e a personalização são essenciais.