Pular para o conteúdo principal

Disponibilizando um aplicativo de LLM como endpoint de API usando FastAPI em Python

Libere o poder dos Large Language Models (LLMs) nos seus aplicativos com nosso novo blog "Disponibilizando um aplicativo de LLM como endpoint de API usando FastAPI em Python". LLMs como GPT, Claude e LLaMA estão revolucionando chatbots, criação de conteúdo e muitos outros casos de uso. Descubra como as APIs funcionam como pontes essenciais, permitindo integrar com facilidade recursos avançados de compreensão e geração de linguagem aos seus projetos.
Atualizado 17 de set. de 2026

Explorar com IA

ChatGPTClaudePerplexity

Introdução

Os Large Language Models (LLMs) estão na linha de frente da IA generativa, transformando a forma como máquinas entendem e geram texto semelhante ao humano. Modelos LLM como GPT, Claude, LLaMA, Mistral, etc. impulsionam inovações em chatbots, criação de conteúdo e muito mais, oferecendo capacidades inéditas de processamento e geração de linguagem natural.

No entanto, a verdadeira utilidade dos LLMs vai além do poder computacional bruto; acessibilidade é fundamental. APIs, ou Application Programming Interfaces, funcionam como pontes, permitindo que diversos aplicativos aproveitem o potencial dos LLMs. Elas permitem que desenvolvedores integrem recursos sofisticados de compreensão e geração de linguagem aos seus aplicativos, desde análises de texto simples até sistemas de diálogo complexos.

Neste tutorial, vamos construir um aplicativo simples em Python usando o modelo GPT da OpenAI e disponibilizá-lo por meio de um endpoint de API desenvolvido com o framework FastAPI em Python.

Large Language Models

Large Language Models (LLMs) são sistemas avançados de inteligência artificial projetados para entender e gerar texto semelhante ao humano. Esses modelos são treinados com enormes volumes de dados, o que lhes permite captar padrões complexos, compreender nuances da linguagem e produzir respostas coerentes.

Os LLMs conseguem executar diversas tarefas de linguagem, como tradução, completar textos, sumarização e até manter conversas. GPT é um exemplo de LLM.

Neste post, vamos criar um aplicativo simples em Python usando a API do GPT da OpenAI e, em seguida, criar um endpoint REST para nosso aplicativo com o framework FastAPI em Python.

LLM é um tipo de IA generativa. Se você quiser aprender mais sobre IA generativa e como ela pode turbinar sua criatividade, confira nossos posts sobre como usar IA generativa para impulsionar sua criatividade e nosso podcast, Inside the Generative AI Revolution.

Você também pode se inscrever no nosso próximo curso sobre conceitos de Large Language Models.

O que é uma API?

Application Programming Interface (API) é a espinha dorsal da comunicação de software, permitindo que diferentes sistemas, aplicativos e dispositivos interajam e compartilhem dados sem atrito. Ela funciona como um conjunto de regras e protocolos que possibilitam a comunicação entre entidades de software, oferecendo uma forma predefinida para que um aplicativo utilize capacidades ou dados de outro sem precisar conhecer seus detalhes internos.

As APIs estão em toda parte no ecossistema digital atual, alimentando serviços web, aplicativos móveis e computação em nuvem, facilitando a comunicação entre aplicativos e a integração de serviços de terceiros. Elas simplificam o desenvolvimento ao fornecer blocos de construção que os desenvolvedores podem usar para acelerar a criação de novos softwares, ampliando a funcionalidade e a experiência do usuário sem começar do zero.

Com APIs, desenvolvedores conseguem estender seus aplicativos de formas que seriam complexas ou impossíveis de outro modo, tornando-as um componente crítico no desenvolvimento de software moderno.

Captura de tela mostrando como uma API funciona

Fonte da imagem

Se você quer aprender sobre engenharia aplicada à implantação de modelos de machine learning no mundo real, confira este guia completo sobre machine learning, pipelines, deployment e MLOps. Você também pode fazer o curso gratuito Introdução a APIs na Datacamp.

FastAPI

FastAPI é um framework Python criado para construir APIs de alta performance. Sua ascensão se deve à velocidade, facilidade de uso e compatibilidade com programação assíncrona. O FastAPI ajuda desenvolvedores a expor funcionalidades de LLMs como endpoints de API, facilitando a implantação, o gerenciamento e a escalabilidade de serviços com IA.

