Home

Awesome

<div align="center"> <h1> <img src="https://github.com/Scale3-Labs/langtrace/assets/105607645/6825158c-39bb-4270-b1f9-446c36c066ee" alt="Langtrace" width="400"/> <br/> <a href="https://www.langtrace.ai">Langtrace</a> </h1> <h3>Open Source Observability for LLM Applications</h3>

License Development Status Pull Requests NPM SDK NPM Downloads PyPI SDK PyPI Downloads Total PyPI Downloads Deploy

</div>

πŸ“š Table of Contents

Langtrace is an open source observability software which lets you capture, debug and analyze traces and metrics from all your applications that leverages LLM APIs, Vector Databases and LLM based Frameworks.

image

✨ Features

πŸš€ Quick Start

# For TypeScript/JavaScript
npm i @langtrase/typescript-sdk

# For Python
pip install langtrace-python-sdk

Initialize in your code:

// TypeScript
import * as Langtrace from '@langtrase/typescript-sdk'
Langtrace.init({ api_key: '<your_api_key>' }) // Get your API key at langtrace.ai
# Python
from langtrace_python_sdk import langtrace
langtrace.init(api_key='<your_api_key>') # Get your API key at langtrace.ai

For detailed setup instructions, see Getting Started.

πŸ“Š Open Telemetry Support

The traces generated by Langtrace adhere to Open Telemetry Standards(OTEL). We are developing semantic conventions for the traces generated by this project. You can checkout the current definitions in this repository. Note: This is an ongoing development and we encourage you to get involved and welcome your feedback.


πŸ“¦ SDK Repositories


πŸš€ Getting Started

Langtrace Cloud ☁️

To use the managed SaaS version of Langtrace, follow the steps below:

  1. Sign up by going to this link.
  2. Create a new Project after signing up. Projects are containers for storing traces and metrics generated by your application. If you have only one application, creating 1 project will do.
  3. Generate an API key by going inside the project.
  4. In your application, install the Langtrace SDK and initialize it with the API key you generated in the step 3.
  5. The code for installing and setting up the SDK is shown below:

If your application is built using typescript/javascript

npm i @langtrase/typescript-sdk
import * as Langtrace from '@langtrase/typescript-sdk' // Must precede any llm module imports
Langtrace.init({ api_key: <your_api_key> })

OR

import * as Langtrace from "@langtrase/typescript-sdk"; // Must precede any llm module imports
LangTrace.init(); // LANGTRACE_API_KEY as an ENVIRONMENT variable

If your application is built using python

pip install langtrace-python-sdk
from langtrace_python_sdk import langtrace
langtrace.init(api_key=<your_api_key>)

OR

from langtrace_python_sdk import langtrace
langtrace.init() # LANGTRACE_API_KEY as an ENVIRONMENT variable

🏠 Langtrace self hosted

To run the Langtrace locally, you have to run three services:

[!IMPORTANT] Checkout our documentation for various deployment options and configurations.

Requirements:

The .env file

Feel free to modify the .env file to suit your needs.

Starting the servers

docker compose up

The application will be available at http://localhost:3000.

Take down the setup

To delete containers and volumes

docker compose down -v

-v flag is used to delete volumes

Telemetry

Langtrace collects basic, non-sensitive usage data from self-hosted instances by default, which is sent to a central server (via PostHog).

The following telemetry data is collected by us:

This data helps us to:

No sensitive information is gathered, and the data is not shared with third parties.

If you prefer to disable telemetry, you can do so by setting TELEMETRY_ENABLED=false in your configuration.


πŸ”— Supported Integrations

Langtrace automatically captures traces from the following vendors and frameworks:

LLM Providers

ProviderTypeScript SDKPython SDK
OpenAIβœ…βœ…
Anthropicβœ…βœ…
Azure OpenAIβœ…βœ…
Cohereβœ…βœ…
xAIβœ…βœ…
Groqβœ…βœ…
Perplexityβœ…βœ…
Geminiβœ…βœ…
AWS Bedrockβœ…βœ…
MistralβŒβœ…

LLM Frameworks

FrameworkTypeScript SDKPython SDK
LangchainβŒβœ…
LlamaIndexβœ…βœ…
LanggraphβŒβœ…
LiteLLMβŒβœ…
DSPyβŒβœ…
CrewAIβŒβœ…
OllamaβŒβœ…
VertexAIβœ…βœ…
Vercel AIβœ…βŒ
GuardrailsAIβŒβœ…

Vector Databases

DatabaseTypeScript SDKPython SDK
Pineconeβœ…βœ…
ChromaDBβœ…βœ…
QDrantβœ…βœ…
Weaviateβœ…βœ…
PGVectorβœ…βœ… (SQLAlchemy)
MongoDBβŒβœ…
MilvusβŒβœ…

