Context
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 令牌。
- 將此令牌儲存在安全的地方。
設定 Context
若要使用 ContextCallbackHandler
,請從 Langchain 匯入處理程序,並使用您的 Context API 令牌實例化它。
請確保在使用處理程序之前,您已安裝 context-python
套件。
from langchain_community.callbacks.context_callback import ContextCallbackHandler
API 參考文件:ContextCallbackHandler
import os
token = os.environ["CONTEXT_API_TOKEN"]
context_callback = ContextCallbackHandler(token)
使用方式
聊天模型中的 Context 回呼
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 回呼
Context 回呼處理程序也可用於記錄鏈的輸入和輸出。請注意,鏈的中間步驟不會被記錄,只會記錄開始輸入和最終輸出。
注意: 請確保您將相同的 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"))