Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Criação do GemiChat #130

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
208 changes: 208 additions & 0 deletions Meu Projeto/GemiChat.ipynb
Original file line number Diff line number Diff line change
@@ -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": [
"<a href=\"https://colab.research.google.com/github/euwebertdefreitas/lab-natty-or-not/blob/main/Meu%20Projeto/GemiChat.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"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": []
}
]
}
36 changes: 36 additions & 0 deletions Meu Projeto/GemiChat.py
Original file line number Diff line number Diff line change
@@ -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:")
16 changes: 16 additions & 0 deletions Meu Projeto/README.md
Original file line number Diff line number Diff line change
@@ -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.