Contents

Introdução ao LangChain LLM: um guia para principiantes

O aparecimento de modelos de linguagem de grande dimensão (LLM) suscitou um interesse generalizado no domínio do processamento de linguagem natural, levando ao desenvolvimento de inúmeras novas aplicações numa base diária. Exemplos notáveis são o ChatGPT e o LangChain.

O LangChain é uma plataforma versátil de código aberto em Python, que permite aos programadores criar aplicações inovadoras com recurso a modelos de linguagem avançados. Essas aplicações incluem chatbots, ferramentas de resumo e sistemas para gerar perguntas e respostas, entre outras.

Neste documento, será apresentada uma análise aprofundada do LLM LangChain, incluindo princípios fundamentais, comparações com modelos de linguagem alternativos e directrizes passo a passo para a implementação.

Compreender o LLM da LangChain

Antes de nos debruçarmos sobre o funcionamento da LangChain, é fundamental compreender em profundidade os mecanismos subjacentes aos grandes modelos linguísticos. Um Modelo de Linguagem Grande é uma forma avançada de Inteligência Artificial que emprega técnicas de Aprendizagem Profunda para educar modelos de Aprendizagem Automática através de vastos conjuntos de dados que englobam informação textual, numérica e codificada.

As grandes quantidades de informação à sua disposição permitem ao modelo compreender os padrões inerentes e as correlações que existem entre palavras, números e símbolos. Como resultado, esta capacidade permite-lhe realizar uma vasta gama de tarefas, incluindo, mas não se limitando a:

O acima mencionado engloba uma gama abrangente de serviços que abrangem a geração de texto, tradução linguística, composição criativa, comunicação escrita especializada e académica, bem como resposta a consultas precisas e pertinentes.

⭐ Deteção de objectos em imagens.

Sinopse de obras literárias, periódicos e estudos académicos.

Uma das principais limitações dos LLMs é o seu vasto âmbito de aplicabilidade. Embora estes modelos possuam um elevado nível de versatilidade, o que lhes permite lidar com múltiplas tarefas de forma eficiente, existe o risco de poderem fornecer respostas gerais a questões ou entradas que exijam conhecimentos especializados e uma compreensão profunda do domínio em causa, em vez de respostas específicas.

Introduzida em dezembro de 2022 por Harrison Chase, a LangChain apresenta uma nova metodologia para a criação de modelos linguísticos. Inicialmente, os dados de entrada são submetidos a um processamento de texto, sendo divididos em secções ou resumos mais pequenos. Estes resumos são posteriormente representados como vectores num espaço vetorial. O modelo é então fornecido com uma consulta, analisa os resumos e fornece uma resposta correspondente.

A utilização da técnica de pré-processamento do LangChain é um aspeto essencial que não pode ser negligenciado, uma vez que os Modelos de Linguagem (MLs) continuam a aumentar o seu poder e a depender de grandes quantidades de dados. Esta abordagem é utilizada principalmente em situações que envolvem pesquisas de código e semânticas, uma vez que permite a comunicação e colaboração em tempo real com LMs.

LangChain LLM vs. Outros Modelos de Linguagem

O objetivo desta análise comparativa é examinar as características e capacidades distintivas do LangChain LLM em relação a outros modelos de linguagem actuais.

A utilização de modelos linguísticos (LLMs) é muitas vezes dificultada pela sua capacidade limitada de memorização de informação, o que leva normalmente à perda de contexto quando se lida com conversas prolongadas ou pedidos de informação. No entanto, a implementação pela LangChain de um histórico de mensagens persistente ultrapassa esta restrição, fornecendo acesso a interacções anteriores e permitindo aos utilizadores reiterar diálogos passados com a IA para uma melhor continuidade.

A utilização do LangChain facilita o processo de substituição ou incorporação de vários Modelos de Linguagem na sua aplicação, o que elimina a necessidade de depender apenas da Interface de Programação de Aplicações (API) de um modelo específico, tal como fornecido por soluções LLM alternativas. Isto permite a integração sem esforço de modelos de linguagem mais avançados, como os oferecidos pela Stability AI e pela OpenAI, sem exigir grandes modificações na sua configuração atual.

⭐Integração: Integrar o LangChain em seu aplicativo é fácil em comparação com outros LLMs. Fornece fluxos de trabalho de pipeline através de cadeias e agentes , permitindo-lhe incorporar rapidamente a LangChain na sua aplicação. Em termos de pipelines lineares, as cadeias são objectos que ligam essencialmente várias partes. Os agentes são mais avançados, permitindo-lhe escolher como os componentes devem interagir usando a lógica comercial. Por exemplo, pode querer utilizar a lógica condicional para determinar o próximo curso de ação com base nos resultados de um LLM.

