Aprendizagem pessoal com IA
e orientação prática
Beanbag Marscode1

Langfuse: Plataforma de observação e depuração de código aberto para aplicativos LLM

Introdução geral

O Langfuse é uma plataforma de engenharia de LLM (Large Language Model) de código aberto. Ela ajuda os desenvolvedores a rastrear, depurar e otimizar aplicativos LLM, fornecendo ferramentas para observar chamadas, gerenciar prompts, executar experimentos e avaliar resultados. Desenvolvida pela equipe da Langfuse, a plataforma é compatível com estruturas como LangChain, OpenAI etc. Ela está sob a licença MIT e tem uma comunidade ativa. Pode ser rapidamente auto-hospedada localmente ou na nuvem, e é ideal para equipes que trabalham juntas para desenvolver aplicativos de IA confiáveis. O langfuse oferece serviços de nuvem (com pacotes gratuitos) e opções auto-hospedadas, e é fácil de implantar e comprovado em ambientes de produção.

Para agentes e RAG O tempo de execução é visualizado e observado, de forma semelhante ao LangSmith.

Langfuse: plataforma de observação e depuração de aplicativos LLM de código aberto-1

 

Lista de funções

  • Observação aplicadaRastreamento: rastreie cada chamada para o aplicativo LLM, registrando entradas e saídas, latência e custo.
  • Gerenciamento de tacosArmazenamento centralizado de palavras-chave para dar suporte ao controle de versões e ajustes de trabalho em equipe.
  • Gerenciamento do conjunto de dadosCrie conjuntos de dados de teste e execute experimentos para comparar modelos ou efeitos de dicas.
  • Ferramentas de avaliaçãoSuporte para feedback do usuário, rotulagem manual e avaliação automatizada para verificar a qualidade do resultado.
  • Suporte à depuraçãoVisualização de logs detalhados e sessões de usuários para identificar rapidamente os problemas.
  • Playground experimentalTeste palavras de alerta e configurações de modelos para acelerar as iterações de desenvolvimento.
  • Suporte a várias estruturasCompatível com LangChain, OpenAI SDK, LiteLLM e muito mais.
  • Integração de APIAPI: fornece uma API abrangente para personalizar os fluxos de trabalho do LLMOps.

 

Usando a Ajuda

Instalação e implementação

serviço de nuvem

  1. Registrar uma conta:: Acesso Nuvem LangfuseClique em "Sign Up" para se registrar.
  2. Criar um projetoApós fazer o login, clique em "New Project" (Novo projeto) e digite o nome do projeto.
  3. Obter a chave:: Gerado nas configurações do projeto PUBLIC_KEY responder cantando SECRET_KEY.
  4. começar a usarNão é necessário instalar, conecte-se aos serviços de nuvem diretamente por meio do SDK.

Implantação local (Docker Compose)

  1. Preparação do ambienteVerifique se o Docker e o Docker Compose estão instalados, que podem ser baixados do site do Docker.
  2. Código de clonagemExecutar em um terminal git clone https://github.com/langfuse/langfuse.gitEm seguida, insira o catálogo cd langfuse.
  3. Início dos serviços: Entrada docker compose upe aguardar a conclusão da inicialização, o endereço padrão é http://localhost:3000.
  4. validar (uma teoria): Acesso ao navegador http://localhost:3000Se a página de login for exibida, você foi bem-sucedido.
  5. Configuração da chaveGeração de chave na interface do usuário para SDK após o registro.

Implantação do Kubernetes (recomendações de produção)

  1. Preparando o clusterCrie um cluster do Kubernetes usando o Minikube (para testes locais) ou um serviço de nuvem, como o AWS.
  2. Adicionar leme: Corrida helm repo add langfuse https://langfuse.github.io/langfuse-k8s responder cantando Atualização do repositório helm.
  3. configurar: Criar values.yamlO banco de dados e as principais informações são preenchidos (consulte o documento oficial).
  4. implementações: Entrada helm install langfuse langfuse/langfuse -f values.yamlAguarde o término do processo.
  5. entrevistasConfigurar o acesso ao endereço de serviço com base no Ingress.

Implementação de máquinas virtuais

  • Executado em uma única máquina virtual docker compose upAs etapas são as mesmas da implementação local.

Funções principais

