Glossário

LangChain

Simplifica o desenvolvimento de aplicações de IA com o LangChain! Cria soluções poderosas orientadas para LLM, como chatbots e ferramentas de resumo, sem esforço.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

LangChain é uma estrutura de código aberto concebida para simplificar o desenvolvimento de aplicações baseadas em grandes modelos linguísticos (LLMs). Fornece uma interface padrão e componentes para encadear LLMs com outros recursos computacionais e fontes de dados, permitindo a criação de aplicações de Inteligência Artificial (IA) mais sofisticadas e sensíveis ao contexto. Em vez de interagir apenas com um LLM isolado, o LangChain permite aos programadores ligar modelos como o GPT-4 ou o Claude 3 a APIs externas, bases de dados ou ficheiros locais, tornando-os mais versáteis e poderosos.

Componentes principais

A LangChain alcança a sua funcionalidade através de várias abstracções fundamentais:

  • Modelos: Integrações com vários LLMs (como os da OpenAI) e modelos de incorporação.
  • Prompts: Ferramentas para gerir e otimizar os avisos enviados aos LLMs, incluindo modelos de avisos e geração dinâmica de avisos. A engenharia eficaz de avisos é crucial para orientar o comportamento dos LLMs.
  • Cadeias: Sequências de chamadas, seja para um LLM ou para um utilitário diferente. As cadeias simples podem envolver uma única chamada ao LLM, enquanto as cadeias complexas(prompt chaining) podem ligar várias chamadas ao LLM ou interações com outras ferramentas.
  • Indexa: Estrutura os dados de forma a que os LLMs possam interagir facilmente com eles, envolvendo frequentemente técnicas como a criação de embeddings e o seu armazenamento numa base de dados vetorial como Pinecone ou Chroma para uma pesquisa semântica eficiente.
  • Memória: Permite que cadeias ou agentes se lembrem de interações anteriores, fornecendo contexto para conversas ou tarefas em andamento. Isto é essencial para a criação de aplicações com estado, como os chatbots.
  • Agentes: Permite que os LLMs tomem decisões sobre as acções a realizar, utilizem ferramentas (como motores de busca ou calculadoras), observem os resultados e repitam até uma tarefa estar concluída. Isto permite uma resolução de problemas mais autónoma.

Relevância na IA e na aprendizagem automática

A LangChain ganhou uma força significativa na comunidade de Aprendizagem Automática (AM) porque aborda os desafios práticos da construção de aplicações do mundo real sobre LLMs. Enquanto frameworks como PyTorch e TensorFlow são fundamentais para treinar e definir modelos, o LangChain concentra-se na camada de aplicação - orquestrando a forma como estes modelos poderosos interagem com sistemas e dados externos. Isto difere de plataformas como o Ultralytics HUB, que simplificam o processo de formação de modelos personalizados, gestão de conjuntos de dados e implementação de modelos, principalmente para tarefas como a deteção de objectos utilizando modelos como o Ultralytics YOLO11.

A LangChain actua como uma ponte, permitindo que as sofisticadas capacidades de processamento de linguagem natural (PNL) dos LLMs sejam baseadas em contextos específicos ou desencadeiem acções externas. Simplifica fluxos de trabalho complexos que, de outra forma, exigiriam um código personalizado significativo para chamadas de API, tratamento de dados e gestão de estados.

Aplicações no mundo real

A LangChain permite uma vasta gama de aplicações, combinando a inteligência LLM com recursos externos:

  1. Resposta a perguntas sobre documentos privados: Imagina que uma empresa quer um chatbot interno que possa responder a perguntas dos funcionários com base em documentos de política da empresa ou manuais técnicos. A LangChain pode ser usada para construir um sistema RAG (Retrieval-Augmented Generation). Os documentos são carregados, divididos, incorporados e armazenados numa base de dados vetorial. Quando um utilizador faz uma pergunta, a LangChain recupera fragmentos de documentos relevantes, combina-os com a consulta do utilizador num prompt e envia-o para um LLM para gerar uma resposta baseada apenas no contexto fornecido. Isto aproveita o raciocínio do LLM enquanto restringe as respostas a fontes de dados específicas. Muitas ferramentas internas de base de conhecimento utilizam este padrão.
  2. Agentes autónomos para a realização de tarefas: Um utilizador pode pedir a um assistente de IA para "Resumir as últimas notícias sobre a Ultralytics e redigir uma mensagem de correio eletrónico para o meu gestor sobre o assunto". Um agente LangChain, alimentado por um LLM, poderia decidir:
    • Utiliza uma ferramenta de pesquisa na Web para encontrar artigos recentes sobre Ultralytics.
    • Utiliza uma ferramenta de síntese de texto (ou o próprio LLM) para condensar os resultados.
    • Utiliza uma ferramenta de correio eletrónico (ou redige o texto) para compor a mensagem com base no resumo. O LangChain gere a sequência de utilização da ferramenta, a formulação de pedidos e o fluxo de informação entre passos, permitindo que o LLM actue como um motor de raciocínio que orquestra várias capacidades. Os exemplos incluem assistentes pessoais e ferramentas de investigação automatizadas.

LangChain e conceitos relacionados

É útil distinguir LangChain de termos relacionados:

  • LLMs vs. LangChain: Os LLMs (por exemplo, GPT-3, Llama) são os modelos principais que compreendem e geram texto. A LangChain é uma estrutura que usa esses LLMs como componentes para criar aplicações. Orquestra a interação entre LLMs e outras ferramentas/dados.
  • Engenharia de prompts vs. LangChain: A engenharia de prompts é a arte de criar entradas eficazes para LLMs. A LangChain fornece ferramentas (como modelos de prompts) para tornar a engenharia de prompts mais fácil e sistemática dentro de um contexto de aplicação, mas abrange muito mais, incluindo gerenciamento de estado e integração de ferramentas.
  • Hugging Face Transformers vs. LangChain: A biblioteca Hugging Face Transformers fornece acesso a milhares de modelos pré-treinados (incluindo muitos LLMs) e ferramentas para ajustá-los e executá-los. A LangChain integra-se frequentemente com os modelos Hugging Face , mas concentra-se na tarefa de nível superior de criar aplicações em torno destes modelos e não na implementação do modelo em si.

A LangChain fornece um poderoso conjunto de ferramentas para os programadores que procuram aproveitar as capacidades dos LLMs para aplicações complexas e sensíveis ao contexto. O seu design modular e o crescente ecossistema de integrações fazem dele uma escolha popular para a construção da próxima geração de ferramentas alimentadas por IA. Podes explorar mais as suas capacidades através da documentação oficial do LangChain e do repositório LangChain GitHub.

Lê tudo