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

集成:Needle

在 Haystack 中使用 Needle 文档存储和检索器。

作者
Needle 团队

Haystack 的 Needle RAG 工具

PyPI - Version PyPI - Python Version

此包提供了 NeedleDocumentStoreNeedleEmbeddingRetriever 组件,供在 Haystack 项目中使用。

用法 ⚡️

通过 pip 安装此包即可开始使用。

pip install needle-haystack-ai

API 密钥

我们将向您展示如何使用 Needle 工具和 OpenAI 生成器构建一个通用的 RAG 管道。要使用这些工具,您必须分别设置环境变量 NEEDLE_API_KEYOPENAI_API_KEY

您可以从 开发者设置 获取您的 Needle API 密钥。

示例管道 🧱

在 Needle 中,文档存储称为集合。有关详细信息,请参阅我们的 文档。您可以使用 NeedleDocumentStore 创建对 Needle 集合的引用,并使用 NeedleEmbeddingRetriever 从中检索文档。

from needle_haystack import NeedleDocumentStore, NeedleEmbeddingRetriever

document_store = NeedleDocumentStore(collection_id="<your-collection-id>")
retriever = NeedleEmbeddingRetriever(document_store=document_store)

在 Haystack 管道中使用检索器。示例

from haystack import Pipeline
from haystack.components.generators import OpenAIGenerator
from haystack.components.builders import PromptBuilder

prompt_template = """
Given the following retrieved documents, generate a concise and informative answer to the query:

Query: {{query}}
Documents:
{% for doc in documents %}
    {{ doc.content }}
{% endfor %}

Answer:
"""

prompt_builder = PromptBuilder(template=prompt_template)
llm = OpenAIGenerator()

# Add components to pipeline
pipeline = Pipeline()
pipeline.add_component("retriever", retriever)
pipeline.add_component("prompt_builder", prompt_builder)
pipeline.add_component("llm", llm)

# Connect the components
pipeline.connect("retriever", "prompt_builder.documents")
pipeline.connect("prompt_builder", "llm")

运行您的 RAG 管道

prompt = "What is the topic of the news?"

result = basic_rag_pipeline.run({
    "retriever": {"text": prompt},
    "prompt_builder": {"query": prompt}
})

# Print final answer
print(result['llm']['replies'][0])

支持 📞

有关详细指南,请查看我们的 文档。如果您有任何问题或需求,可以在我们的 Discord 频道 联系我们。