Skip to main content

A lightweight LLM observability and evaluation framework.

Project description

LLMTrace: Observabilidad y Trazabilidad para Aplicaciones con LLM

LLMTrace es una librería open-source en Python diseñada como un toolkit de observabilidad y evaluación para aplicaciones con modelos de lenguaje. Permite a los desarrolladores instrumentar sus apps de IA generativa para registrar automáticamente prompts y respuestas, medir métricas clave y visualizar trazas de las sesiones.

SLSA Level 1

Características Principales (v0)

  • Instrumentación Automática: Captura prompts, respuestas, tokens, costos y errores de LLMs populares (OpenAI, HuggingFace, LangChain).
  • Almacenamiento Local Persistente: Utiliza SQLite por defecto para guardar todos los datos de trazabilidad. Soporte experimental para PostgreSQL.
  • Dashboard Web Ligero: Una interfaz web básica para visualizar sesiones y métricas.
  • Interfaz de Línea de Comandos (CLI): Herramientas para listar, mostrar detalles, exportar y eliminar datos.
  • Migraciones de Base de Datos: Gestión de esquema con Alembic.

Instalación

LLMTrace requiere Python 3.9 o superior.

  1. Instalación básica: ```bash pip install llmtrace ```

  2. Instalación con extras (dashboard, evaluación, backends DB, instrumentadores): ```bash pip install "llmtrace[all]" # Instala todas las dependencias opcionales

    O selecciona solo las que necesites:

    pip install "llmtrace[openai,postgresql]"

    ```

Uso Rápido

import llmtrace
from llmtrace.instrumentation.openai import OpenAIInstrumentor
import openai
import asyncio

async def main():
    # Inicializa LLMTrace (crea llmtrace.db en ~/.llmtrace por defecto)
    # Puedes usar LLMTRACE_DB_URL="memory://" para una base de datos en memoria para tests.
    await llmtrace.init() 
    
    # Instrumenta OpenAI
    OpenAIInstrumentor().instrument()

    # Todas las llamadas a openai.ChatCompletion.create serán registradas
    res = await openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "user", "content": "Escribe un haiku sobre la observabilidad."}]
    )
    print(res.choices[0].message.content)

    # Inicia una sesión para agrupar trazas
    async with llmtrace.session(name="MiPrimerHaiku", user_id="anon_user"):
        await openai.ChatCompletion.create(
            model="gpt-3.5-turbo",
            messages=[{"role": "user", "content": "Otro haiku, esta vez sobre el código."}]
        )

    # Consulta datos programáticamente
    sessions = await llmtrace.get_sessions()
    print(f"\nSesiones registradas: {len(sessions)}")

    # Inicia el dashboard web
    # llmtrace web
    # Abre tu navegador en http://localhost:5000 (por defecto)
    
    await llmtrace.close() # Cierra la conexión a la DB
    
if __name__ == "__main__":
    asyncio.run(main())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llmtrace-0.1.4.tar.gz (72.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llmtrace-0.1.4-py3-none-any.whl (50.7 kB view details)

Uploaded Python 3

File details

Details for the file llmtrace-0.1.4.tar.gz.

File metadata

  • Download URL: llmtrace-0.1.4.tar.gz
  • Upload date:
  • Size: 72.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for llmtrace-0.1.4.tar.gz
Algorithm Hash digest
SHA256 4d61522a180b70c7a376cf4ae18119d73c433f209f773a1fc41238d957238191
MD5 fb2f8a3980bd94fbfa003c1d6d89069b
BLAKE2b-256 ffaa67a6434a64f4a0e419f7b0cf73ba9f2f82c8096d549d2b511378e4c6faa1

See more details on using hashes here.

File details

Details for the file llmtrace-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: llmtrace-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 50.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for llmtrace-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 19e22d0b104b256e128ff0b3a8d7f1b6ffb2b41910c065db4f21814e6f5af840
MD5 241513297710c379f3b8558a36669968
BLAKE2b-256 6eaa742e3030c0eb0db0b38d0b4c716df5fae883adf9041b72e6303dce8af9fe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page