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()
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.