![Empacotando e descompactando em Python](https://optimuscloud.com.br/wp-content/uploads/2024/02/1709168808_Empacotando-e-descompactando-em-Python-150x150.jpg)
Empacotando e descompactando em Python
28 de fevereiro de 2024![Os copilotos estão prontos para provisionar sua infraestrutura?](https://optimuscloud.com.br/wp-content/uploads/2024/02/1709219409_Os-copilotos-estao-prontos-para-provisionar-sua-infraestrutura-150x150.png)
Os copilotos estão prontos para provisionar sua infraestrutura?
29 de fevereiro de 2024Em meu artigo anterior, apresentei os principais recursos do Gemini, o modelo multimodal de IA generativa do Google. Neste post, mostrarei as etapas para acessar o modelo.
Existem duas maneiras de acessar o Gemini: Vertex AI e Google AI Studio. O primeiro é destinado a desenvolvedores familiarizados com o Google Cloud, enquanto o último é para desenvolvedores que criam aplicativos da web e móveis quase sem dependência do Google Cloud.
Vamos dar uma olhada nessas duas abordagens.
Acessando o Gemini por meio da Vertex AI
Supondo que você tenha um projeto ativo com faturamento habilitado, aqui estão as etapas para acessar a API de sua estação de trabalho local.
Crie um ambiente virtual Python e instale os módulos necessários.
$ python -m venv venv $ source venv/bin/activate
Como precisamos nos autenticar no Google Cloud, vamos executar os comandos abaixo para armazenar as credenciais em cache. Isso será usado pelo Google Cloud SDK ao se comunicar com os endpoints da API. Este método cria credenciais padrão do aplicativo (ADC) em sua estação de trabalho de desenvolvimento em $HOME/.config/gcloud/application_default_credentials.json
.
$ gcloud init $ gcloud auth application-default login
Você verá uma janela do navegador solicitando suas credenciais do Google para concluir o processo de autenticação. Feito isso, prossiga para a próxima etapa de instalação dos módulos Python.
$ pip install -U google-cloud-aiplatform $ pip install -U jupyter
Inicie o Jupyter Lab e acesse-o em seu navegador favorito.
$ jupyter notebook --ip='0.0.0.0' --no-browser --NotebookApp.token='' --NotebookApp.password=''
Comece importando os módulos e depois inicialize o modelo.
from google.cloud import aiplatform import vertexai from vertexai.preview.generative_models import GenerativeModel, Part
O módulo vertexai.preview fornece acesso aos modelos básicos disponíveis no Vertex AI. Verifique a documentação para obter a versão mais recente e a API atualizada.
vertexai.init() model = GenerativeModel("gemini-pro")
Assim como outros LLMs, o Gemini possui duas APIs: geração de texto e conclusão de chat.
Vamos tentar a API de geração de texto.
response = model.generate_content("I have a Python in the backyard. What should I do?") print(response.text)
A seguir, vamos explorar a API de conclusão de chat. A principal diferença entre a geração de texto e a conclusão do chat é a capacidade de manter o histórico das conversas em uma lista. Passar a lista de histórico fornece contexto automaticamente para o modelo. Ele pode até ser salvo no disco local e carregado para pegar o mesmo thread.
chat = model.start_chat(history=()) response = chat.send_message("In one sentence, explain how a computer works to a young child.") response.text
response = chat.send_message("Okay, how about a more detailed explanation to a high schooler?") response.text
Você pode acessar a lista de histórico para ver toda a conversa.
Acessando o Gemini por meio do Google AI Studio
O Google AI Studio é um playground para explorar os modelos generativos de IA oferecidos pelo Google. Qualquer pessoa com uma conta Google pode fazer login para experimentar os modelos. No entanto, para uso em produção, você ainda precisa ter um projeto ativo no Google Cloud.
Crie uma chave de API e inicialize uma variável de ambiente.
$ export GOOGLE_API_KEY=YOUR_API_KEY
Você precisa de um módulo Python diferente para acessar os modelos por meio do AI Studio.
$ pip install -U google-generativeai
Importe o módulo e veja se consegue listar os modelos disponíveis.
import os import google.generativeai as genai
GOOGLE_API_KEY=os.getenv("GOOGLE_API_KEY") genai.configure(api_key=GOOGLE_API_KEY)
models=genai.list_models() for m in models: print(m.name)
Como você pode ver, temos acesso ao modelo multimodal Gemini Pro. Vamos inicializar o modelo.
model = genai.GenerativeModel('gemini-pro')
Vamos agora repetir os passos para realizar a geração de texto e finalização do chat.
response = model.generate_content("I have a Python in the backyard. What should I do?") print(response.text)
chat = model.start_chat(history=()) response = chat.send_message("In one sentence, explain how a computer works to a young child.") print(response.text) response = chat.send_message("Okay, how about a more detailed explanation to a high schooler?") print(response.text)
Contando tokens para estimar o custo
De acordo com o Google, a entrada de texto é cobrada a cada 1.000 caracteres de entrada (prompt) e a cada 1.000 caracteres de saída (resposta). Os caracteres são contados por pontos de código UTF-8 e os espaços em branco são excluídos da contagem. A API possui métodos para fornecer o número de tokens que nos ajudam a estimar o custo. O código abaixo usa o count_tokens
métodos e usage_metadata
propriedades para traduzir o prompt e a resposta LLM em tokens faturáveis.
import vertexai from google.cloud import aiplatform from vertexai.preview.generative_models import GenerativeModel, Part vertexai.init() model = GenerativeModel("gemini-pro") vertexai.init() model = GenerativeModel("gemini-pro") print(len(prompt)) # 43 print(model.count_tokens(prompt)) # total_tokens: 11 # total_billable_characters: 34 response = model.generate_content(prompt) print(response.text) print(response._raw_response.usage_metadata) # prompt_token_count: 11 # candidates_token_count: 129 # total_token_count: 140
Na próxima parte desta série de tutoriais, exploraremos os fundamentos da engenharia imediata com Gemini. Fique atento.
A postagem Como começar com o modelo de linguagem grande Gemini do Google apareceu pela primeira vez em The New Stack.