Meta Llama API 集成,用于 Haystack
模块 haystack_integrations.components.generators.meta_llama.chat.chat_generator
MetaLlamaChatGenerator
使用 Llama 生成模型进行文本生成。支持的模型请参阅 Llama API 文档。
用户可以通过组件的generation_kwargs 参数,将 Llama Chat Completion API 支持的任何文本生成参数直接传递给此组件,该参数位于__init__ 或generation_kwargs 参数,将 Llama Chat Completion API 支持的任何文本生成参数直接传递给此组件,该参数位于run 方法中。
主要特性和兼容性
- 主要兼容性:设计用于与 Llama API Chat Completion 端点无缝协同工作。
- 流式传输支持:支持从 Llama API Chat Completion 端点流式传输响应。
- 可定制性:支持 Llama API Chat Completion 端点支持的参数。
- 响应格式:目前仅支持 json_schema 响应格式。
此组件使用 ChatMessage 格式来构建输入和输出,确保在基于聊天的文本生成场景中获得一致且上下文相关的响应。有关 ChatMessage 格式的详细信息,请参阅 Haystack 文档。
有关 Llama API 支持的参数的更多详细信息,请参阅 Llama API 文档。
使用示例
from haystack_integrations.components.generators.llama import LlamaChatGenerator
from haystack.dataclasses import ChatMessage
messages = [ChatMessage.from_user("What's Natural Language Processing?")]
client = LlamaChatGenerator()
response = client.run(messages)
print(response)
MetaLlamaChatGenerator.__init__
def __init__(*,
api_key: Secret = Secret.from_env_var("LLAMA_API_KEY"),
model: str = "Llama-4-Scout-17B-16E-Instruct-FP8",
streaming_callback: Optional[StreamingCallbackT] = None,
api_base_url: Optional[str] = "https://api.llama.com/compat/v1/",
generation_kwargs: Optional[Dict[str, Any]] = None,
tools: Optional[Union[List[Tool], Toolset]] = None)
创建 LlamaChatGenerator 的实例。除非在model 中另有指定,否则默认使用 Llama 的
Llama-4-Scout-17B-16E-Instruct-FP8 模型。
参数:
api_key:Llama API 密钥。model:要使用的 Llama 聊天补全模型的名称。streaming_callback: 当从流中接收到新 token 时调用的回调函数。回调函数接受 StreamingChunk 作为参数。api_base_url:Llama API 的基础 URL。更多详细信息,请参阅 LlamaAPI 文档。generation_kwargs:用于模型的其他参数。这些参数将直接发送到 Llama API 端点。有关更多详细信息,请参阅 Llama API 文档。一些支持的参数包括max_tokens:输出文本可以拥有的最大 token 数。temperature:要使用的采样温度。值越高,模型承担的风险越大。对于更具创造性的应用,请尝试 0.9,对于有明确答案的应用,请尝试 0(argmax 采样)。top_p:一种替代温度采样的方法,称为 nucleus 采样,其中模型考虑具有 top_p 概率质量的 token 的结果。因此,0.1 意味着只考虑构成前 10% 概率质量的 token。stream:是否流式传输部分进度。如果设置,token 将作为数据(仅数据)服务器发送事件(SSE)可用时发送,流的结束由 data: [DONE] 消息终止。safe_prompt:是否在所有对话之前注入安全提示。random_seed:用于随机采样的种子。tools:模型可以准备调用的工具列表。
MetaLlamaChatGenerator.to_dict
def to_dict() -> Dict[str, Any]
将此组件序列化为字典。
返回值:
序列化后的组件(字典格式)。
