📘 **TELUS Agriculture & Consumer Goods** 如何通过 **Haystack Agents** 转变促销交易

集成:Context AI

一个用于记录由 Context.ai 进行分析的对话的组件

作者
Alec Barber
Alex Gamble
Henry Scott-Green
Amishapriya Singh

目录

概述

Context.ai 是一款用于 LLM 驱动产品的评估和分析工具。

通过 Context.ai,您可以了解用户如何与自然语言界面进行交互。这可以帮助您了解客户在哪些方面获得了出色的体验,同时也能主动发现潜在的改进领域。您可以在产品上线前通过评估来测试更改对性能的影响,并识别不当的对话发生的位置。

登录 Context Dashboard 来创建令牌并查看您的分析数据。

安装

pip install --upgrade context-haystack

使用

组件

ContextAIAnalytics 组件允许您与 Context.ai 无缝集成,将您的消息上传到 Context AI 平台。

运行管道时,您必须在参数中包含 thread_id,其中每个唯一的 thread_id 标识一次对话。您可以选择性地包含 metadata,其中 user_idmodel 保留用于特殊分析。

在管道中您希望记录消息的每个阶段使用 ContextAIAnalytics 组件的实例。在下面的示例中,捕获了 prompt_builderllm 组件的输出。

示例

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-haystackApache-2.0 许可的条款下分发。