Observação aplicada

  1. Instalação do SDKExecução do projeto Python pip install langfuseExecução do projeto JS/TS npm install langfuse.
  2. inicializaçãoConfiguração de chaves e hosts em código:
    from langfuse import Langfuse
    langfuse = Langfuse(public_key="pk-lf-xxx", secret_key="sk-lf-xxx", host="http://localhost:3000")
  1. registrar chamadaUse decoradores ou rastreamento manual:
    from langfuse.decorators import observe
    @observe()
    def chat(input).
    return openai.chat.completions.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": input}])
    chat("Hello")
    
  2. confiraVerifique os detalhes da chamada na página "Traces" (Rastreamentos) da interface do usuário.

Gerenciamento de tacos

  1. Nova dicaNa página "Prompts" da interface do usuário, clique em "New Prompt" e digite um nome e um conteúdo, por exemplo:
    Sistema: Você é um ajudante, respondendo diretamente às perguntas.
    Usuário: {{question}}
    
  2. Dicas de usoChamadas em código langfuse.get_prompt("prompt-name").
  3. gerenciamento de versõesSalvamento automático da versão após a modificação dos prompts, que pode ser revertida.

Conjuntos de dados e experimentos

  1. Criação de um conjunto de dadosNa página "Datasets" da interface do usuário, clique em "Create Dataset" (Criar conjunto de dados) e nomeie-o como "qa-test".
  2. Adicionar dadosInsira ou carregue um CSV, por exemplo:
    Entrada: "How many is 1+1?" (Quantos são 1+1?) Esperado: "2"
    
  3. experimento de corrida:: Teste no código:
    conjunto de dados = langfuse.get_dataset("qa-test")
    for item in dataset.items: result = chat(item.input)
    result = chat(item.input)
    item.link(langfuse.trace({"output": result}), "test-1")
    
  4. analisadoVisualização dos resultados do experimento na interface do usuário.

Playground

  1. entrar emClique em "Playground" na interface do usuário e insira o prompt e os parâmetros do modelo.
  2. teste (maquinário etc.)Clique em Run (Executar) para visualizar o resultado, ajustar os parâmetros e salvar.
  3. pular: Diretamente do resultado do erro "Traces". Playground Modificação.

Operação da função em destaque

Registro de depuração

  • Na página "Traces", clique em uma chamada para ver as entradas, as saídas e o contexto.
  • Visualize as sessões de usuário em "Sessions" para analisar conversas de várias rodadas.

Resultado da avaliação

  • operado manualmenteClassificação da saída (0-1) na página "Scores" (Pontuações).
  • automaçãoAdicionar avaliações via API:
    langfuse.score(trace_id="xxx", name="accuracy", value=0.95)
    

Uso da API

  • Chamado usando a especificação OpenAPI ou um SDK (por exemplo, Python/JS), por exemplo, para criar um rastreamento:
    curl -X POST "http://localhost:3000/api/traces" -H "Authorization: Bearer sk-lf-xxx" -d '{"id": "trace-1", "name": "test"}'
    

 

cenário do aplicativo

  1. Rastreamento de visualização de processos RAG
    • Rastreamento visual do processo geral de recuperação de palavras-chave, recuperação de vetores, fusão de recuperação, reorganização, resposta
  2. Desenvolvimento de um atendimento inteligente ao cliente
    • A equipe usa o Langfuse para acompanhar as conversas, otimizar a qualidade das respostas e melhorar a experiência do cliente.
  3. Comparação de desempenho de modelos
    • O desenvolvedor cria conjuntos de dados para testar o desempenho de vários LLMs em uma tarefa de questionamento.
  4. Implementação no local
    • A empresa hospeda o Langfuse para proteger dados confidenciais e depurar aplicativos internos de IA.

 

QA

  1. Quais linguagens e estruturas são compatíveis?
    • Oferece suporte a Python e JS/TS e é compatível com LangChain, OpenAI, LlamaIndex e muito mais.
  2. Qual é a configuração mínima para hospedagem própria?
    • Os projetos menores usam uma CPU de 2 núcleos e 4 GB de RAM, enquanto os maiores recomendam 8 núcleos e 16 GB.
  3. Como faço para desativar a telemetria?
    • Definir as variáveis de ambiente no TELEMETRY_ENABLED=false.

Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Langfuse: Plataforma de observação e depuração de código aberto para aplicativos LLM

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil