mirror of
https://github.com/hwchase17/langchain.git
synced 2026-04-04 03:14:33 +00:00
Use docusaurus versioning with a callout, merged master as well @hwchase17 @baskaryan --------- Signed-off-by: Weichen Xu <weichen.xu@databricks.com> Signed-off-by: Rahul Tripathi <rauhl.psit.ec@gmail.com> Co-authored-by: Leonid Ganeline <leo.gan.57@gmail.com> Co-authored-by: Leonid Kuligin <lkuligin@yandex.ru> Co-authored-by: Averi Kitsch <akitsch@google.com> Co-authored-by: Erick Friis <erick@langchain.dev> Co-authored-by: Nuno Campos <nuno@langchain.dev> Co-authored-by: Nuno Campos <nuno@boringbits.io> Co-authored-by: Bagatur <22008038+baskaryan@users.noreply.github.com> Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com> Co-authored-by: Martín Gotelli Ferenaz <martingotelliferenaz@gmail.com> Co-authored-by: Fayfox <admin@fayfox.com> Co-authored-by: Eugene Yurtsev <eugene@langchain.dev> Co-authored-by: Dawson Bauer <105886620+djbauer2@users.noreply.github.com> Co-authored-by: Ravindu Somawansa <ravindu.somawansa@gmail.com> Co-authored-by: Dhruv Chawla <43818888+Dominastorm@users.noreply.github.com> Co-authored-by: ccurme <chester.curme@gmail.com> Co-authored-by: Bagatur <baskaryan@gmail.com> Co-authored-by: WeichenXu <weichen.xu@databricks.com> Co-authored-by: Benito Geordie <89472452+benitoThree@users.noreply.github.com> Co-authored-by: kartikTAI <129414343+kartikTAI@users.noreply.github.com> Co-authored-by: Kartik Sarangmath <kartik@thirdai.com> Co-authored-by: Sevin F. Varoglu <sfvaroglu@octoml.ai> Co-authored-by: MacanPN <martin.triska@gmail.com> Co-authored-by: Prashanth Rao <35005448+prrao87@users.noreply.github.com> Co-authored-by: Hyeongchan Kim <kozistr@gmail.com> Co-authored-by: sdan <git@sdan.io> Co-authored-by: Guangdong Liu <liugddx@gmail.com> Co-authored-by: Rahul Triptahi <rahul.psit.ec@gmail.com> Co-authored-by: Rahul Tripathi <rauhl.psit.ec@gmail.com> Co-authored-by: pjb157 <84070455+pjb157@users.noreply.github.com> Co-authored-by: Eun Hye Kim <ehkim1440@gmail.com> Co-authored-by: kaijietti <43436010+kaijietti@users.noreply.github.com> Co-authored-by: Pengcheng Liu <pcliu.fd@gmail.com> Co-authored-by: Tomer Cagan <tomer@tomercagan.com> Co-authored-by: Christophe Bornet <cbornet@hotmail.com>
105 lines
3.2 KiB
Plaintext
105 lines
3.2 KiB
Plaintext
# Log10
|
|
|
|
This page covers how to use the [Log10](https://log10.io) within LangChain.
|
|
|
|
## What is Log10?
|
|
|
|
Log10 is an [open-source](https://github.com/log10-io/log10) proxiless LLM data management and application development platform that lets you log, debug and tag your Langchain calls.
|
|
|
|
## Quick start
|
|
|
|
1. Create your free account at [log10.io](https://log10.io)
|
|
2. Add your `LOG10_TOKEN` and `LOG10_ORG_ID` from the Settings and Organization tabs respectively as environment variables.
|
|
3. Also add `LOG10_URL=https://log10.io` and your usual LLM API key: for e.g. `OPENAI_API_KEY` or `ANTHROPIC_API_KEY` to your environment
|
|
|
|
## How to enable Log10 data management for Langchain
|
|
|
|
Integration with log10 is a simple one-line `log10_callback` integration as shown below:
|
|
|
|
```python
|
|
from langchain_openai import ChatOpenAI
|
|
from langchain_core.messages import HumanMessage
|
|
|
|
from log10.langchain import Log10Callback
|
|
from log10.llm import Log10Config
|
|
|
|
log10_callback = Log10Callback(log10_config=Log10Config())
|
|
|
|
messages = [
|
|
HumanMessage(content="You are a ping pong machine"),
|
|
HumanMessage(content="Ping?"),
|
|
]
|
|
|
|
llm = ChatOpenAI(model="gpt-3.5-turbo", callbacks=[log10_callback])
|
|
```
|
|
|
|
[Log10 + Langchain + Logs docs](https://github.com/log10-io/log10/blob/main/logging.md#langchain-logger)
|
|
|
|
[More details + screenshots](https://log10.io/docs/observability/logs) including instructions for self-hosting logs
|
|
|
|
## How to use tags with Log10
|
|
|
|
```python
|
|
from langchain_openai import OpenAI
|
|
from langchain_community.chat_models import ChatAnthropic
|
|
from langchain_openai import ChatOpenAI
|
|
from langchain_core.messages import HumanMessage
|
|
|
|
from log10.langchain import Log10Callback
|
|
from log10.llm import Log10Config
|
|
|
|
log10_callback = Log10Callback(log10_config=Log10Config())
|
|
|
|
messages = [
|
|
HumanMessage(content="You are a ping pong machine"),
|
|
HumanMessage(content="Ping?"),
|
|
]
|
|
|
|
llm = ChatOpenAI(model="gpt-3.5-turbo", callbacks=[log10_callback], temperature=0.5, tags=["test"])
|
|
completion = llm.predict_messages(messages, tags=["foobar"])
|
|
print(completion)
|
|
|
|
llm = ChatAnthropic(model="claude-2", callbacks=[log10_callback], temperature=0.7, tags=["baz"])
|
|
llm.predict_messages(messages)
|
|
print(completion)
|
|
|
|
llm = OpenAI(model_name="gpt-3.5-turbo-instruct", callbacks=[log10_callback], temperature=0.5)
|
|
completion = llm.predict("You are a ping pong machine.\nPing?\n")
|
|
print(completion)
|
|
```
|
|
|
|
You can also intermix direct OpenAI calls and Langchain LLM calls:
|
|
|
|
```python
|
|
import os
|
|
from log10.load import log10, log10_session
|
|
import openai
|
|
from langchain_openai import OpenAI
|
|
|
|
log10(openai)
|
|
|
|
with log10_session(tags=["foo", "bar"]):
|
|
# Log a direct OpenAI call
|
|
response = openai.Completion.create(
|
|
model="text-ada-001",
|
|
prompt="Where is the Eiffel Tower?",
|
|
temperature=0,
|
|
max_tokens=1024,
|
|
top_p=1,
|
|
frequency_penalty=0,
|
|
presence_penalty=0,
|
|
)
|
|
print(response)
|
|
|
|
# Log a call via Langchain
|
|
llm = OpenAI(model_name="text-ada-001", temperature=0.5)
|
|
response = llm.predict("You are a ping pong machine.\nPing?\n")
|
|
print(response)
|
|
```
|
|
|
|
## How to debug Langchain calls
|
|
|
|
[Example of debugging](https://log10.io/docs/observability/prompt_chain_debugging)
|
|
|
|
[More Langchain examples](https://github.com/log10-io/log10/tree/main/examples#langchain)
|