O FastAPI se destaca pelo desempenho e eficiência, aproveitando recursos modernos do Python como type hints e programação assíncrona para oferecer ganhos de velocidade que rivalizam com NodeJS e até Go.

Essa vantagem de performance é crucial para aplicativos que exigem processamento em tempo real e tratamento de requisições concorrentes, como os que interagem com LLMs. Sua capacidade de validar automaticamente dados de entrada e serializar respostas reduz boilerplate, tornando o desenvolvimento de APIs mais limpo e direto.

A documentação automática, baseada em padrões como OpenAPI, oferece a desenvolvedores e usuários uma documentação clara e interativa da API, simplificando ainda mais integração e testes.

Exemplo de criação de API:

from typing import Union

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}

@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
    return {"item_id": item_id, "q": q}

Esse código cria um servidor web simples usando FastAPI. O servidor responde a dois tipos de requisição: uma que cumprimenta o usuário com "Hello World" quando ele acessa a página inicial ("/"), e outra que exibe o ID de um item e um parâmetro de consulta opcional "q" quando o usuário acessa a página de um item específico ("/items/{item_id}"). O ID do item é obrigatório e deve ser um inteiro, enquanto o parâmetro "q" é opcional e pode ser uma string ou não estar presente.

Execute o servidor FastAPI com:

Captura do bash mostrando como iniciar o servidor FastAPI. comando: uvicorn main:app --reload

Crie um aplicativo ponta a ponta em Python

O objetivo principal deste blog é mostrar como você pode criar rapidamente endpoints REST para seus aplicativos com LLM. Vamos criar um aplicativo simples em Python (apenas uma função) que usa a API do OpenAI GPT-4 e traduz texto em inglês para francês. Este aplicativo tem apenas uma função, translate_text:

from openai import OpenAI
import os

os.environ["OPENAI_API_KEY"] = "..."

# Initialize OpenAI client with your API key
client = OpenAI()

def translate_text(input_str):
    completion = client.chat.completions.create(
        model="gpt-4-0125-preview",
        messages=[
            {
                "role": "system",
                "content": "You are an expert translator who translates text from english to french and only return translated text",
            },
            {"role": "user", "content": input_str},
        ],
    )

    return completion.choices[0].message.content

Essa função recebe uma entrada do usuário e simplesmente a repassa para o modelo GPT-4 da OpenAI. Há um prompt de sistema para definir o contexto, e o prompt do usuário é o texto que recebemos em input_str.

Você pode testar essa função executando o seguinte. Você deverá receber o texto em francês de volta.

# test the function
translate_text("this is a test string to translate")

Se você pretende compartilhar esse aplicativo com outras pessoas, simplesmente enviar o arquivo Python para que elas executem no terminal pode funcionar para alguns usuários, especialmente os familiarizados com Python e linha de comando.

Mas essa abordagem tem limitações. Nem todo mundo se sente à vontade usando o terminal e, mesmo para quem se sente, rodar um script Python exige ter o ambiente configurado com todas as dependências. Isso pode ser trabalhoso e criar barreiras para que os usuários acessem com facilidade a funcionalidade do seu tradutor.

É aqui que empacotar seu aplicativo com FastAPI para expô-lo como um endpoint REST se torna uma solução poderosa. Assim, você cria uma interface acessível ao seu aplicativo pela internet, sem exigir que os usuários executem scripts Python. Eles podem interagir por requisições web simples, feitas a partir de várias plataformas e linguagens de programação, não apenas Python.

Criar uma API REST com FastAPI automatiza o processo de receber solicitações de tradução e enviar as respostas. Os usuários podem enviar o texto a ser traduzido por uma interface web ou chamada de API programática, deixando tudo muito mais fácil e flexível para diferentes casos de uso.

Para converter essa função simples em um endpoint de API usando FastAPI, vamos ajustar nosso código:

from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
import os


os.environ["OPENAI_API_KEY"] = "..."


# Initialize OpenAI client with your API key
client = OpenAI()


# Initialize FastAPI client
app = FastAPI()


# Create class with pydantic BaseModel
class TranslationRequest(BaseModel):
    input_str: str


def translate_text(input_str):
    completion = client.chat.completions.create(
        model="gpt-4-0125-preview",
        messages=[
            {
                "role": "system",
                "content": "You are an expert translator who translates text from english to french and only return translated text",
            },
            {"role": "user", "content": input_str},
        ],
    )


    return completion.choices[0].message.content