πŸ“ Langtrace System Architecture

image


πŸ’‘ Feature Requests and Issues


🀝 Contributions

We welcome contributions to this project. To get started, fork this repository and start developing. To get involved, join our Slack workspace.


🌟 Langtrace Star History

Langtrace Star History Chart


πŸ”’Security

To report security vulnerabilities, email us at security@scale3labs.com. You can read more on security here.


πŸ“œ License

πŸ‘₯ Contributors

<div align="center"> <table> <tr> <td align="center"><a href="https://github.com/karthikscale3"><img src="https://github.com/karthikscale3.png" width="100px;" alt="karthikscale3"/><br /><sub><b>karthikscale3</b></sub></a></td> <td align="center"><a href="https://github.com/dylanzuber-scale3"><img src="https://github.com/dylanzuber-scale3.png" width="100px;" alt="dylanzuber-scale3"/><br /><sub><b>dylanzuber-scale3</b></sub></a></td> <td align="center"><a href="https://github.com/darshit-s3"><img src="https://github.com/darshit-s3.png" width="100px;" alt="darshit-s3"/><br /><sub><b>darshit-s3</b></sub></a></td> <td align="center"><a href="https://github.com/rohit-kadhe"><img src="https://github.com/rohit-kadhe.png" width="100px;" alt="rohit-kadhe"/><br /><sub><b>rohit-kadhe</b></sub></a></td> </tr> <tr> <td align="center"><a href="https://github.com/yemiadej"><img src="https://github.com/yemiadej.png" width="100px;" alt="yemiadej"/><br /><sub><b>yemiadej</b></sub></a></td> <td align="center"><a href="https://github.com/alizenhom"><img src="https://github.com/alizenhom.png" width="100px;" alt="alizenhom"/><br /><sub><b>alizenhom</b></sub></a></td> <td align="center"><a href="https://github.com/obinnascale3"><img src="https://github.com/obinnascale3.png" width="100px;" alt="obinnascale3"/><br /><sub><b>obinnascale3</b></sub></a></td> <td align="center"><a href="https://github.com/Cruppelt"><img src="https://github.com/Cruppelt.png" width="100px;" alt="Cruppelt"/><br /><sub><b>Cruppelt</b></sub></a></td> </tr> <tr> <td align="center"><a href="https://github.com/Dnaynu"><img src="https://github.com/Dnaynu.png" width="100px;" alt="Dnaynu"/><br /><sub><b>Dnaynu</b></sub></a></td> <td align="center"><a href="https://github.com/jatin9823"><img src="https://github.com/jatin9823.png" width="100px;" alt="jatin9823"/><br /><sub><b>jatin9823</b></sub></a></td> <td align="center"><a href="https://github.com/MayuriS24"><img src="https://github.com/MayuriS24.png" width="100px;" alt="MayuriS24"/><br /><sub><b>MayuriS24</b></sub></a></td> <td align="center"><a href="https://github.com/NishantRana07"><img src="https://github.com/NishantRana07.png" width="100px;" alt="NishantRana07"/><br /><sub><b>NishantRana07</b></sub></a></td> </tr> <tr> <td align="center"><a href="https://github.com/obinnaokafor"><img src="https://github.com/obinnaokafor.png" width="100px;" alt="obinnaokafor"/><br /><sub><b>obinnaokafor</b></sub></a></td> <td align="center"><a href="https://github.com/heysagnik"><img src="https://github.com/heysagnik.png" width="100px;" alt="heysagnik"/><br /><sub><b>heysagnik</b></sub></a></td> <td align="center"><a href="https://github.com/dabiras3"><img src="https://github.com/dabiras3.png" width="100px;" alt="dabiras3"/><br /><sub><b>dabiras3</b></sub></a></td> </tr> </table> </div>

❓Frequently Asked Questions

1. Can I self host and run Langtrace in my own cloud? Yes, you can absolutely do that. Follow the self hosting setup instructions in our documentation.

2. What is the pricing for Langtrace cloud? Currently, we are not charging anything for Langtrace cloud and we are primarily looking for feedback so we can continue to improve the project. We will inform our users when we decide to monetize it.

3. What is the tech stack of Langtrace? Langtrace uses NextJS for the frontend and APIs. It uses PostgresDB as a metadata store and Clickhouse DB for storing spans, metrics, logs and traces.

4. Can I contribute to this project? Absolutely! We love developers and welcome contributions. Get involved early by joining our Discord Community.

5. What skillset is required to contribute to this project? Programming Languages: Typescript and Python. Framework knowledge: NextJS. Database: Postgres and Prisma ORM. Nice to haves: Opentelemetry instrumentation framework, experience with distributed tracing.