跳到主要內容
Open In ColabOpen on GitHub

Context

Context 提供使用者分析,適用於 LLM 驅動的產品和功能。

透過 Context,您可以在 30 分鐘內開始了解您的使用者並改善他們的使用體驗。

在本指南中,我們將向您展示如何與 Context 整合。

安裝與設定

%pip install --upgrade --quiet  langchain langchain-openai langchain-community context-python

取得 API 憑證

若要取得您的 Context API 令牌

  1. 前往您的 Context 帳戶中的設定頁面 (https://with.context.ai/settings)。
  2. 產生新的 API 令牌。
  3. 將此令牌儲存在安全的地方。

設定 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))
API 參考文件:HumanMessage | SystemMessage | ChatOpenAI

鏈中的 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"))

此頁面是否對您有幫助?