Rastreando o kernel semântico
O Semantic Kernel é um código aberto SDK leve que atua como middleware AI para C#, Python e Java. Ele abstrai as interações do modelo e compõe solicitações, funções e plug-ins entre os provedores.
O MLflow Tracing integra-se ao Semantic Kernel para instrumentar automaticamente os retornos de chamada do kernel e capturar traços de execução abrangentes. Nenhuma alteração na lógica do seu aplicativo é necessária. Ative-a commlflow.semantic_kernel.autolog.
A integração fornece um view completo dos senhores:
- Solicitações e respostas de conclusão
 - Histórico de bate-papo e mensagens
 - Latências
 - Nome do modelo e fornecedor
 - Funções e plug-ins do kernel
 - variáveis e argumentos do padrão
 - informações sobre o uso de tokens
 - Quaisquer exceções, se levantadas
 
A transmissão não é rastreada atualmente.
Pré-requisitos
Para usar o MLflow Tracing com o Semantic Kernel, o senhor precisa instalar o MLflow e o pacote relevante do Semantic Kernel.
- Development
 - Production
 
Para ambientes de desenvolvimento, instale o pacote completo do MLflow com os extras do Databricks e o Semantic Kernel:
pip install --upgrade "mlflow[databricks]>=3.1" semantic_kernel openai
O pacote completo do mlflow[databricks] inclui todos os recursos para desenvolvimento local e experimentação no Databricks.
Para implantações de produção, instale mlflow-tracing e Semantic Kernel:
pip install --upgrade mlflow-tracing semantic_kernel openai
O pacote mlflow-tracing é otimizado para uso na produção.
O MLflow 3 é recomendado para obter a melhor experiência de rastreamento.
Antes de executar os exemplos, você precisará configurar seu ambiente:
Para usuários fora do Databricks Notebook : Defina seu Databricks variável de ambiente:
export DATABRICKS_HOST="https://your-workspace.cloud.databricks.com"
export DATABRICKS_TOKEN="your-personal-access-token"
Para usuários do Databricks Notebook : Essas credenciais são definidas automaticamente para o senhor.
API chave : Verifique se o provedor LLM API key está configurado. Para ambientes de produção, use segredosMosaic AI Gateway ou Databricks em vez de valores codificados para um gerenciamento seguro API key .
export OPENAI_API_KEY="your-openai-api-key"
# Add other provider keys as needed
Exemplo de uso
O Semantic Kernel usa principalmente padrões assíncronos. No Notebook, o senhor pode acessar await diretamente; em scripts, use asyncio.run().
import mlflow
mlflow.semantic_kernel.autolog()
Em serverless compute clusters, o autologging para estruturas de rastreamento genAI não é ativado automaticamente. Você deve habilitar explicitamente o registro automático chamando a função mlflow.<library>.autolog() apropriada para as integrações específicas que você deseja rastrear.
import openai
from semantic_kernel import Kernel
from semantic_kernel.connectors.ai.open_ai import OpenAIChatCompletion
openai_client = openai.AsyncOpenAI()
kernel = Kernel()
kernel.add_service(
    OpenAIChatCompletion(
        service_id="chat-gpt",
        ai_model_id="gpt-4o-mini",
        async_client=openai_client,
    )
)
answer = await kernel.invoke_prompt("Is sushi the best food ever?")
print("AI says:", answer)
acompanhamento do uso de tokens
MLflow 3.2.0+ registra o uso de tokens por chamada LLM e agrega os totais nas informações de rastreamento.
import mlflow
last_trace_id = mlflow.get_last_active_trace_id()
trace = mlflow.get_trace(trace_id=last_trace_id)
print(trace.info.token_usage)
for span in trace.data.spans:
    usage = span.get_attribute("mlflow.chat.tokenUsage")
    if usage:
        print(span.name, usage)
Desativar o rastreamento automático
Desative o rastreamento automático do Kernel Semântico com ou mlflow.semantic_kernel.autolog(disable=True) mlflow.autolog(disable=True) desative tudo com.