⭐Passagem de dados: Devido à natureza geral baseada em texto das LLMs, é normalmente complicado passar dados para o modelo. A LangChain resolve este problema utilizando índices . Os índices permitem que uma aplicação importe dados em formatos variáveis e os armazene de forma a que seja possível fornecê-los linha a linha a um LLM.

A utilização de LangChain resulta no fornecimento de ferramentas de análise de resultados, permitindo que as respostas sejam apresentadas de forma formatada, em vez do conteúdo não estruturado típico de outros modelos de linguagem.No contexto da incorporação de inteligência artificial numa aplicação de software, é desejável ter uma resposta bem organizada e personalizável que possa ser integrada no sistema.

Introdução ao LangChain LLM

A implementação do LangChain num contexto prático permite compreender a sua funcionalidade. Antes de iniciar o processo de desenvolvimento, é necessário preparar o ambiente de desenvolvimento.

Configurar o ambiente de desenvolvimento

Para iniciar o desenvolvimento, é necessário estabelecer um ambiente artificial e equipá-lo com as bibliotecas necessárias através da instalação.

A integração da API GPT-3 numa aplicação pode ser facilitada pela utilização dos serviços fornecidos pela OpenAI.

A integração da LangChain pode ser facilitada incorporando-a na sua aplicação.

A instalação dos pacotes necessários pode ser efectuada através da utilização do pip e da subsequente execução do comando especificado.

  pipenv install langchain openai
 

O comando supracitado não só instala os pacotes necessários como também cria um ambiente artificial para facilitar o seu bom funcionamento.

Importar as dependências instaladas

Tenha em atenção que o texto que se segue foi simplificado para maior clareza. Em primeiro lugar, é imperativo importar as classes necessárias, incluindo LLMChain , OpenAI , ConversationChain , e PromptTemplate , do pacote langchain , de modo a facilitar o correto funcionamento do código.

 from langchain import ConversationChain, OpenAI, PromptTemplate, LLMChain

from langchain.memory import ConversationBufferWindowMemory 

A classe LangChain é responsável por delinear e executar cadeias de modelos de linguagem.

Aceder à chave da API do OpenAI

De seguida, obtenha a chave da API do OpenAI. Para acessar a chave de API do OpenAI, é necessário ter uma conta do OpenAI e, em seguida, ir para a plataforma da API do OpenAI

.

Para ver as suas chaves de API, siga estes passos:1. Clique no ícone “Profile” (Perfil) localizado no painel de instrumentos.2. Depois de aceder à página de perfil, clique no botão “View API Keys” (Ver chaves de API) situado no canto superior direito do ecrã.

/pt/images/introduction-to-langchain-dashboard.jpeg

Siga estes passos para criar uma nova chave de API para o seu projeto Google Cloud Platform:

/pt/images/introduction-to-langchain-api-key-page.jpeg

/pt/images/introduction-to-langchain-api-key-naming.jpeg

Receberá um pedido de chave secreta.

/pt/images/introduction-to-langchain-api-key-generated.jpeg

Recupere a chave da API e guarde-a num local facilmente acessível para potenciais aplicações futuras.

Desenvolver uma aplicação utilizando LangChain LLM

Compreendo que tenho de criar um programa de chat com as seguintes especificações.

 # Customize the LLM template
 template = """Assistant is a large language model trained by OpenAI.

{history}
Human: {human_input}
Assistant:"""

prompt = PromptTemplate(input_variables=["history", "human_input"], template=template) 

O próximo passo envolve a utilização da chave API previamente armazenada para aceder e carregar a cadeia ChatGPT através da API.

 chatgpt_chain = LLMChain(

           llm=OpenAI(openai_api_key="OPENAI_API_KEY",temperature=0),
           prompt=prompt,
           verbose=True,
           memory=ConversationBufferWindowMemory(k=2),

           )
# Predict a sentence using the chatgpt chain
output = chatgpt_chain.predict(
       human_input="What is All Things N?"
       )
# Display the model's response
print(output) 

O algoritmo supracitado imbui a cadeia de Memória de Curto Prazo Longo (LLM) com a chave da interface de programação de aplicações (API) pertencente à OpenAI, bem como o modelo de prompt. Subsequentemente, a entrada do utilizador é recebida e a saída correspondente é exibida.

/pt/images/introduction-to-langchain-output.jpg

Acima está o resultado esperado.

A influência crescente dos LLM

A proliferação dos LLM conduziu a uma mudança significativa na interação homem-máquina, facilitada por inovações como a LangChain, que simplifica a integração das capacidades dos LLM nas estruturas das aplicações. Além disso, os modelos de IA generativos de ponta, incluindo o ChatGPT, o Bard e o Hugging Face, permitiram o desenvolvimento de aplicações LLM avançadas.