由 deepset 维护
集成:Llama Stack
使用 Llama Stack 生成模型。
目录
概述
Llama Stack 是一个开源框架,由 AI 构建块和统一 API 组成,可标准化跨不同环境构建 AI 应用。
LlamaStackChatGenerator 允许您利用 Llama Stack 服务器托管的推理提供商提供的任何 LLM。它抽象了底层提供商的具体细节,使您能够跨不同的推理后端使用相同的客户端代码。支持提供商和配置详情列表,请参阅 Llama Stack 文档。
要使用此聊天生成器,您需要
- 运行中的 Llama Stack 服务器实例(本地或远程)
- 您选择的推理提供商支持的有效模型名称
以下是使用 Llama-3.2-3B 模型的示例配置
Ollama 作为推理提供商
chat_generator = LlamaStackChatGenerator(model="llama3.2:3b")
vLLM 作为推理提供商:chat_generator = LlamaStackChatGenerator(model="meta-llama/Llama-3.2-3B")
安装
pip install llama-stack-haystack
使用
独立使用 vLLM 推理
import os
from haystack.dataclasses import ChatMessage
from haystack_integrations.components.generators.llama-stack import LlamaStackChatGenerator
client = LlamaStackChatGenerator(model="meta-llama/Llama-3.2-3B")
response = client.run(
[ChatMessage.from_user("What are Agentic Pipelines? Be brief.")]
)
print(response["replies"])
{'replies': [ChatMessage(_role=<ChatRole.ASSISTANT: 'assistant'>, _content=[TextContent(text='The capital of Vietnam is Hanoi.')], _name=None, _meta={'model': 'openai/gpt-4o-mini', 'index': 0, 'finish_reason': 'stop', 'usage': {'completion_tokens': 8, 'prompt_tokens': 13, 'total_tokens': 21, 'completion_tokens_details': CompletionTokensDetails(accepted_prediction_tokens=None, audio_tokens=None, reasoning_tokens=0, rejected_prediction_tokens=None), 'prompt_tokens_details': PromptTokensDetails(audio_tokens=None, cached_tokens=0)}})]}
如果您传递流式回调,LlamaStackChatGenerator 也支持流式响应
import os
from haystack.dataclasses import ChatMessage
from haystack_integrations.components.generators.llama-stack import LlamaStackChatGenerator
from haystack.components.generators.utils import print_streaming_chunk
client = LlamaStackChatGenerator(
model="meta-llama/Llama-3.2-3B",
streaming_callback=print_streaming_chunk,
)
response = client.run([ChatMessage.from_user("Summarize RAG in two lines.")])
print (response)
许可证
llama-stack-haystack 根据 Apache-2.0 许可证的分发条款进行分发。
