openinference-instrumentation-langchain 0.1.42
pip install openinference-instrumentation-langchain
Released:
OpenInference LangChain Instrumentation
Navigation
Unverified details
These details have not been verified by PyPIProject links
Meta
-
License Expression: Apache-2.0
SPDX License Expression - Author: OpenInference Authors
- Requires: Python <3.14, >=3.9
-
Provides-Extra:
instruments
,test
,type-check
Classifiers
- Development Status
- Intended Audience
- License
- Programming Language
Project description
OpenInference LangChain Instrumentation
Python auto-instrumentation library for LangChain.
These traces are fully OpenTelemetry compatible and can be sent to an OpenTelemetry collector for viewing, such as arize-phoenix
.
Installation
pip install openinference-instrumentation-langchain
Quickstart
Install packages needed for this demonstration.
pip install openinference-instrumentation-langchain langchain arize-phoenix opentelemetry-sdk opentelemetry-exporter-otlp
Start the Phoenix app in the background as a collector. By default, it listens on http://localhost:6006
. You can visit the app via a browser at the same address.
The Phoenix app does not send data over the internet. It only operates locally on your machine.
python -m phoenix.server.main serve
The following Python code sets up the LangChainInstrumentor
to trace langchain
and send the traces to Phoenix at the endpoint shown below.
from langchain.chains import LLMChain
from langchain_core.prompts import PromptTemplate
from langchain_openai import OpenAI
from openinference.instrumentation.langchain import LangChainInstrumentor
from opentelemetry import trace as trace_api
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk import trace as trace_sdk
from opentelemetry.sdk.trace.export import ConsoleSpanExporter, SimpleSpanProcessor
endpoint = "http://127.0.0.1:6006/v1/traces"
tracer_provider = trace_sdk.TracerProvider()
trace_api.set_tracer_provider(tracer_provider)
tracer_provider.add_span_processor(SimpleSpanProcessor(OTLPSpanExporter(endpoint)))
tracer_provider.add_span_processor(SimpleSpanProcessor(ConsoleSpanExporter()))
LangChainInstrumentor().instrument()
To demonstrate langchain
tracing, we'll make a simple chain to tell a joke. First, configure your OpenAI credentials.
import os
os.environ["OPENAI_API_KEY"] = "<your openai key>"
Now we can create a chain and run it.
prompt_template = "Tell me a {adjective} joke"
prompt = PromptTemplate(input_variables=["adjective"], template=prompt_template)
llm = LLMChain(llm=OpenAI(), prompt=prompt, metadata={"category": "jokes"})
completion = llm.predict(adjective="funny", metadata={"variant": "funny"})
print(completion)
Visit the Phoenix app at http://localhost:6006
to see the traces.
More Info
Project details
Unverified details
These details have not been verified by PyPIProject links
Meta
-
License Expression: Apache-2.0
SPDX License Expression - Author: OpenInference Authors
- Requires: Python <3.14, >=3.9
-
Provides-Extra:
instruments
,test
,type-check
Classifiers
- Development Status
- Intended Audience
- License
- Programming Language
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Uploaded
Python 3
File details
Details for the file openinference_instrumentation_langchain-0.1.42.tar.gz
.
File metadata
- Download URL: openinference_instrumentation_langchain-0.1.42.tar.gz
- Upload date:
- Size: 50.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61d5fa423285b92b4c9cf0f3b22bcc571290a82a2346ff7d83d9cafa0f398ec4 |
|
MD5 | 93c801c9ceed973d7d3fb9aeae29c2c2 |
|
BLAKE2b-256 | c18d7982239815cd244a6327a577a7d1034c86a46c4b814cb6a7f033746e2a89 |
File details
Details for the file openinference_instrumentation_langchain-0.1.42-py3-none-any.whl
.
File metadata
- Download URL: openinference_instrumentation_langchain-0.1.42-py3-none-any.whl
- Upload date:
- Size: 18.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bce9bc89e0d90f9bf6f9c1297cf9e5e2c0134bbc7cfd17de528a922c77107611 |
|
MD5 | 3d5c4c097bfa2336e43bdad41847371d |
|
BLAKE2b-256 | 26510f22ca2986d9731cc6565261390d4a349a9c2fbc3f3c82c1adcd143c3b16 |