Inteligência Artificial as a Service

Photo by Possessed Photography / Unsplash

O mundo da inteligência artificial ainda parece um mito para muitos mas o que para alguns é um problema complicado para outros é uma forma de ganhar dinheiro fácil 🤑

"Ah, se fosse só uma chamada de API seria tão fácil".

Quantas vezes já me peguei pensando nisso enquanto estou trabalhando em algo complexo, e numa dessas encontrei a 🤗 Hugging Face

A Hugging Face é basicamente um produto que oferece Inteligência Artificial as a Service. Você vai lá escolhe um modelo que deseja utilizar e ele te dá uma API pra chamar passando os dados e logo depois quando menos perceber você já adicionou inteligência artificial no seu produto.

Existe uma quantidade enorme de modelos disponíveis para as mais variadas necessidades, desde classificação de imagens, tradução, sumarização de textos... e tudo isso em vários idiomas.

Vamos supor que deseje um modelo que encontre respostas dentro de um conteúdo de texto em português

Pronto, agora é só escolher o modelo e fazer uma chamada de API.

Vamos pegar por exemplo o modelo pierreguillou/bert-large-cased-squad-v1.1-portuguese (que é muito bom por sinal) treinado pelo Pierre Guillou

Agora você tem 3 opções para utilizar este modelo, são elas:

Hugging Face Cloud

Utilizando o serviço em nuvem da Hugging Face, este método é o mais fácil e basta fazer um POST  com seu API Token no header Authorization e passando no corpo do request um objeto que tenho um input com a question e o context para buscar a resposta.

curl https://api-inference.huggingface.co/models/pierreguillou/bert-large-cased-squad-v1.1-portuguese \
	-X POST \
	-d '{"inputs": { "question": "Qual é meu nome?", "context": "Meu nome é Zé Pequeno e eu moro na Cidade de Deus." }}' \
	-H "Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

AWS SageMaker

A Hugging Face ainda oferece a opção de fazer deploy do modelo no AWS SageMaker (ainda não testei esta opção)

Rodando por Conta (self service)

Este é o jeito mais barato e funciona muito bem para uma prova de conceito e brincar com IA. O Hugging Face oferece uma opção de baixar o modelo e rodar ele local utilizando a biblioteca python chamada transformers, eu já utilizei esta opção e funciona muito bem, se você tem o desejo de manter servidores ⛈ você pode ainda encapsular esta biblioteca em um serviço http e hospedar onde quiser.

Com esta opção você pode escolher entre as bibliotecas PyTorch e TensorFlow para rodar o modelo.

from transformers import pipeline

question_answerer = pipeline("question-answering", model='pierreguillou/bert-large-cased-squad-v1.1-portuguese')

context = r"""
Chimbinha é o melhor guitarrista do mundo!
"""

result = question_answerer(question="Quem é o melhor guitarrista do mundo?", context=context)

print(f"Answer: '{result['answer']}'")

>> Answer: Chimbinha

Simples não é?