Construir um protótipo LLM é rápido. Algumas linhas de Python, um immediate e funciona. Mas a produção é um jogo completamente diferente. Você começa a ver respostas vagas, alucinações, picos de latência e falhas estranhas onde o modelo claramente “sabe” algo, mas ainda assim erra. Como tudo funciona com base em probabilidades, a depuração torna-se complicada. Por que a busca por botas se transformou em sapatos? O sistema fez uma escolha, mas não é possível rastrear facilmente o raciocínio.
Para resolver isso, construiremos FuseCommerceum sistema avançado de suporte ao comércio eletrônico projetado para oferecer visibilidade e controle. Usando o Langfuse, criaremos um fluxo de trabalho de agente com pesquisa semântica e classificação de intenções, mantendo todas as decisões transparentes. Neste artigo, transformaremos um protótipo frágil em um sistema LLM observável e pronto para produção.
O que é Langfuse?
Langfuse funciona como uma plataforma de código aberto para engenharia LLM que permite que as equipes trabalhem juntas na depuração, análise e desenvolvimento de seus aplicativos LLM. A plataforma funciona como DevTools para agentes de IA.
O sistema oferece três funcionalidades principais que incluem:
- Rastreamento que exibe todos os caminhos de execução através do sistema, incluindo LLM chamadas e consultas de banco de dados e uso de ferramentas.
- Métricas que oferecem monitoramento em tempo actual de latência, custo e uso de token.
- Avaliação que reúne suggestions do usuário por meio de um sistema positivo e negativo que se conecta diretamente à geração específica que produziu o suggestions.
- O sistema permite testes por meio do gerenciamento de conjunto de dados, que permite aos usuários selecionar suas entradas e saídas de teste.
Neste projeto, o Langfuse funciona como nosso principal sistema de registro, o que nos ajuda a criar um sistema automatizado que aprimora seu próprio desempenho.
O que estamos criando: FuseCommerce…
Estaremos desenvolvendo um representante inteligente de suporte ao cliente para uma empresa de varejo de tecnologia chamada “FuseCommerce.”
Em contraste com um wrapper LLM padrão, os seguintes elementos serão incluídos:
- Roteamento Cognitivo – A capacidade de analisar (pensar) o que dizer antes de responder – incluindo determinar o(s) motivo(s) da interação (ou seja, querer comprar algo versus verificar um pedido versus querer falar sobre algo).
- Memória Semântica – A capacidade de conhecer e representar ideias como conceitos (ex: como “equipamento de jogo” e um “mouse mecânico” estão conceitualmente ligados) por meio de incorporação vetorial.
- Raciocínio visible (incluindo uma interface de usuário impressionante) – Um meio de exibir visualmente (ao cliente) o que o agente está fazendo.

