Skip to main content

Automated telemetry and monitoring for ML & LLM Frameworks

Project description

Welcome to xpuls.ai 👋

xpuls-ml-sdk

Twitter Follow Discord

PyPI version GitHub version

Roadmap 🚀

Framework Status
Langchain
LLamaIndex Planned
PyTorch Planned
SKLearn Planned
Transformers Planned
Stable Diffusion Next

💡 If support of any framework/feature is useful for you, please feel free to reach out to us via Discord or Github Discussions

🔗 Installation

  1. Install from PyPI
pip install xpuls-ml-sdk

🧩 Usage Example

from xpuls.mlmonitor.langchain.instrument import LangchainTelemetry
import os
import xpuls
from xpuls.prompt_hub import PromptClient

# Enable this for advance tracking with our xpuls-ml platform
xpuls.host_url = "https://api.xpuls.ai"
xpuls.api_key = "********************"  # Get from https://platform.xpuls.ai
xpuls.adv_tracing_enabled = "true" # Enable this for automated insights and log tracing via xpulsAI platform
# Add default labels that will be added to all captured metrics
default_labels = {"service": "ml-project-service", "k8s_cluster": "app0", "namespace": "dev", "agent_name": "fallback_value"}

# Enable the auto-telemetry
LangchainTelemetry(default_labels=default_labels,).auto_instrument()
prompt_client = PromptClient(   
    prompt_id="clrfm4v70jnlb1kph240",  # Get prompt_id from the platform
    environment_name="dev"  # Deployed environment name
)

## [Optional] Override labels for scope of decorator [Useful if you have multiple scopes where you need to override the default label values]
@TelemetryOverrideLabels(agent_name="chat_agent_alpha")
@MapXpulsProject(project_slug="defaultoPIt9USSR")  # Get Project Slug from platform
def get_response_using_agent_alpha(prompt, query):
    agent = initialize_agent(llm=chat_model,
                             verbose=True,
                             agent=CONVERSATIONAL_REACT_DESCRIPTION,
                             memory=memory)
    
    data = prompt_client.get_prompt({"variable-1": "I'm the first variable"})  # Substitute any variables in prompt

    res = agent.run(data) # Pass the entire `XPPrompt` object to run or invoke method

ℹ️ Complete Usage Guides

🧾 License

This project is licensed under the Apache License 2.0. See the LICENSE file for more details.

📢 Contributing

We welcome contributions to xpuls-ml-sdk! If you're interested in contributing.

If you encounter any issues or have feature requests, please file an issue on our GitHub repository.

💬 Get in touch

👉 Join our Discord community!

🐦 Follow the latest from xpuls.ai team on Twitter @xpulsai

📮 Write to us at hello@xpuls.ai

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

xpuls-ml-sdk-0.3.0.tar.gz (22.5 kB view hashes)

Uploaded Source

Built Distribution

xpuls_ml_sdk-0.3.0-py3-none-any.whl (30.2 kB view hashes)

Uploaded Python 3

Supported by

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