Desvende os segredos da construção do seu próprio modelo de linguagem com LangChain. Simplifique o processo, integre com facilidade e libere o poder do desenvolvimento de IA.
Introdução
Grandes modelos de linguagem (LLMs) como GPT-3 da OpenAI, BERT do Google e LLaMA da Meta estão revolucionando diversos setores, facilitando a geração de diferentes tipos de texto, desde material de marketing e código de ciência de dados até poesia. Embora o ChatGPT tenha ganhado considerável atenção por sua interface de chat amigável, existem inúmeras oportunidades inexploradas para incorporar LLMs em diferentes aplicações de software. Se você está intrigado com o potencial transformador da IA generativa e dos LLMs, este tutorial foi feito para você. Aqui, apresentamos o LangChain — um framework Python de código aberto projetado para construir aplicações utilizando LLMs como o GPT. Explore o universo da construção de aplicações de IA com LangChain através da nossa sessão “Building Multimodal AI Applications with LangChain & the OpenAI API AI Code Along”. Você aprenderá a transcrever conteúdo de vídeos do YouTube usando a IA de fala para texto Whisper e, em seguida, empregar o GPT para fazer perguntas sobre o conteúdo.

O que é LangChain
LangChain é um framework de código aberto meticulosamente elaborado para simplificar o desenvolvimento de aplicações alimentadas por grandes modelos de linguagem (LLMs). Ele fornece um conjunto abrangente de ferramentas, componentes e interfaces com o objetivo de simplificar a construção de aplicações centradas em LLMs. Com o LangChain em mãos, gerenciar interações com modelos de linguagem, conectar perfeitamente componentes díspares e integrar recursos como APIs e bancos de dados torna-se uma tarefa simples. Para mais informações sobre o papel do LangChain em Engenharia de Dados e Aplicações de Dados, consulte nosso artigo dedicado. A plataforma LangChain apresenta um repertório de APIs que os desenvolvedores podem incorporar facilmente em suas aplicações, capacitando-os a imbuir capacidades de processamento de linguagem sem a necessidade de começar do zero. Consequentemente, o LangChain acelera significativamente o processo de criação de aplicações baseadas em LLMs, tornando-o acessível a desenvolvedores com diversos níveis de especialização. Chatbots, assistentes virtuais, utilitários de tradução de idiomas e ferramentas de análise de sentimentos são exemplos das múltiplas aplicações alimentadas por LLMs. Aproveitando o LangChain, os desenvolvedores criam aplicações personalizadas baseadas em modelos de linguagem de acordo com requisitos precisos. À medida que o processamento de linguagem natural continua avançando com uma adoção mais ampla, as aplicações potenciais desta tecnologia são praticamente ilimitadas. Aqui estão algumas características marcantes que distinguem o LangChain:
- Prompts personalizáveis adaptados a necessidades específicas
- Criação de componentes de cadeia (chain link) para lidar com cenários de uso avançados
- Integração perfeita de modelos para aumento de dados e acesso a capacidades de modelos de linguagem de ponta, como GPT e HuggingFace Hub
- Componentes versáteis que permitem misturar e combinar para atender a requisitos específicos
- Manipulação de contexto para estabelecer e direcionar o curso para maior precisão e satisfação do usuário
Componentes Chave do LangChain
O LangChain se destaca pela sua ênfase em flexibilidade e modularidade, dividindo o pipeline de processamento de linguagem natural em componentes discretos. Essa abordagem capacita os desenvolvedores a personalizar fluxos de trabalho de acordo com seus requisitos, tornando o LangChain adaptável para uma infinidade de aplicações de IA em diversos setores e cenários.
Componentes e Cadeias (Chains)
Dentro do LangChain, componentes representam módulos especializados que executam funções distintas dentro do pipeline de processamento de linguagem. Esses componentes podem ser interconectados para formar “cadeias”, permitindo a criação de fluxos de trabalho personalizados. Por exemplo, uma cadeia de chatbot de atendimento ao cliente pode incorporar módulos para análise de sentimento, reconhecimento de intenção e geração de respostas.
Modelos de Prompt (Prompt Templates)
O LangChain oferece modelos de prompt reutilizáveis que podem ser adaptados dinamicamente inserindo valores específicos. Por exemplo, um modelo que solicita o nome de um usuário pode ser personalizado inserindo o nome real do usuário. Esse recurso facilita a geração de prompts com base em recursos dinâmicos.
Vetores de Armazenamento (Vector Stores)
Os vetores de armazenamento facilitam o armazenamento e a recuperação de informações por meio de embeddings, que analisam representações numéricas dos significados dos documentos. Servindo como instalações de armazenamento para esses embeddings, os Vector Stores permitem buscas eficientes baseadas em similaridade semântica.

