LangSmith: Melhor maneira de testar LLMs e Aplicações de IA
Published on
Se você está no mundo dos Modelos de Aprendizagem de Linguagem (LLMs), provavelmente já ouviu falar do LangSmith. Mas você sabe como ele pode transformar suas aplicações de LLM de boas para ótimas? Este artigo é o seu guia completo para entender o LangSmith, uma plataforma que oferece uma infinidade de recursos para depurar, testar, avaliar e monitorar aplicações de LLM.
Seja você um desenvolvedor experiente ou um iniciante no campo de LLMs, o LangSmith tem algo para todos. Desde sua integração perfeita com o LangChain até seu robusto Cookbook cheio de exemplos do mundo real, o LangSmith é um divisor de águas. Vamos começar!
O que é o LangSmith?
LangSmith é uma plataforma de ponta projetada para elevar suas aplicações de LLM para qualidade de produção. Mas o que isso significa? Em termos simples, o LangSmith é sua caixa de ferramentas para construir, testar e implantar agentes inteligentes e cadeias baseadas em qualquer estrutura de LLM. Ele é desenvolvido pela LangChain, a mesma empresa por trás do framework open-source LangChain, e integra-se perfeitamente com ele.
Recursos principais do LangSmith
-
Depuração e Teste: O LangSmith não é apenas sobre construir; é sobre construir corretamente. A plataforma oferece tutoriais interativos e um guia de início rápido para você começar. Seja codificando em Python, TypeScript ou qualquer outra linguagem, o LangSmith tem tudo o que você precisa.
-
Configuração de API e Ambiente: Antes de começar a construir, você precisa configurar o ambiente. O LangSmith facilita isso com seu acesso a chave de API e etapas simples de configuração do ambiente. Por exemplo, você pode instalar a versão mais recente do LangChain para seu ambiente alvo usando comandos simples como
pip install -U langchain
. -
Capacidades de Rastreamento: Uma das principais características do LangSmith é sua capacidade de rastrear código. Isso é crucial para depurar e melhorar suas aplicações. Você pode personalizar nomes de execução, rastrear chamadas aninhadas e muito mais.
Por que escolher o LangSmith?
-
Facilidade de Uso: O LangSmith é projetado com facilidade de uso em mente. A plataforma oferece uma variedade de tutoriais e documentação para ajudá-lo a começar.
-
Versatilidade: Independentemente de você estar trabalhando em um projeto pequeno ou em uma aplicação em grande escala, o LangSmith é versátil o suficiente para atender às suas necessidades.
-
Suporte da Comunidade: O LangSmith tem uma comunidade forte de desenvolvedores e especialistas que estão sempre prontos para ajudar. Você pode participar dos fóruns da comunidade ou até mesmo contribuir para o Cookbook com seus próprios exemplos.
Neste momento, você deve ter uma boa compreensão do que é o LangSmith e por que ele é um ativo valioso para quem trabalha com LLMs. Na próxima seção, aprofundaremos como configurar o LangSmith e aproveitar ao máximo seus recursos.
Configurando o LangSmith
Configurar o LangSmith é fácil, graças à sua interface amigável ao usuário e etapas bem documentadas. Mas antes de começar, você precisará de uma chave de API para acessar. Não se preocupe; conseguir uma é muito fácil.
Etapas para obter sua chave de API
-
Crie uma conta do LangSmith: Acesse o site do LangSmith e crie uma conta. Você pode usar vários métodos de registro suportados.
-
Acesse as Configurações: Depois de configurar sua conta, vá para a página de configurações. Aqui, você encontrará a opção de criar uma chave de API.
-
Gere uma chave de API: Clique no botão 'Gerar chave de API' e pronto! Você tem sua chave de API.
Configurando seu Ambiente
Após obter sua chave de API, o próximo passo é configurar seu ambiente de execução. O LangSmith permite fazer isso usando comandos simples no shell. Veja como:
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_ENDPOINT=https://api.smith.langchain.com
export LANGCHAIN_API_KEY=<sua-chave-de-api>
Substitua <sua-chave-de-api>
pela chave de API que você gerou anteriormente. Esses comandos configuram suas variáveis de ambiente, facilitando a interação com o LangSmith.
Cookbook LangSmith: Exemplos reais de LangSmith
O Cookbook LangSmith não é apenas uma compilação de trechos de código; é uma mina de ouro de exemplos práticos projetados para inspirar e ajudar em seus projetos. Seja você um iniciante ou um especialista no campo de Modelos de Aprendizagem de Linguagem (LLMs), o Cookbook oferece uma riqueza de insights práticos sobre padrões comuns e casos de uso do mundo real. Então, vamos explorar o que o Cookbook LangSmith tem a oferecer.
O que é o Cookbook LangSmith?
O Cookbook LangSmith é um repositório que serve como seu guia prático para dominar o LangSmith. Ele vai além dos conceitos básicos abordados na documentação padrão, aprofundando-se em padrões comuns e cenários do mundo real. Essas receitas capacitam você a depurar, avaliar, testar e melhorar continuamente suas aplicações de LLM.
Sua Opinião Importa
O Cookbook é um recurso impulsionado pela comunidade. Se você tem conhecimentos para compartilhar ou se acha que um caso de uso específico foi negligenciado, você é encorajado a levantar uma issue no GitHub ou entrar em contato com a equipe de desenvolvimento da LangChain. Sua experiência molda essa comunidade, tornando o Cookbook um recurso dinâmico e em constante evolução.
Exemplos principais do Cookbook
Rastreando seu Código
-
Rastreamento sem o LangChain (opens in a new tab): Aprenda como rastrear aplicações independentemente do LangChain usando o decorador
@traceable
do Python SDK. -
API REST (opens in a new tab): Familiarize-se com os recursos da API REST para registrar execuções de LLM e modelos de chat e entenda as execuções aninhadas.
-
Customizando Nomes de Execução (opens in a new tab): Melhore a clareza da interface do usuário atribuindo nomes específicos aos processos da cadeia LangSmith. Isso inclui exemplos para cadeias, funções lambda e agentes.
-
Rastreando Chamadas Aninhadas dentro de Ferramentas (opens in a new tab): Aprenda como incluir todas as subchamadas aninhadas de ferramentas em um único rastreamento.
-
Exibindo Links de Rastreio (opens in a new tab): Agilize seu desenvolvimento adicionando links de rastreio à sua aplicação. Isso permite que você veja rapidamente seu fluxo de execução, adicione feedback a uma execução ou adicione a execução a um conjunto de dados.
Hub LangChain
-
Cadeia RetrievalQA (opens in a new tab): Use prompts do Hub em um pipeline RAG de exemplo.
-
Versionamento de Prompts (opens in a new tab): Garanta a estabilidade da implantação selecionando versões específicas de prompts.
-
PromptTemplate Executável (opens in a new tab): Salve prompts no Hub a partir do playground e integre-os às cadeias executáveis.
Testes e Avaliação
-
Correção do Sistema Q&A (opens in a new tab): Avalie seu pipeline de Q&A com recuperação aprimorada de ponta a ponta em um conjunto de dados.
-
Avaliando Sistemas Q&A com Dados Dinâmicos (opens in a new tab): Use avaliadores que referenciam rótulos para lidar com dados que mudam ao longo do tempo.
-
Avaliação RAG usando Fontes Fixas (opens in a new tab): Avalie o componente de resposta de um pipeline RAG fornecendo documentos recuperados no conjunto de dados.
-
Avaliações de Comparação (opens in a new tab): Use pontuação preferencial rotulada para contrastar versões do sistema e determinar as saídas mais ideais.
-
LangSmith no Pytest (opens in a new tab): Meça o desempenho da sua cadeia no pytest e verifique se as métricas agregadas atendem à meta de qualidade.
-
Testes Unitários com Pytest (opens in a new tab): Escreva testes unitários individuais e registre asserções como feedback.
-
Avaliando Execuções Existente (opens in a new tab): Adicione feedback assistido por IA e métricas de avaliação a rastreamentos de execuções existentes.
-
Nomeando Projetos de Teste (opens in a new tab): Nomeie manualmente seus testes com
run_on_dataset(..., project_name='my-project-name')
. -
Como Baixar Feedback e Exemplos (opens in a new tab): Exporte previsões, resultados de avaliação e outras informações para adicionar aos seus relatórios de forma programática.
Exemplos de Testes TypeScript / JavaScript
-
Avaliando Cadeias JS em Python (opens in a new tab): Avalie cadeias JS usando avaliadores Python personalizados.
-
Registrando Assertivas como Feedback (opens in a new tab): Converta assertivas de testes CI em feedback para LangSmith.
Usando Feedback
-
Aplicativo de Chat Streamlit (opens in a new tab): Um aplicativo de bate-papo mínimo que captura o feedback do usuário e compartilha rastreamentos do aplicativo de bate-papo.
-
Aplicativo de Chat Next.js (opens in a new tab): Um aplicativo de bate-papo, mas para a versão Next.js.
-
Feedback Algorítmico em Tempo Real (opens in a new tab): Gere métricas de feedback para cada execução usando um retorno de chamada assíncrono.
-
Avaliação de Bate-papo RAG em Tempo Real (opens in a new tab): Verifique automaticamente alucinações em respostas do seu bate-papo RAG em relação aos documentos recuperados.
Exportando Dados para Ajuste Fino
-
Ajuste Fino OpenAI (opens in a new tab): Liste as execuções de LLM e converta-as para o formato de ajuste fino da OpenAI.
-
Curadoria de Conjunto de Dados Lilac (opens in a new tab): Aperfeiçoe ainda mais seus conjuntos de dados da LangSmith usando o Lilac para detectar duplicatas próximas e verificar PII.
Análise Exploratória de Dados
-
Exportando Execuções e Feedback de LLM (opens in a new tab): Extraia e interprete dados de execução de LLM da LangSmith para várias plataformas analíticas.
-
Lilac (opens in a new tab): Enriqueça conjuntos de dados usando a ferramenta de análise de código aberto Lilac para rotular e organizar melhor seus dados.
Explorando esses exemplos, você obterá uma compreensão abrangente das capacidades do LangSmith, capacitando você a levar suas aplicações LLM para o próximo nível. Então, por que esperar? Mergulhe no LangSmith Cookbook e comece a cozinhar um pouco de magia com código!
Conclusão
LangSmith não é apenas mais uma ferramenta; é uma plataforma abrangente que pode levar suas aplicações LLM para o próximo nível. Desde suas robustas capacidades de rastreamento até sua integração perfeita com o Hub LangChain, o LangSmith oferece uma variedade de recursos projetados para facilitar sua vida. E não vamos esquecer o CookBook do LangSmith, um tesouro de exemplos do mundo real e trechos de código práticos. Se você está apenas começando ou deseja otimizar suas aplicações existentes, o LangSmith tem tudo que você precisa.
Perguntas Frequentes
O que o LangSmith faz?
LangSmith é uma plataforma projetada para ajudá-lo a construir, testar, avaliar e monitorar aplicações LLM. Ela oferece uma variedade de recursos, incluindo rastreamento, acesso à API e um Cookbook cheio de exemplos do mundo real.
Qual é a diferença entre LangSmith e LangChain?
Enquanto LangSmith se concentra em construir e gerenciar aplicações LLM, LangChain serve como um framework para desenvolvimento de modelos de linguagem. LangSmith integra-se perfeitamente com LangChain, oferecendo uma plataforma unificada para todas as suas necessidades de LLM.
Como faço para acessar LangSmith?
Para ter acesso ao LangSmith, você precisará se cadastrar em uma conta no site deles. Uma vez registrado, você poderá gerar uma chave de API que permitirá interagir com a plataforma.