@app.post("/translate/")  # This line decorates 'translate' as a POST endpoint
async def translate(request: TranslationRequest):
    try:
        # Call your translation function
        translated_text = translate_text(request.input_str)
        return {"translated_text": translated_text}
    except Exception as e:
        # Handle exceptions or errors during translation
        raise HTTPException(status_code=500, detail=str(e))

Para executar e testar essa API localmente, basta rodar o seguinte comando:

uvicorn main:app --reload

Aqui, main.py é o arquivo que contém seu código. O termo app aponta para a instância da aplicação FastAPI, identificada no seu código por app = FastAPI().

Acesse localhost:8000/docs para ver uma interface gráfica, que deve se parecer com isto:

Captura de tela da página de docs dos endpoints do FastAPI

Clique em POST, depois em Try it out, informe seu texto e clique em Execute.

Captura de tela da interface do FastAPI

Você verá um comando curl enviado para a API, a URL da requisição (que por enquanto é seu localhost) e a resposta do servidor. O código 200 significa sucesso; ao lado, você pode ver a tradução para o francês.

Captura de tela da interface do FastAPI

Conclusão

Neste blog, mostramos como configurar um endpoint de API com FastAPI para servir aplicativos impulsionados por Large Language Models como o GPT. Com seu desempenho e simplicidade, o FastAPI oferece um caminho direto para construir APIs de alta performance, sendo uma ótima escolha para quem quer integrar LLMs aos seus projetos.

Se você quer descobrir todo o potencial dos LLMs com um curso conceitual único que cobre aplicações, metodologias de treinamento, considerações éticas e as pesquisas mais recentes, confira o curso gratuito Mastering Large Language Models (LLMs) na Datacamp.

Quer ampliar seu repertório de habilidades e ferramentas? Conheça as 21 ferramentas essenciais de Python para desenvolvimento de software, web scraping e desenvolvimento web, análise e visualização de dados e machine learning.


Moez Ali's photo
Author
Moez Ali
LinkedIn
Twitter

Cientista de dados, fundador e criador do PyCaret

Tópicos
Inteligência Artificial

Continue sua jornada em IA hoje mesmo!

Curso

Conceitos de Grandes Modelos de Linguagem (LLMs)

2 h
109.8K
Descubra o potencial dos LLMs com nosso curso sobre aplicações, treinamento, ética e pesquisas recentes.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

Tutorial

Como criar aplicativos LLM com o tutorial LangChain

Explore o potencial inexplorado dos modelos de linguagem grandes com o LangChain, uma estrutura Python de código aberto para criar aplicativos avançados de IA.
Moez Ali's photo

Moez Ali

12 min

Tutorial

Como treinar um LLM com o PyTorch

Domine o processo de treinamento de grandes modelos de linguagem usando o PyTorch, desde a configuração inicial até a implementação final.
Zoumana Keita 's photo

Zoumana Keita

8 min

Tutorial

Guia de Introdução ao Ajuste Fino de LLMs

O ajuste fino dos grandes modelos de linguagem (LLMs, Large Language Models) revolucionou o processamento de linguagem natural (PLN), oferecendo recursos sem precedentes em tarefas como tradução de idiomas, análise de sentimentos e geração de textos. Essa abordagem transformadora aproveita modelos pré-treinados como o GPT-2, aprimorando seu desempenho em domínios específicos pelo processo de ajuste fino.
Josep Ferrer's photo

Josep Ferrer

11 min

Tutorial

Tutorial FastAPI: Uma introdução ao uso da FastAPI

Explore a estrutura FastAPI e descubra como você pode usá-la para criar APIs em Python
Moez Ali's photo

Moez Ali

13 min

Tutorial

Criando agentes LangChain para automatizar tarefas em Python

Um tutorial abrangente sobre a criação de agentes LangChain com várias ferramentas para automatizar tarefas em Python usando LLMs e modelos de bate-papo usando OpenAI.

Tutorial

Ajuste fino do Llama 3.1 para classificação de textos

Comece a usar os novos modelos Llama e personalize o Llama-3.1-8B-It para prever vários distúrbios de saúde mental a partir do texto.
Abid Ali Awan's photo

Abid Ali Awan

13 min

Ver MaisVer Mais