文档API 参考📓 教程🧑‍🍳 食谱🤝 集成💜 Discord🎨 Studio
API 参考

Meta Llama API

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]

将此组件序列化为字典。

返回值:

序列化后的组件(字典格式)。