Índices e Recuperadores (Indexes and Retrievers)
Índices funcionam como bancos de dados que armazenam detalhes e metadados sobre os dados de treinamento do modelo, enquanto recuperadores (retrievers) buscam rapidamente neste índice por informações específicas. Isso melhora as respostas do modelo, fornecendo contexto e informações relacionadas.
Analisadores de Saída (Output Parsers)
Os analisadores de saída refinam as respostas geradas pelo modelo, gerenciando conteúdo indesejado, adaptando o formato de saída ou suplementando dados extras à resposta. Consequentemente, os analisadores de saída ajudam a extrair resultados estruturados, como objetos JSON, das respostas do modelo de linguagem.
Seletores de Exemplo (Example Selectors)
Seletores de exemplo no LangChain identificam instâncias relevantes dos dados de treinamento do modelo, melhorando assim a precisão e a relevância das respostas geradas. Esses seletores podem ser personalizados para priorizar certos tipos de exemplos ou filtrar os não relacionados, garantindo respostas de IA adaptadas com base na entrada do usuário.
Agentes (Agents)
Agentes representam instâncias únicas do LangChain, cada uma equipada com prompts, memória e cadeias específicas adaptadas para casos de uso particulares. Esses agentes podem ser implantados em várias plataformas, incluindo web, mobile e chatbots, atendendo a um público diverso.
Como Configurar o LangChain com Python
Instalar o LangChain em Python é bastante simples. Você pode instalá-lo com pip ou conda.
Instalar usando pip

Instalar usando conda
Configurar o framework básico do LangChain estabelece a base para sua funcionalidade. No entanto, o LangChain realmente se destaca quando é integrado perfeitamente a uma ampla gama de provedores de modelo, armazenamentos de dados e recursos similares.
Configuração do ambiente
Incorporar o LangChain geralmente envolve integrá-lo a diversos provedores de modelo, armazenamentos de dados, APIs e componentes similares. Como em qualquer processo de integração, é essencial fornecer ao LangChain as chaves de API necessárias e pertinentes para seu funcionamento. Isso pode ser feito de duas maneiras:
- Configurar a chave como uma variável de ambiente
- Configurar diretamente a chave na classe relevante
Como Construir uma Aplicação de Modelo de Linguagem no LangChain
O LangChain oferece uma classe LLM projetada para interagir com diferentes provedores de modelo de linguagem, como OpenAI, Cohere e Hugging Face. Em seu núcleo, a função principal de um LLM é a geração de texto. Com o LangChain, construir uma aplicação que recebe um prompt em string e fornece a saída correspondente é notavelmente simples.
Saída: >>> “O que você ganha quando mexe com dados? Um cientista de dados!” No exemplo acima, estamos usando o modelo text-ada-001 da OpenAI. Se você quiser trocá-lo por qualquer modelo de código aberto do HuggingFace, é uma mudança simples:
Você pode obter o token do hub Hugging Face a partir da sua conta HF. Se você tiver vários prompts, pode enviar uma lista de prompts de uma só vez usando o método generate:
Saída:

1
A aplicação mais básica que você pode desenvolver com LangChain envolve enviar um prompt para um modelo de linguagem de sua escolha e receber uma resposta. Essa configuração simples permite ajustar vários parâmetros, como a temperature. O parâmetro de temperatura regula a aleatoriedade da saída e o padrão é 0.7.
Integrando LLMs e prompts em fluxos de trabalho de múltiplas etapas
Encadeamento (chaining) no contexto do LangChain envolve integrar LLMs com outros elementos para construir uma aplicação. Exemplos incluem:
- Vincular sequencialmente vários LLMs, onde a saída do primeiro LLM serve como entrada para o segundo LLM.
- Integrar LLMs com modelos de prompt.
- Combinar LLMs com fontes de dados externas, como para resposta a perguntas.
- Incorporar LLMs com memória de longo prazo, como histórico de chat.
Conclusão e Inspiração
Há pouco tempo, as impressionantes capacidades do ChatGPT nos deixaram a todos maravilhados. No entanto, o cenário evoluiu rapidamente, apresentando-nos novas ferramentas de desenvolvedor como o LangChain que nos capacitam a criar protótipos igualmente notáveis em nossos laptops pessoais em horas. LangChain, um framework Python de código aberto, capacita indivíduos a desenvolver aplicações alimentadas por LLMs (Grandes Modelos de Linguagem). Este framework fornece uma interface versátil para uma infinidade de modelos fundamentais, simplificando o gerenciamento de prompts e atuando como um hub central para vários componentes, como modelos de prompt, LLMs adicionais, dados externos e outras ferramentas por meio de agentes (a partir da atualização mais recente). Para se manter atualizado com os últimos avanços em IA Generativa e LLM, considere participar do nosso webinar “Building AI Applications with LangChain and GPT”. Nesta sessão, você compreenderá os fundamentos do uso do LangChain para desenvolvimento de aplicações de IA, aprenderá sobre a estruturação de uma aplicação de IA e descobrirá técnicas para incorporar dados de texto para desempenho ideal. Além disso, você pode explorar nossa folha de dicas sobre o panorama das ferramentas de IA generativa, que categoriza diferentes ferramentas, suas aplicações e seu impacto em vários setores. Ou você pode experimentar diretamente o nosso Large Language Model da novita.ai. Equipado com vários modelos, nosso LLM oferece conversas sem censura e sem restrições por meio de APIs de Inferência poderosas. Com preços acessíveis e modelos escaláveis, a API de Inferência LLM da Novita AI oferece ao seu LLM uma estabilidade incrível e latência bastante baixa em menos de 2 segundos.

novita.ai, a plataforma única para criatividade ilimitada que oferece acesso a mais de 100 APIs. Desde geração de imagens e processamento de linguagem até aprimoramento de áudio e manipulação de vídeo, com pagamento conforme o uso acessível, libera você das dores de manutenção de GPU enquanto constrói seus próprios produtos. Experimente gratuitamente.
Leitura recomendada
Novita AI LLM Inference Engine: a maior taxa de transferência e inferência mais barata disponível