O papel do Langfuse no projeto
Langfuse é a espinha dorsal do agente usado para este trabalho. Permite-nos seguir os passos únicos do nosso agente (classificação de intenção, recuperação, geração) e mostra-nos como todos funcionam em conjunto, permitindo-nos identificar onde algo correu mal se uma resposta estiver incorrecta.
- Rastreabilidade – Procuraremos capturar todas as etapas de um agente no Langfuse usando spans. Quando um usuário recebe uma resposta incorreta, podemos usar o rastreamento de extensão ou um rastreamento para identificar exatamente onde ocorreu o erro no processo do agente.
- Acompanhamento de sessão – Capturaremos todas as interações entre o usuário e o agente dentro de um agrupamento identificado por seu `
session_id` no painel do Langfuse para nos permitir reproduzir toda a interação do usuário em termos de contexto. - Ciclo de Suggestions – Criaremos botões de suggestions do usuário diretamente no rastreamento, portanto, se um usuário votar negativamente em uma resposta, poderemos descobrir imediatamente qual recuperação ou immediate o usuário experimentou que o levou a votar negativamente na resposta.
Começando
Você pode iniciar o processo de instalação do agente de forma rápida e fácil.
Pré-requisitos
Instalação
A primeira coisa que você precisa fazer é instalar as seguintes dependências que consistem no SDK Langfuse e no Google IA generativa.
pip set up langfuse streamlit google-generativeai python-dotenv numpy scikit-learn 
Configuração
Depois de terminar de instalar as bibliotecas, você precisará criar um .env arquivo onde suas credenciais serão armazenadas de forma segura.
GOOGLE_API_KEY=your_gemini_key
LANGFUSE_PUBLIC_KEY=pk-lf-...
LANGFUSE_SECRET_KEY=sk-lf-...
LANGFUSE_HOST=https://cloud.langfuse.com
Como construir?
Etapa 1: a base de conhecimento semântico
Uma pesquisa tradicional por palavra-chave pode falhar se um usuário usar palavras diferentes, ou seja, o uso de sinônimos. Portanto, queremos aproveitar Vector Embeddings para construir um mecanismo de busca semântico.
Puramente através da matemática, ou seja, Similaridade de cossenocriaremos um “vetor de significado” para cada um de nossos produtos.
# db.py
from sklearn.metrics.pairwise import cosine_similarity
import google.generativeai as genai
def semantic_search(question):
# Create a vector illustration of the question
query_embedding = genai.embed_content(
mannequin="fashions/text-embedding-004",
content material=question
)("embedding")
# Utilizing math, discover the closest meanings to the question
similarities = cosine_similarity((query_embedding), product_vectors)
return get_top_matches(similarities)
Etapa 2: O “cérebro” do roteamento inteligente
Quando os usuários dizem “Olá”, podemos classificar a intenção do usuário usando um classificador para evitar a pesquisa no banco de dados.
Você verá que também detectamos automaticamente entrada, saída e latência usando o @langfuse.observe decorador. Como mágica!
@langfuse.observe(as_type="technology")
def classify_user_intent(user_input):
immediate = f"""
Use the next person enter to categorise the person's intent into one of many three classes:
1. PRODUCT_SEARCH
2. ORDER_STATUS
3. GENERAL_CHAT
Enter: {user_input}
"""
# Name Gemini mannequin right here...
intent = "PRODUCT_SEARCH" # Placeholder return worth
return intent
Etapa 3: o fluxo de trabalho do agente
Nós costuramos nosso processo. O agente irá perceber, obter informações, pensar (classificar) e então agir (rotear).
Usamos o método lf_client.update_current_trace para marcar a conversa com informações de metadados, como o session_id.
@langfuse.observe() # Root Hint
def handle_customer_user_input(user_input, session_id):
# Tag the session
langfuse.update_current_trace(session_id=session_id)
# Suppose
intent = get_classified_intent(user_input)
# Act based mostly on labeled intent
if intent == "PRODUCT_SEARCH":
context = use_semantic_search(user_input)
elif intent == "ORDER_STATUS":
context = check_order_status(user_input)
else:
context = None # Optionally available fallback for GENERAL_CHAT or unknown intents
# Return the response
response = generate_ai_response(context, intent)
return responseEtapa 4: Interface do usuário e sistema de suggestions
Criamos uma interface de usuário Streamlit aprimorada. Uma mudança significativa é que os botões de suggestions fornecerão uma pontuação de suggestions ao Langfuse com base no ID de rastreamento particular person associado à conversa específica do usuário.
# app.py
col1, col2 = st.columns(2)
if col1.button("👍"):
lf_client.rating(trace_id=trace_id, title="user-satisfaction", worth=1)
if col2.button("👎"):
lf_client.rating(trace_id=trace_id, title="user-satisfaction", worth=0)Entradas, saídas e análise de resultados
Vamos dar uma olhada mais de perto na consulta de um usuário: “Você vende algum acessório para sistemas de jogos?”
- O inquérito
- Usuário: “Você vende algum acessório para sistemas de jogos?”
- Contexto: Nenhuma correspondência exata na palavra-chave “acessório”.


- O traço (ponto de perspectiva Langfuse)
Langfuse criará uma visualização de rastreamento para visualizar a hierarquia aninhada:
TRACE: conversa entre agente (1,5 segundos)
- Geração: classify_intent -> Saída = PRODUCT_SEARCH
- Período: retrieve_knowledge –> Pesquisa Semântica = mapeia geograficamente os dados do jogo para o Quantum Wi-fi Mouse e o UltraView Monitor.
- Geração: generate_ai_response -> Output = “Sim! Para sistemas de jogos, recomendamos o Quantum Wi-fi Mouse…”
- Análise
Assim que o usuário clicar em positivo, Langfuse receberá uma pontuação de 1. Você terá uma soma whole de cliques em positivo por dia para visualizar a média diária. Você também terá um painel visible cumulativo para visualizar:
- Latência média: Sua pesquisa semântica fica lenta?
- Precisão da intenção: O roteamento é alucinante?
- Custo / Sessão: Quanto custa usar o Gemini??
Conclusão
Através da nossa implementação do Langfuse, transformamos um sistema de chatbot com funcionamento oculto em um sistema operacional aberto e visível. Estabelecemos a confiança do usuário por meio do desenvolvimento de funções de produtos.
Provamos que nosso agente possui habilidades de “pensamento” por meio da classificação de intenções, ao mesmo tempo que pode “entender” coisas por meio da pesquisa semântica e “adquirir” conhecimento por meio de pontuações de suggestions do usuário. Este projeto arquitetônico serve de base para sistemas contemporâneos de IA que operam em ambientes do mundo actual.
Perguntas frequentes
R. Langfuse fornece ferramentas de rastreamento, métricas e avaliação para depurar, monitorar e melhorar agentes LLM em produção.
A. Ele usa classificação de intenção para detectar o tipo de consulta e, em seguida, direciona para pesquisa semântica, pesquisa de pedido ou lógica geral de bate-papo.
R. O suggestions do usuário é registrado por rastreamento, permitindo monitoramento de desempenho e otimização iterativa de prompts, recuperação e roteamento.
Faça login para continuar lendo e desfrutar de conteúdo com curadoria de especialistas.