集成:Context AI
一个用于记录由 Context.ai 进行分析的对话的组件
目录
概述
Context.ai 是一款用于 LLM 驱动产品的评估和分析工具。
通过 Context.ai,您可以了解用户如何与自然语言界面进行交互。这可以帮助您了解客户在哪些方面获得了出色的体验,同时也能主动发现潜在的改进领域。您可以在产品上线前通过评估来测试更改对性能的影响,并识别不当的对话发生的位置。
登录 Context Dashboard 来创建令牌并查看您的分析数据。
安装
pip install --upgrade context-haystack
使用
组件
ContextAIAnalytics 组件允许您与 Context.ai 无缝集成,将您的消息上传到 Context AI 平台。
运行管道时,您必须在参数中包含 thread_id,其中每个唯一的 thread_id 标识一次对话。您可以选择性地包含 metadata,其中 user_id 和 model 保留用于特殊分析。
在管道中您希望记录消息的每个阶段使用 ContextAIAnalytics 组件的实例。在下面的示例中,捕获了 prompt_builder 和 llm 组件的输出。
示例
import uuid
import os
from haystack.components.generators.chat import OpenAIChatGenerator
from haystack.components.builders import ChatPromptBuilder
from haystack import Pipeline
from haystack.dataclasses import ChatMessage
from context_haystack.context import ContextAIAnalytics
model = "gpt-3.5-turbo"
os.environ["GETCONTEXT_TOKEN"] = "GETCONTEXT_TOKEN"
os.environ["OPENAI_API_KEY"] = "OPENAI_API_KEY"
prompt_builder = ChatPromptBuilder()
llm = OpenAIChatGenerator(model=model)
prompt_analytics = ContextAIAnalytics()
assistant_analytics = ContextAIAnalytics()
pipe = Pipeline()
pipe.add_component("prompt_builder", prompt_builder)
pipe.add_component("llm", llm)
pipe.add_component("prompt_analytics", prompt_analytics)
pipe.add_component("assistant_analytics", assistant_analytics)
pipe.connect("prompt_builder.prompt", "llm.messages")
pipe.connect("prompt_builder.prompt", "prompt_analytics")
pipe.connect("llm.replies", "assistant_analytics")
# thread_id is unique to each conversation
context_parameters = {"thread_id": uuid.uuid4(), "metadata": {"model": model, "user_id": "1234"}}
location = "Berlin"
messages = [ChatMessage.from_system("Always respond in German even if some input data is in other languages."),
ChatMessage.from_user("Tell me about {{location}}")]
response = pipe.run(
data={
"prompt_builder": {"template_variables":{"location": location}, "prompt_source": messages},
"prompt_analytics": context_parameters,
"assistant_analytics": context_parameters,
}
)
print(response)
许可证
context-haystack 在 Apache-2.0 许可的条款下分发。
