Introdução à Langchain

Built for Speed: ~10ms Latency, Even Under Load
Blazingly fast way to build, track and deploy your models!
- Handles 350+ RPS on just 1 vCPU — no tuning needed
- Production-ready with full enterprise support
LangChain simplifica o desenvolvimento de IA com Large Language Models (LLMs) ao oferecer componentes modulares e modelos pré-projetados para a construção de aplicações como chatbots e sumarizadores. Ele se integra perfeitamente com LLMs como GPT-3.5 e Chat Models, possibilitando tarefas como conclusão de texto e geração de conversas. LangChain opera através de cadeias de ações, garantindo uma implementação eficiente de forma estruturada.
LangChain é um framework de código aberto que facilita o desenvolvimento de aplicações impulsionadas por Large Language Models (LLMs) – o atual auge da evolução do Processamento de Linguagem Natural (PLN).
Este artigo permitirá ao leitor compreender a estrutura central e as principais características do LangChain e como ele simplificou o desenvolvimento de soluções linguísticas impulsionadas por IA. Ele também se aprofunda nos detalhes para ajudá-lo a construir sua própria aplicação aproveitando o LangChain.
LangChain e LLMs
Em sua essência, um LLM é um modelo de aprendizado profundo que é usado para tarefas baseadas em linguagem no domínio do PLN, originalmente criado para tradução de idiomas.
Eles usam modelos transformadores e são treinados em grandes conjuntos de dados, o que os capacita a compreender a linguagem natural e realizar várias tarefas relacionadas à linguagem. LMs proeminentes incluem GPT-3.5, LLaMA, Bard, Falcon, etc.
“LangChain é um framework Python que permite usar LLMs de forma fácil e eficiente ao fornecer uma interface unificada e componentes modulares que podem ser 'encadeados' juntos.”
Isso, por sua vez, simplifica a criação de sistemas avançados como chatbots, aumentadores de imagem, analisadores de sentimento, etc. Esses sistemas podem compreender a linguagem, analisar código, recuperar informações e realizar várias outras tarefas.
A flexibilidade, extensibilidade e integração do LangChain com LLMs o tornam uma ferramenta valiosa no campo do processamento de linguagem natural e além.
Ação e Agente
Em qualquer framework de software, "ação" e "agente" são como os blocos de construção. São as ideias básicas, mas funcionam de forma diferente dependendo da implementação.
No LangChain:
- Ação: Refere-se a uma tarefa ou operação específica que um pedaço de código executa. Pode ser qualquer coisa, desde a realização de cálculos até o envio de um e-mail.
- Agente: É semelhante a um assistente virtual, um programa ou componente que atua autonomamente para realizar tarefas ou tomar decisões em nome do usuário ou de outro programa.
Ecossistema LangChain
Existem cinco seções principais no ecossistema LangChain:
- Bibliotecas LangChain: Pense nisso como construir com peças de LEGO; você pode combiná-las para criar diferentes estruturas. Com as Bibliotecas LangChain, você pode criar cadeias de ações e agentes sem começar do zero a cada vez.
- Modelos LangChain: São estruturas pré-projetadas para vários projetos ou tarefas que você pode implementar imediatamente sem começar do zero. Pense nisso como um modelo da Estrela da Morte de LEGO e as bibliotecas como peças de LEGO.
- LangServe: É usado para implantar cadeias LangChain como uma API REST.
- LangSmith: É uma plataforma para desenvolvedores que permite depurar, testar, avaliar e monitorar cadeias construídas usando qualquer framework, não apenas o LangChain.
- LangGraph: É como uma caixa de ferramentas para criar programas de computador inteligentes que podem memorizar informações e trabalhar juntos. Ele usa algo chamado LangChain para ajudar esses programas a se comunicarem. Com o LangGraph, você pode fazer com que esses programas executem muitos passos repetidamente de uma forma inteligente.
Leia também: LangChain vs LangGraph
Componentes chave do LangChain
Frequentemente, quando as pessoas falam sobre LangChain, elas se referem às Bibliotecas LangChain e não ao ecossistema LangChain inteiro em geral.
Bibliotecas LangChain
As Bibliotecas LangChain ajudam na construção de IA com dois métodos principais:
- Componentes: São ferramentas e conexões adaptáveis projetadas para interação com modelos de linguagem. São fáceis de usar e podem ser utilizadas de forma independente ou dentro da estrutura LangChain.
- Cadeias pré-definidas: São combinações pré-construídas de componentes para realizar tarefas específicas. Elas simplificam o processo de começar, enquanto os componentes permitem a personalização e a criação de novas cadeias.
Os componentes são classificados em três tipos:
I/O do Modelo:
Este componente facilita a comunicação com o modelo, fornecendo interfaces e utilitários claros para construir entradas e processar saídas, ou seja, gerenciamento de prompts.
O LangChain integra-se principalmente com dois tipos principais de modelos: LLMs e Modelos de Chat. Os LLMs no LangChain focam na conclusão de texto, recebendo um prompt de string e produzindo uma conclusão de string, enquanto os Modelos de Chat são adaptados para uso conversacional, aceitando uma lista de mensagens como entrada e retornando uma mensagem gerada por IA. As estratégias de prompt variam entre esses modelos.
As mensagens, categorizadas em papéis como Human-Message e AI-Message, desempenham um papel fundamental na comunicação com os modelos, com parâmetros adicionais como function_call para funcionalidades específicas.
Recuperação:
Ao usar modelos de linguagem como LLMs, às vezes precisamos que eles compreendam detalhes específicos sobre usuários individuais, mesmo que esses detalhes não fizessem parte do seu treinamento original. A Geração Aumentada por Recuperação (RAG) é um termo sofisticado para uma técnica que usamos para que isso aconteça. Essencialmente, significa que buscamos informações relevantes de fontes externas e as fornecemos ao modelo quando ele está criando texto.
LangChain é um kit de ferramentas que fornece todas as ferramentas necessárias para construir este tipo de aplicações.
Agentes:
O "Agent" é como o cérebro por trás da tomada de decisões. Ele usa um modelo de linguagem e instruções para descobrir o que fazer a seguir. Em vez de uma sequência de ações definida, é mais flexível, permitindo que o modelo de linguagem decida o melhor curso de ação. Então, pense nele como o tomador de decisões inteligente no processo. Em cadeias, uma sequência de ações é codificada de forma fixa
Como funciona o Langchain?
O LangChain funciona muito como a criação de uma receita de refeição. Assim como você segue os passos para preparar um prato, o LangChain encadeia uma sequência de ações, chamada de "chain", para realizar uma tarefa específica impulsionada por IA.
Imagine que você está procurando sugestões de filmes. O LangChain entra em ação, primeiro entendendo o que você está pedindo. Em seguida, ele coleta detalhes sobre os filmes de que você gosta e os que você já assistiu. Ao examinar seu histórico de visualização e preferências com a ajuda de modelos de linguagem, algoritmos sofisticados e técnicas de processamento de dados, o LangChain gera sugestões personalizadas. Finalmente, ele oferece uma lista de recomendações personalizadas para você conferir.
Cada elo nesta "cadeia" tem um significado, muito parecido com seguir os passos de uma receita. O LangChain simplifica o processo, garantindo uma execução perfeita do início ao fim.
Criando Prompts no LangChain
Vamos explorar como configurar um sistema simples de perguntas e respostas usando LangChain e integrá-lo ao Hugging Face Hub (onde os LLMs estão presentes) para geração de texto
Instalando o LangChain
!pip install langchain
Configurando o Prompt Template
from langchain import PromptTemplate
template = """Question: {question}
Answer: """
prompt = PromptTemplate(
template=template,
input_variables=['question']
)
Usando o LLM do Hugging Face Hub
Primeiro, certifique-se de ter sua chave de API do Hugging Face pronta. Em seguida, configure-a em seu ambiente
import os
os.environ['HUGGINGFACEHUB_API_TOKEN'] = 'HF_API_KEY'
Instale a biblioteca Hugging Face Hub
!pip install huggingface_hub
Inicialize e use o Hugging Face Hub para geração de texto
from langchain import HuggingFaceHub, LLMChain
# inicializar Hub LLM
hub_llm = HuggingFaceHub(
repo_id='google/flan-t5-xl',
model_kwargs={'temperature':1e-10}
)
Integração com LangChain
Combine o template de prompt e o modelo Hugging Face Hub usando LangChain
# criar template de prompt > cadeia LLM
llm_chain = LLMChain(
prompt=prompt,
llm=hub_llm
)
Gerando Resposta
Agora, vamos fazer uma pergunta sobre a temporada IPL 2023 e obter a resposta
# pergunta do usuário
question = "Which team won the IPL 2023 season?"# fazer a pergunta do usuário sobre a IPL 2023
print(llm_chain.run(question))
Para esta pergunta, obtemos a resposta correta de "chennai super kings” na saída.
Aplicações da LangChain:
A LangChain oferece tutoriais especializados para a criação de chatbots. Clique no título da lista para acessá-los.
- Chatbot: Chatbots são amplamente adotados pela sua capacidade de manter conversas longas e contínuas, mantendo o contexto. Eles se destacam em fornecer informações pertinentes em resposta a perguntas dos usuários.
- Geração de dados sintéticos: Dados sintéticos são dados gerados artificialmente, em vez de serem coletados de eventos reais. Seu propósito é imitar dados reais sem violar a privacidade ou ser limitado por restrições do mundo real.
- Resumidor: Se você tem muitos documentos como PDFs, notas do Notion ou consultas de clientes, e precisa destilar a essência deles em resumos mais curtos, LLMs são a sua melhor aposta. Eles são bons em entender o significado do texto e condensá-lo de forma eficaz.
- Interagindo com APIs: Imagine que você precisa de um LLM para acessar APIs externas. É uma forma poderosa de enriquecer a compreensão do LLM ao trazer contexto relevante. Além disso, abre a possibilidade de conversar com APIs em linguagem natural, o que pode ser incrivelmente útil!
TrueFoundry AI Gateway delivers ~3–4 ms latency, handles 350+ RPS on 1 vCPU, scales horizontally with ease, and is production-ready, while LiteLLM suffers from high latency, struggles beyond moderate RPS, lacks built-in scaling, and is best for light or prototype workloads.
The fastest way to build, govern and scale your AI













.webp)






.webp)

.webp)
.webp)





.png)



