O LangChain é uma ferramenta inovadora para Python que permite a construção de inteligências artificiais personalizadas e sistemas inteligentes integrados aos seus arquivos. Imagine criar seu próprio chatbot, como um ChatGPT, com conhecimento específico sobre seu negócio, capaz de responder perguntas com informações relevantes em tempo real. Este tutorial passo a passo demonstra como usar o LangChain para construir uma aplicação simples, porém poderosa: um tradutor universal.

O LangChain é um framework que simplifica o uso de LLMs (Large Language Models), como o ChatGPT da OpenAI. Ele oferece bibliotecas e pacotes de código que facilitam a integração com diversas IAs, abstraindo a complexidade das APIs individuais. Com o LangChain, você pode escolher a IA mais adequada para sua necessidade e fornecer suas próprias informações, permitindo que modelos como o ChatGPT respondam com base em seu conteúdo específico, como bases de dados.
Para começar, instale o LangChain e o pacote da OpenAI:
pip install langchain
pip install langchain-openai
Para usar a API da OpenAI, você precisará de uma chave de API. Crie uma conta na OpenAI (https://openai.com), gere uma chave secreta e armazene-a como uma variável de ambiente chamada OPENAI_API_KEY. Para gerenciar variáveis de ambiente, instale o pacote python-dotenv:
pip install python-dotenv
Crie um arquivo .env e adicione a seguinte linha:
OPENAI_API_KEY=sua_chave_api_aqui
No seu código Python, carregue as variáveis de ambiente e acesse a chave:
from dotenv import load_dotenv
import os
load_dotenv()
chave_api = os.getenv("OPENAI_API_KEY")
A base do LangChain é a estrutura de uma conversa. Importe SystemMessage e HumanMessage de langchain.schema. As mensagens do usuário são HumanMessage e as instruções para a IA são SystemMessage. Crie uma lista de mensagens:
from langchain.schema import SystemMessage, HumanMessage
mensagens = [
SystemMessage(content="Traduza o texto a seguir para inglês"),
HumanMessage(content="Se inscrevam no canal para aprender Python")
]
Crie o modelo usando o ChatOpenAI:
from langchain.chat_models import ChatOpenAI
modelo = ChatOpenAI(model_name="gpt-3.5-turbo", openai_api_key=chave_api)
resposta = modelo.invoke(mensagens)
Para extrair apenas o texto da resposta, use o StrOutputParser:
from langchain.output_parsers import StrOutputParser
output_parser = StrOutputParser()
texto = output_parser.parse(resposta)
print(texto)
Agora, vamos criar uma cadeia (chain) que combina o modelo e o parser:
from langchain.prompts import ChatPromptTemplate
template_mensagem = ChatPromptTemplate.from_messages(
[
("system", "Traduza o texto a seguir para {idioma}"),
("user", "{texto}")
]
)
cadeia = template_mensagem | modelo | output_parser
Crie um servidor com FastAPI para disponibilizar a cadeia como uma API:
from fastapi import FastAPI
from langserve import add_routes
app = FastAPI(title="Meu App de IA", description="Traduza textos para qualquer idioma.")
add_routes(app, cadeia, path="/tradutor")
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="127.0.0.1", port=8000)
Acesse a interface do playground em http://127.0.0.1:8000/tradutor/playground para interagir com a API. Para consumir a API em outro aplicativo, use RemoteRunnable:
from langserve.client import RemoteRunnable
chain_remota = RemoteRunnable(url="http://127.0.0.1:8000/tradutor")
texto_traduzido = chain_remota.invoke({"idioma": "espanhol", "texto": "Estamos no fim do vídeo"})
print(texto_traduzido)
Com isso, você terá um aplicativo consumindo sua IA de tradução de forma eficiente e escalável.