Acelere o desenvolvimento com o Google Bard para criar Mock servers de API

Bruno Patrocinio
google-cloud-brasil
5 min readJul 24, 2023

No meu último post demonstrei como podemos utilizar o Vertex AI para gerar código, e com o lançamento do Bard no Brasil na semana passada, vamos ver juntos como utiliza-lo para criar mock services de API!

Bard é um chatbot conversacional de inteligência artificial generativa desenvolvido pelo Google. Ele é baseado inicialmente na família LaMDA de grandes modelos de linguagem e, posteriormente, no PaLM LLM.

O Bard é capaz de realizar uma ampla gama de tarefas, incluindo:

  • Gerar texto, traduzir idiomas, escrever conteúdos criativos e responder perguntas de forma informativa.
  • Agendar reuniões no Google Agenda e resolver cálculos matemáticos.
  • Criar listas e pedir para que ele lembre de seus compromissos ou ajude a tomar uma decisão.
  • Integrar-se a outros aplicativos Google, como planilhas e e-mails.
  • Compreender assuntos complexos, tornando a conversa mais próxima e humanizada.

Bard ainda está em fase de testes, mas tem o potencial de ser uma ferramenta muito útil para os usuários. Por exemplo, ele pode ser usado para pesquisar informações, tirar dúvidas, agendar compromissos, organizar tarefas, e muito mais.

Para acessar o Bard, você pode fazer o seguinte:

  • Acesse o site do Google Bard.
  • Clique no botão “Começar a conversar”.
  • Digite sua pergunta ou solicitação.
  • Bard irá responder à sua pergunta ou solicitação o mais breve possível.

Você também pode acessar o Bard pelo Google Assistente. Basta dizer “Ok Google, fale com Bard”.

Bard é uma ferramenta poderosa que está em constante evolução. À medida que ele aprende mais sobre o mundo, ele se torna cada vez mais útil. Se você ainda não experimentou o Bard, eu recomendo que você o faça. Você pode se surpreender com o que ele é capaz de fazer.

Neste tutorial, mostrarei como gerar rapidamente mock servers de API com base em uma especificação OpenAPI usando Bard e Google Cloud Run.

Ao combinar Bard e Cloud Run, os desenvolvedores de API podem gerar mock servers de APIs de forma rápida e fácil, que podem ser usados ​​para testes, desenvolvimento e colaboração.

Aqui estão as etapas envolvidas:

  1. Crie uma especificação OpenAPI para sua API.
  2. Use o Bard para gerar o código a partir da Especificação OpenAPI.
  3. Implante o mock server no Cloud Run.
  4. Teste sua API no servidor “mockado”.

Vamos orientá-lo em cada uma dessas etapas com mais detalhes nas seções a seguir.

Pré-requisitos

  • Ter um projeto do Google Cloud com faturamento ativado

Tutorial passo a passo

Neste tutorial, usarei esta spec do OpenAPI .

Vamos começar!

  1. Primeiro, prepare seu arquivo yaml de especificação OpenAPI e verifique se ele é válido usando uma ferramenta online como esta.
  2. Copie sua especificação OpenAPI e navegue até o Bard.
  3. Use o prompt a seguir (ou personalize-o de acordo com suas próprias necessidades) e certifique-se de substituir o texto do espaço reservado “COLE_SUA_SPEC_AQUI” pelo sua spec OpenAPI (se não tiver nenhuma, pode usar esta aqui).
Gere código Python Flask para API de um mock server com base na
seguinte especificação OpenAPI: [COLE_SUA_SPEC_AQUI]

4. Bard responderá com código Python Flask. Abaixo está a resposta no meu caso:

from flask import Flask, request, jsonify

app = Flask(__name__)

products = [
{
"id": "1",
"name": "Vintage Coffee Mug",
"description": "A classic coffee mug with a vintage design.",
"picture": "https://example.com/images/coffee-mug.jpg",
"price_usd": {
"currency_code": "USD",
"units": 10,
"nanos": 0
},
"categories": ["vintage", "home"]
},
{
"id": "2",
"name": "Gardening Gloves",
"description": "A pair of gardening gloves for keeping your hands protected.",
"picture": "https://example.com/images/gardening-gloves.jpg",
"price_usd": {
"currency_code": "USD",
"units": 20,
"nanos": 0
},
"categories": ["gardening", "tools"]
}
]

@app.route("/products")
def get_products():
"""Gets a list of products."""
return jsonify({"products": products})

@app.route("/products/<product_id>")
def get_product_details(product_id):
"""Gets details for a specific product."""
product = next((product for product in products if product["id"] == product_id), None)
if product is None:
abort(404)
return jsonify(product)

if __name__ == "__main__":
app.run()

Nota : para o mesmo prompt, você pode obter um código diferente do acima. Portanto, use-o com cautela. Você também pode precisar ajustar o código conforme necessário e adicionar quaisquer dependências ausentes.

5. Como próxima etapa, precisamos preparar nosso código para ser implantado como um serviço do Cloud Run

  • Navegue até o console do GCP
  • Verifique se a API Cloud Run está ativada em seu projeto.
  • Abra o Cloud Shell e crie uma pasta em seu diretório principal
  • Siga a esta documentação aqui para preparar seu código para implantação no Cloud Run criando os seguintes arquivos: main.py , requirements.txt e Dockerfile .
  • Quando seu código estiver pronto, você poderá implantá-lo no Cloud Run usando o seguinte comando gcloud
gcloud run deploy

Você será solicitado a escolher um nome para seu serviço Cloud Run (mock server) e uma região GCP (por exemplo, us-central1 ) onde seu serviço será implantado. É recomendado que você permita apenas invocações autenticadas do serviço Cloud Run.

Aguarde alguns instantes até que a implantação seja concluída e,em caso de sucesso, a linha de comando exibirá a URL do serviço.

Testando o mock server da API

Neste exemplo, criaremos um proxy de API da Apigee com base na especificação OpenAPI mencionada anteriormente. Em seguida, usaremos o Mock Server que criamos anteriormente para testar nosso proxy de API da Apigee.

  1. Navegue até o console da Apigee, caso ainda não tenha configurado, saiba como aqui
  2. Crie um proxy de API usando sua especificação OpenAPI, siga as etapas descritas aqui. Use a URL do serviço Cloud Run como um “endpoint de destino do proxy”.
  3. Se você configurou seu serviço Cloud Run para permitir apenas invocações autenticadas, será necessário criar uma conta de serviço e conceder a ela a função “ Cloud Run Invoker ”. Depois de fazer isso, você precisará configurar seu proxy da Apigee para usar essa conta de serviço para invocar seu mock server. Instruções detalhadas são explicadas aqui
  4. Você pode usar um cliente de API como o Postman para fazer chamadas de API para seu proxy de API e testar seus endpoints, veja os dois exemplos abaixo:

Exemplo 1 : Obtendo todos os produtos

Exemplo 2 : Obtendo um produto específico (por exemplo, id=1)

Conclusão

Neste artigo, você pôde conhecer uma nova forma de utilizar o Bard, para gerar código automaticamente utilizando GenIA e fazer o deploy no Cloud Run.

Que tal testar em seu próximo projeto?

Deixe sua sugestão sobre o que mais gostaria de ler aqui! 📢

--

--