上下文
Context 为基于LLM的产品和功能提供用户分析。
使用Context
,您可以在不到30分钟内开始了解您的用户并改善他们的体验。
在本指南中,我们将向您展示如何与Context集成。
安装与设置
%pip install --upgrade --quiet langchain langchain-openai langchain-community context-python
获取API凭证
获取您的Context API令牌:
- 转到您的Context账户中的设置页面 (https://with.context.ai/settings).
- 生成一个新的API令牌。
- 将此令牌存储在安全的地方。
设置上下文
要使用ContextCallbackHandler
,请从Langchain导入处理程序,并使用您的Context API令牌实例化它。
在使用处理程序之前,请确保已安装context-python
包。
from langchain_community.callbacks.context_callback import ContextCallbackHandler
API Reference:ContextCallbackHandler
import os
token = os.environ["CONTEXT_API_TOKEN"]
context_callback = ContextCallbackHandler(token)
用法
聊天模型中的上下文回调
Context回调处理程序可用于直接记录用户与AI助手之间的对话。
import os
from langchain_core.messages import HumanMessage, SystemMessage
from langchain_openai import ChatOpenAI
token = os.environ["CONTEXT_API_TOKEN"]
chat = ChatOpenAI(
headers={"user_id": "123"}, temperature=0, callbacks=[ContextCallbackHandler(token)]
)
messages = [
SystemMessage(
content="You are a helpful assistant that translates English to French."
),
HumanMessage(content="I love programming."),
]
print(chat(messages))
链中的上下文回调
Context回调处理程序也可以用于记录链的输入和输出。请注意,链的中间步骤不会被记录——只有开始的输入和最终的输出。
注意: 确保将相同的上下文对象传递给聊天模型和链。
错误:
chat = ChatOpenAI(temperature=0.9, callbacks=[ContextCallbackHandler(token)])
chain = LLMChain(llm=chat, prompt=chat_prompt_template, callbacks=[ContextCallbackHandler(token)])
正确:
handler = ContextCallbackHandler(token)
chat = ChatOpenAI(temperature=0.9, callbacks=[callback])
chain = LLMChain(llm=chat, prompt=chat_prompt_template, callbacks=[callback])
import os
from langchain.chains import LLMChain
from langchain_core.prompts import PromptTemplate
from langchain_core.prompts.chat import (
ChatPromptTemplate,
HumanMessagePromptTemplate,
)
from langchain_openai import ChatOpenAI
token = os.environ["CONTEXT_API_TOKEN"]
human_message_prompt = HumanMessagePromptTemplate(
prompt=PromptTemplate(
template="What is a good name for a company that makes {product}?",
input_variables=["product"],
)
)
chat_prompt_template = ChatPromptTemplate.from_messages([human_message_prompt])
callback = ContextCallbackHandler(token)
chat = ChatOpenAI(temperature=0.9, callbacks=[callback])
chain = LLMChain(llm=chat, prompt=chat_prompt_template, callbacks=[callback])
print(chain.run("colorful socks"))
API Reference:LLMChain | PromptTemplate | ChatPromptTemplate | HumanMessagePromptTemplate | ChatOpenAI