Como os conselhos oftalmológicos gerados por um chatbot de modelo de linguagem grande se comparam aos conselhos escritos por oftalmologistas?
May 25, 2023Imperícia oftalmológica em Hollywood, Flórida: olho
May 26, 2023VÍDEO: Simpósio de Verão Mulheres em Oftalmologia para destacar inovações em cuidados oftalmológicos
May 27, 2023A aprovação do Izervay pela FDA supera as notícias recentes sobre oftalmologia
May 28, 2023Bascom Palmer é eleito o melhor hospital de oftalmologia pelo 20º ano consecutivo
May 29, 2023Um breve guia do LangChain para desenvolvedores de software
Por Janakiram MSV
InfoMundo |
Se você é um desenvolvedor de software que se esforça para acompanhar as novidades sobre grandes modelos de linguagem, pode se sentir sobrecarregado ou confuso, como eu. Parece que todos os dias vemos o lançamento de um novo modelo de código aberto ou o anúncio de um novo recurso significativo por um fornecedor de modelo comercial.
Os LLMs estão rapidamente se tornando parte integrante da pilha de software moderna. No entanto, se você deseja consumir um modelo de API oferecido por um provedor como OpenAI ou incorporar um modelo de código aberto em seu aplicativo, construir aplicativos com tecnologia LLM envolve mais do que apenas enviar um prompt e aguardar uma resposta. Existem vários elementos a serem considerados, desde ajustes nos parâmetros até aumentar o prompt e moderar a resposta.
Os LLMs não têm estado, o que significa que não se lembram das mensagens anteriores da conversa. É responsabilidade do desenvolvedor manter o histórico e fornecer o contexto ao LLM. Essas conversas talvez precisem ser armazenadas em um banco de dados persistente para trazer de volta o contexto para uma nova conversa. Portanto, adicionar memória de curto e longo prazo aos LLMs é uma das principais responsabilidades dos desenvolvedores.
O outro desafio é que não existe uma regra única para todos os LLMs. Talvez seja necessário usar vários modelos especializados para diferentes cenários, como análise de sentimento, classificação, resposta a perguntas e resumo. Lidar com vários LLMs é complexo e requer bastante trabalho.
LangChain é um SDK projetado para simplificar a integração de LLMs e aplicativos. Ele resolve a maioria dos desafios que discutimos acima. LangChain é semelhante a um driver ODBC ou JDBC, que abstrai o banco de dados subjacente, permitindo que você se concentre em instruções SQL padrão. LangChain abstrai os detalhes de implementação dos LLMs subjacentes, expondo uma API simples e unificada. Essa API torna mais fácil para os desenvolvedores trocarem e trocarem modelos sem alterações significativas no código.
LangChain apareceu na mesma época que ChatGPT. Harrison Chase, seu criador, assumiu o primeiro compromisso no final de outubro de 2022, pouco antes de a onda LLM atingir com força total. A comunidade tem contribuído ativamente desde então, tornando o LangChain uma das melhores ferramentas para interagir com LLMs.
LangChain é uma estrutura poderosa que se integra a ferramentas externas para formar um ecossistema. Vamos entender como ele orquestra o fluxo envolvido na obtenção do resultado desejado de um LLM.
Os aplicativos precisam recuperar dados de fontes externas, como PDFs, páginas da web, CSVs e bancos de dados relacionais para construir o contexto para o LLM. LangChain integra-se perfeitamente com módulos que podem acessar e recuperar dados de fontes diferentes.
Os dados recuperados de algumas fontes externas devem ser convertidos em vetores. Isso é feito passando o texto para um modelo de incorporação de palavras associado ao LLM. Por exemplo, o modelo GPT-3.5 da OpenAI possui um modelo de embeddings de palavras associado que precisa ser usado para enviar o contexto. LangChain escolhe o melhor modelo de incorporação com base no LLM escolhido, eliminando as suposições no emparelhamento dos modelos.
Os embeddings gerados são armazenados em um banco de dados vetorial para realizar uma busca por similaridade. LangChain facilita o armazenamento e recuperação de vetores de várias fontes, desde matrizes na memória até bancos de dados de vetores hospedados, como o Pinecone.
LangChain oferece suporte a LLMs convencionais oferecidos por OpenAI, Cohere e AI21 e LLMs de código aberto disponíveis em Hugging Face. A lista de modelos suportados e endpoints de API está crescendo rapidamente.
O fluxo acima representa o núcleo da estrutura LangChain. Os aplicativos no topo da pilha interagem com um dos módulos LangChain por meio do SDK Python ou JavaScript. Vamos entender a função desses módulos.