Imagem do editor
Grandes modelos de linguagem (LLMs), como o GPT-3 da OpenAI, o BERT do Google e o LLaMA da Meta estão revolucionando vários setores com sua capacidade de gerar uma ampla variedade de textos - desde textos de marketing e scripts de ciência de dados até poesia.
Embora a interface intuitiva do ChatGPT tenha conseguido estar presente nos dispositivos da maioria das pessoas hoje, ainda há um vasto cenário de potencial inexplorado para o uso de LLMs em diversas integrações de software.
O problema principal?
A maioria das aplicações requer comunicação mais fluida e nativa com LLMs.
E é precisamente aqui que o LangChain entra em ação!
Se você estiver interessado em IA generativa e LLMs, este tutorial foi feito sob medida para você.
Então vamos começar!
Caso você esteja morando em uma caverna e não tenha recebido nenhuma notícia ultimamente, explicarei brevemente os Grandes Modelos de Linguagem ou LLMs.
Um LLM é um sofisticado sistema de inteligência artificial construído para imitar a compreensão e geração de textos semelhantes aos humanos. Ao treinar em enormes conjuntos de dados, estes modelos discernem padrões intrincados, captam subtilezas linguísticas e produzem resultados coerentes.
Se você quer saber como interagir com esses modelos alimentados por IA, existem duas maneiras principais de fazer isso:
- A forma mais comum e direta é conversando ou conversando com a modelo. Envolve criar um prompt, enviá-lo ao modelo alimentado por IA e obter uma saída baseada em texto como resposta.
- Outro método é converter texto em matrizes numéricas. Este processo envolve a composição de um prompt para a IA e o recebimento de uma matriz numérica em troca. O que é comumente conhecido como “incorporação”. Ele experimentou um aumento recente em bancos de dados de vetores e pesquisa semântica.
E são precisamente esses dois problemas principais que a LangChain tenta resolver. Se você está interessado nos principais problemas de interação com LLMs, pode conferir este artigo SUA PARTICIPAÇÃO FAZ A DIFERENÇA.
LangChain é uma estrutura de código aberto construída em torno de LLMs. Ele traz para a mesa um arsenal de ferramentas, componentes e interfaces que simplificam a arquitetura de aplicativos orientados a LLM.
Com LangChain, interagir com modelos de linguagem, interligar diversos componentes e incorporar ativos como APIs e bancos de dados torna-se muito fácil. Esta estrutura intuitiva simplifica substancialmente a jornada de desenvolvimento de aplicativos LLM.
A ideia central do Long Chain é que podemos conectar diferentes componentes ou módulos, também conhecidos como cadeias, para criar soluções mais sofisticadas baseadas em LLM.
Aqui estão alguns recursos de destaque do LangChain:
- Modelos de prompt personalizáveis para padronizar nossas interações.
- Componentes de elo de corrente adaptados para casos de uso sofisticados.
- Integração perfeita com os principais modelos de linguagem, incluindo GPTs da OpenAI e aqueles no HuggingFace Hub.
- Componentes modulares para uma abordagem combinada para avaliar qualquer problema ou tarefa específica.
Imagem do autor
LangChain se distingue por seu foco na adaptabilidade e design modular.
A ideia principal por trás do LangChain é dividir a sequência de processamento de linguagem natural em partes individuais, permitindo que os desenvolvedores personalizem os fluxos de trabalho com base em seus requisitos.
Essa versatilidade posiciona o LangChain como a principal escolha para a construção de soluções de IA em diferentes situações e setores.
Alguns de seus componentes mais importantes são…
Imagem do autor
1. LLMs
LLMs são componentes fundamentais que aproveitam grandes quantidades de dados de treinamento para compreender e gerar texto semelhante ao humano. Eles estão no centro de muitas operações do LangChain, fornecendo os recursos de processamento de linguagem necessários para analisar, interpretar e responder à entrada de texto.
Uso: Alimentando chatbots, gerando texto semelhante ao humano para diversas aplicações, auxiliando na recuperação de informações e realizando outros processamentos de linguagem
2. Modelos de prompt
Os prompts são fundamentais para interagir com o LLM e, ao trabalhar em tarefas específicas, sua estrutura tende a ser semelhante. Os modelos de prompt, que são prompts predefinidos que podem ser usados em cadeias, permitem a padronização de “prompts” adicionando valores específicos. Isso aumenta a adaptabilidade e personalização de qualquer LLM.
Uso: Padronizando o processo de interação com LLMs.
3. Analisadores de saída
Os analisadores de saída são componentes que pegam a saída bruta de um estágio anterior na cadeia e a convertem em um formato estruturado. Esses dados estruturados podem então ser usados de forma mais eficaz em etapas subsequentes ou entregues como resposta ao usuário final.
Uso: Por exemplo, em um chatbot, um analisador de saída pode pegar a resposta de texto bruto de um modelo de linguagem, extrair informações importantes e formatá-las em uma resposta estruturada.
4. Componentes e correntes
No LangChain, cada componente atua como um módulo responsável por uma tarefa específica na sequência de processamento da linguagem. Esses componentes podem ser conectados para formar correntes para fluxos de trabalho personalizados.
Uso: Gerando cadeias geradoras de detecção e resposta de sentimentos em um chatbot específico.
5. Memória
Memória em LangChain refere-se a um componente que fornece um mecanismo de armazenamento e recuperação de informações dentro de um fluxo de trabalho. Este componente permite o armazenamento temporário ou persistente de dados que podem ser acessados e manipulados por outros componentes durante a interação com o LLM.
Uso: Isto é útil em cenários onde os dados precisam ser retidos em diferentes estágios de processamento, por exemplo, armazenando o histórico de conversas em um chatbot para fornecer respostas sensíveis ao contexto.
6. Agentes
Os agentes são componentes autônomos capazes de realizar ações com base nos dados que processam. Eles podem interagir com outros componentes, sistemas externos ou usuários, para executar tarefas específicas dentro de um fluxo de trabalho LangChain.
Uso: Por exemplo, um agente pode lidar com interações de usuários, processar solicitações recebidas e coordenar o fluxo de dados através da cadeia para gerar respostas apropriadas.
7. Índices e recuperadores
Índices e recuperadores desempenham um papel crucial no gerenciamento e acesso eficiente aos dados. Índices são estruturas de dados que contêm informações e metadados dos dados de treinamento do modelo. Por outro lado, os recuperadores são mecanismos que interagem com esses índices para buscar dados relevantes com base em critérios especificados e permitem que o modelo responda melhor, fornecendo contexto relevante.
Uso: Eles são fundamentais para buscar rapidamente dados ou documentos relevantes de um grande conjunto de dados, o que é essencial para tarefas como recuperação de informações ou resposta a perguntas.
8. Transformadores de documentos
No LangChain, Document Transformers são componentes especializados projetados para processar e transformar documentos de uma forma que os torne adequados para análise ou processamento posterior. Essas transformações podem incluir tarefas como normalização de texto, extração de recursos ou conversão de texto em um formato diferente.
Uso: Preparação de dados de texto para estágios subsequentes de processamento, como análise por modelos de aprendizado de máquina ou indexação para recuperação eficiente.
9. Incorporação de modelos
Eles são usados para converter dados de texto em vetores numéricos em um espaço de alta dimensão. Esses modelos capturam relações semânticas entre palavras e frases, permitindo uma representação legível por máquina. Eles formam a base para várias tarefas downstream de Processamento de Linguagem Natural (PNL) dentro do ecossistema LangChain.
Uso: Facilitar pesquisas semânticas, comparações de semelhanças e outras tarefas de aprendizado de máquina, fornecendo uma representação numérica do texto.
10. Lojas de vetores
Tipo de sistema de banco de dados especializado em armazenar e pesquisar informações por meio de embeddings, analisando essencialmente representações numéricas de dados semelhantes a texto. VectorStore serve como um local de armazenamento para esses embeddings.
Uso: Permitindo uma pesquisa eficiente baseada na similaridade semântica.
Instalando usando PIP
A primeira coisa que precisamos fazer é ter certeza de que temos o LangChain instalado em nosso ambiente.
pip install langchain
Configuração do ambiente
Utilizar LangChain normalmente significa integração com diversos provedores de modelos, armazenamentos de dados, APIs, entre outros componentes. E como você já sabe, como qualquer integração, fornecer as chaves de API relevantes e corretas é crucial para o funcionamento do LangChain.
Imagine que queremos usar nossa API OpenAI. Podemos fazer isso facilmente de duas maneiras:
- Configurando a chave como uma variável de ambiente
OPENAI_API_KEY="..."
or
import os
os.environ['OPENAI_API_KEY'] = “...”
Se você optar por não estabelecer uma variável de ambiente, terá a opção de fornecer a chave diretamente por meio do parâmetro nomeado openai_api_key ao iniciar a classe OpenAI LLM:
- Configure diretamente a chave na classe relevante.
from langchain.llms import OpenAI
llm = OpenAI(openai_api_key="...")
Alternar entre LLMs torna-se simples
LangChain oferece uma classe LLM que nos permite interagir com diferentes provedores de modelos de linguagem, como OpenAI e Hugging Face.
É muito fácil começar com qualquer LLM, pois a funcionalidade mais básica e mais fácil de implementar de qualquer LLM é apenas gerar texto.
No entanto, pedir a mesma solicitação para diferentes LLMs ao mesmo tempo não é tão fácil.
É aqui que LangChain entra em ação…
Voltando à funcionalidade mais fácil de qualquer LLM, podemos facilmente construir um aplicativo com LangChain que recebe um prompt de string e retorna a saída de nosso LLM designado.
Código por Autor
Podemos simplesmente usar o mesmo prompt e obter a resposta de dois modelos diferentes em poucas linhas de código!
Código por Autor
Impressionante… certo?
Dando estrutura aos nossos prompts com modelos de prompt
Um problema comum com Modelos de Linguagem (LLMs) é a incapacidade de escalar aplicativos complexos. LangChain aborda isso oferecendo uma solução para agilizar o processo de criação de prompts, que muitas vezes é mais complexo do que apenas definir uma tarefa, pois requer delinear a personalidade da IA e garantir a precisão dos fatos. Uma parte significativa disso envolve texto clichê repetitivo. LangChain alivia isso oferecendo modelos de prompt, que incluem automaticamente texto padrão em novos prompts, simplificando assim a criação de prompts e garantindo consistência em diferentes tarefas.
Código por Autor
Obtendo respostas estruturadas com analisadores de saída
Nas interações baseadas em chat, a saída do modelo é meramente texto. No entanto, dentro de aplicações de software, é preferível ter uma saída estruturada, pois permite outras ações de programação. Por exemplo, ao gerar um conjunto de dados, deseja-se receber a resposta em um formato específico, como CSV ou JSON. Supondo que um prompt possa ser elaborado para obter uma resposta consistente e adequadamente formatada da IA, são necessárias ferramentas para gerenciar esse resultado. LangChain atende a esse requisito oferecendo ferramentas de análise de saída para manipular e utilizar a saída estruturada de maneira eficaz.
Código por Autor
Você pode verificar o código inteiro no meu GitHub.
Não muito tempo atrás, os recursos avançados do ChatGPT nos deixaram maravilhados. No entanto, o ambiente tecnológico está em constante mudança e agora ferramentas como o LangChain estão ao nosso alcance, permitindo-nos criar protótipos excepcionais a partir dos nossos computadores pessoais em apenas algumas horas.
LangChain, uma plataforma Python disponível gratuitamente, fornece um meio para os usuários desenvolverem aplicativos ancorados em LLMs (Language Model Models). Esta plataforma oferece uma interface flexível para uma variedade de modelos fundamentais, simplificando o tratamento de prompts e atuando como um nexo para elementos como modelos de prompt, mais LLMs, informações externas e outros recursos por meio de agentes, conforme a documentação atual.
Imagine chatbots, assistentes digitais, ferramentas de tradução de idiomas e utilitários de análise de sentimentos; todos esses aplicativos habilitados para LLM ganham vida com LangChain. Os desenvolvedores utilizam esta plataforma para criar soluções de modelos de linguagem personalizadas que atendam a requisitos distintos.
À medida que o horizonte do processamento de linguagem natural se expande e a sua adoção se aprofunda, o domínio das suas aplicações parece ilimitado.
Joseph Ferrer é um engenheiro analítico de Barcelona. Formou-se em engenharia física e atualmente trabalha na área de Data Science aplicada à mobilidade humana. Ele é um criador de conteúdo em tempo parcial focado em ciência e tecnologia de dados. Você pode contatá-lo em LinkedIn, Twitter or Médio.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- Fonte: https://www.kdnuggets.com/how-to-make-large-language-models-play-nice-with-your-software-using-langchain?utm_source=rss&utm_medium=rss&utm_campaign=how-to-make-large-language-models-play-nice-with-your-software-using-langchain
- :tem
- :é
- :não
- :onde
- $UP
- 7
- a
- habilidade
- acessadas
- acessando
- realizar
- precisão
- em
- atuação
- ações
- atos
- acrescentando
- endereço
- endereços
- endereçando
- Adoção
- avançado
- Agente
- agentes
- atrás
- AI
- Alimentado por AI
- Todos os Produtos
- permitir
- Permitindo
- permite
- já
- tb
- entre
- quantidades
- an
- análise
- analítica
- analisar
- análise
- ancorado
- e
- qualquer
- api
- APIs
- Aplicação
- Desenvolvimento de Aplicações
- aplicações
- aplicado
- abordagem
- apropriado
- arquitetura
- SOMOS
- por aí
- Ordem
- Arsenal
- artigo
- artificial
- inteligência artificial
- AS
- pergunta
- avaliar
- Ativos
- assistentes
- At
- Autônomo
- disponível
- TEMOR
- em caminho duplo
- Barcelona
- baseado
- basic
- BE
- tornam-se
- torna-se
- sido
- atrás
- Melhor
- entre
- Sem limites
- Quebra
- brevemente
- Traz
- construir
- Prédio
- construído
- by
- CAN
- capacidades
- capaz
- capturar
- casas
- casos
- atende
- caverna
- cadeia
- correntes
- chatbot
- chatbots
- ChatGPT
- conversando
- verificar
- escolha
- Escolha
- classe
- código
- COERENTE
- como
- comum
- geralmente
- Comunicação
- comparações
- integrações
- componente
- componentes
- computadores
- Contato
- conectado
- consistente
- Contacto
- conteúdo
- contexto
- Conversa
- Conversão
- converter
- conversão
- coordenar
- núcleo
- correta
- artesanato
- Crafted
- crio
- Criar
- criação
- criador
- critérios
- crucial
- Atual
- Atualmente
- personalização
- personalizar
- personalizado
- dados,
- ciência de dados
- conjuntos de dados
- banco de dados
- bases de dados
- aprofunda
- definição
- entregue
- entrega
- Design
- designado
- projetado
- desejado
- Detecção
- desenvolver
- desenvolvedores
- Desenvolvimento
- Dispositivos/Instrumentos
- diferente
- digital
- diretamente
- diretamente
- discernir
- distinto
- Distinto
- diferente
- do
- documento
- documentação
- INSTITUCIONAIS
- down
- durante
- cada
- maneira mais fácil é
- facilmente
- fácil
- ecossistema
- efetivamente
- eficiente
- eficientemente
- elementos
- embutindo
- permitindo
- final
- noivando
- engenheiro
- Engenharia
- Melhora
- enorme
- assegurando
- Meio Ambiente
- escalar
- essencial
- essencialmente
- estabelecer
- Éter (ETH)
- em constante mudança
- exemplo
- expande
- experiente
- Explicação
- externo
- extrato
- Extração
- Rosto
- Facilidade
- Fatual
- Característica
- Funcionalidades
- poucos
- campo
- ponta dos dedos
- Primeiro nome
- flexível
- fluxo
- fluido
- Foco
- focado
- Escolha
- formulário
- formato
- Foundation
- Fundacional
- Quadro
- livremente
- da
- funcionalidade
- fundamental
- mais distante
- gerar
- gerando
- geração
- generativo
- IA generativa
- gerador
- ter
- obtendo
- Go
- aperto
- mão
- manipular
- Manipulação
- Ter
- ter
- he
- ele
- história
- segurando
- horizonte
- HORÁRIO
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTTPS
- Hub
- Abraçando o Rosto
- humano
- EU VOU
- idéia
- if
- importar
- importante
- in
- incapacidade
- incluir
- Incluindo
- Entrada
- incorporando
- índices
- Individual
- indústrias
- INFORMAÇÕES
- iniciando
- entrada
- instalar
- instância
- instrumental
- Integração
- integração
- integrações
- Inteligência
- interagir
- interagindo
- interação
- interações
- interessado
- Interface
- interfaces de
- interligação
- para dentro
- intricado
- intuitivo
- envolve
- emitem
- IT
- ESTÁ
- viagem
- json
- apenas por
- KDnuggetsGenericName
- Chave
- chaves
- Kicks
- Saber
- conhecido
- paisagem
- língua
- grande
- principal
- aprendizagem
- esquerda
- Alavancagem
- vida
- como
- linhas
- LINK
- vida
- lhama
- longo
- máquina
- aprendizado de máquina
- a Principal
- fazer
- FAZ
- gerencia
- gerenciados
- gestão
- manipulado
- muitos
- Marketing
- Posso..
- significa
- mecanismo
- mecanismos
- apenas
- metadados
- método
- poder
- mobilidade
- modelo
- modelos
- modulares
- módulo
- Módulos
- mais
- a maioria
- my
- Nomeado
- nativo
- natural
- Linguagem Natural
- Processamento de linguagem natural
- necessário
- você merece...
- Cria
- Novo
- notícias
- nexo
- agradável
- PNL
- agora
- of
- oferecendo treinamento para distância
- frequentemente
- on
- uma vez
- open source
- OpenAI
- operação
- Operações
- Opção
- or
- OS
- Outros
- A Nossa
- delineando
- saída
- outputs
- marcante
- parâmetro
- parte
- particular
- peças
- padrões
- Pessoas
- realizar
- realização
- pessoal
- Computadores pessoais
- Frases
- Física
- peças
- plataforma
- platão
- Inteligência de Dados Platão
- PlatãoData
- Jogar
- Poesia
- abertas
- potencial
- justamente
- preferível
- Prime
- Problema
- problemas
- processo
- em processamento
- produzir
- Programação
- solicita
- protótipos
- fornecer
- fornecedores
- fornece
- fornecendo
- Python
- questão
- rapidamente
- bastante
- Cru
- reino
- receber
- recentemente
- refere-se
- Relacionamentos
- relevante
- repetitivo
- resposta
- representação
- pedidos
- requerer
- requerimento
- Requisitos
- exige
- Recursos
- Responder
- resposta
- respostas
- responsável
- retida
- retorno
- Retorna
- Revolucionando
- certo
- Tipo
- s
- mesmo
- cenários
- Ciência
- Ciência e Tecnologia
- Scripts
- Pesquisar
- pesquisas
- Setores
- parece
- envio
- sentimento
- Seqüência
- serve
- conjunto
- Conjuntos
- contexto
- periodo
- semelhante
- simplifica
- simplificando
- simplesmente
- situações
- So
- Software
- solução
- Soluções
- alguns
- sofisticado
- Espaço
- especializado
- especializada
- específico
- especificada
- Etapa
- Estágio
- estandardização
- começado
- Ainda
- armazenamento
- loja
- lojas
- simplificar
- racionalização
- Tanga
- estrutura
- estruturada
- estruturas
- subseqüente
- substancialmente
- tal
- adequado
- fornecendo
- certo
- surge
- .
- sistemas
- mesa
- adaptados
- Tire
- tomar
- falando
- Tarefa
- tarefas
- tecnológica
- Tecnologia
- modelos
- temporário
- tende
- texto
- textual
- do que
- que
- A
- deles
- Eles
- então
- Lá.
- Este
- deles
- coisa
- isto
- aqueles
- Apesar?
- Através da
- Assim
- para
- hoje
- juntos
- ferramentas
- Training
- Transformar
- transformações
- transformadores
- Tradução
- tutorial
- dois
- tipicamente
- compreender
- compreensão
- inexplorado
- us
- utilizável
- usar
- usava
- Utilizador
- usuários
- utilização
- utilitários
- utilizar
- Valores
- variável
- variedade
- vário
- Grande
- versatilidade
- muito
- via
- queremos
- Caminho..
- maneiras
- we
- O Quê
- O que é a
- quando
- qual
- inteiro
- Largo
- de
- dentro
- maravilha
- palavras
- de gestão de documentos
- fluxos de trabalho
- trabalhar
- ainda
- Você
- investimentos
- zefirnet