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

集成:OPEA

使用 OPEA 框架进行硬件抽象和编排

作者
OPEA-Project

目录

概述

haystack-opea 集成将 Haystack 连接到 OPEA — 一系列用于 LLM、嵌入、检索和重排的容器化微服务。通过将繁重的计算委托给 OPEA 服务,您可以构建灵活的检索增强生成 (RAG) 流水线,这些流水线可以跨云、本地和边缘部署进行扩展。

主要特点

  • 与硬件无关的 LLM 和嵌入服务。
  • 轻松编排 LLM、嵌入器、检索器、重排器等。
  • 支持通过 Docker Compose 或生产集群进行本地开发。

安装

从源代码安装

git clone https://github.com/opea-project/Haystack-OPEA.git
cd Haystack-OPEA
pip install poetry
poetry install --with test

使用

以下是嵌入和 LLM 生成的快速入门示例。请确保您的 OPEA 后端正在运行:例如,通过提供的 Docker Compose 文件。OPEA 服务可以配置为使用各种模型服务后端,如 TGI、vLLM、ollama、OVMS……并提供经过验证的运行时设置,以便在包括 Intel Gaudi 在内的各种硬件上获得良好性能,请参阅 OPEA 组件库中的 LLM 部分。

嵌入

from haystack import Document
from haystack_opea import OPEATextEmbedder, OPEADocumentEmbedder

# Text embedding example
text_embedder = OPEATextEmbedder(api_url="https://:6006")
text_embedder.warm_up()
result = text_embedder.run("I love pizza!")
print("Text embedding:", result["vectors"][0])

# Document embedding example
doc = Document(content="I love pizza!")
doc_embedder = OPEADocumentEmbedder(api_url="https://:6006")
doc_embedder.warm_up()
out = doc_embedder.run([doc])
print("Document embedding:", out["documents"][0].embedding)

LLM 生成

from haystack_opea import OPEAGenerator

# Initialize the OPEA LLM service
generator = OPEAGenerator(
    api_url="https://:9009",
    model_arguments={
        "temperature": 0.2,
        "top_p": 0.7,
        "max_tokens": 512,
    },
)
generator.warm_up()

# Run a simple prompt
response = generator.run(prompt="What is the capital of France?")
print("LLM reply:", response["replies"][0])

有关更多示例,请参阅 samples/ 文件夹和 官方 OPEA 文档,以及 组件库