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

STACKIT

Haystack 的 STACKIT 集成

模块 haystack_integrations.components.generators.stackit.chat.chat_generator

STACKITChatGenerator

通过 STACKIT 的模型服务,使用 STACKIT 生成模型进行文本生成。

用户可以直接通过此组件将 STACKIT Chat Completion API 的任何文本生成参数传递给此组件。generation_kwargs 参数,将 Llama Chat Completion API 支持的任何文本生成参数直接传递给此组件,该参数位于__init__generation_kwargs 参数,将 Llama Chat Completion API 支持的任何文本生成参数直接传递给此组件,该参数位于run 方法中。

此组件使用 ChatMessage 格式来构建输入和输出,确保在基于聊天的文本生成场景中获得连贯且与上下文相关的响应。有关 ChatMessage 格式的详细信息,请参阅 Haystack 文档

使用示例

from haystack_integrations.components.generators.stackit import STACKITChatGenerator
from haystack.dataclasses import ChatMessage

generator = STACKITChatGenerator(model="neuralmagic/Meta-Llama-3.1-70B-Instruct-FP8")

result = generator.run([ChatMessage.from_user("Tell me a joke.")])
print(result)

STACKITChatGenerator.__init__

def __init__(
        model: str,
        api_key: Secret = Secret.from_env_var("STACKIT_API_KEY"),
        streaming_callback: Optional[StreamingCallbackT] = None,
        api_base_url:
    Optional[
        str] = "https://api.openai-compat.model-serving.eu01.onstackit.cloud/v1",
        generation_kwargs: Optional[Dict[str, Any]] = None,
        *,
        timeout: Optional[float] = None,
        max_retries: Optional[int] = None,
        http_client_kwargs: Optional[Dict[str, Any]] = None)

创建 STACKITChatGenerator 类的实例。

参数:

  • model: 要使用的聊天补全模型的名称。
  • api_key: STACKIT API 密钥。
  • streaming_callback: 当从流中接收到新 token 时调用的回调函数。回调函数接受 StreamingChunk 作为参数。
  • api_base_url: STACKIT API 基础 URL。
  • generation_kwargs: 用于模型的其他参数。这些参数直接发送到 STACKIT 端点。一些支持的参数
  • 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:用于随机采样的种子。
  • timeout: STACKIT 客户端调用的超时时间。如果未设置,则默认为OPENAI_TIMEOUT 环境变量,或 30 秒。
  • max_retries: 在发生内部错误后联系 STACKIT 的最大重试次数。如果未设置,则默认为OPENAI_MAX_RETRIES 环境变量,或设置为 5。
  • http_client_kwargs:用于配置自定义的关键字参数字典httpx.Clienthttpx.AsyncClient。有关更多信息,请参阅 HTTPX 文档

STACKITChatGenerator.to_dict

def to_dict() -> Dict[str, Any]

将此组件序列化为字典。

返回值:

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

模块 haystack_integrations.components.embedders.stackit.document_embedder

STACKITDocumentEmbedder

一个使用 STACKIT 作为模型提供商计算 Document 嵌入的组件。每个 Document 的嵌入存储在Document 的 embedding 字段中。

使用示例

from haystack import Document
from haystack_integrations.components.embedders.stackit import STACKITDocumentEmbedder

doc = Document(content="I love pizza!")

document_embedder = STACKITDocumentEmbedder()

result = document_embedder.run([doc])
print(result['documents'][0].embedding)

# [0.017020374536514282, -0.023255806416273117, ...]

STACKITDocumentEmbedder.__init__

def __init__(
        model: str,
        api_key: Secret = Secret.from_env_var("STACKIT_API_KEY"),
        api_base_url:
    Optional[
        str] = "https://api.openai-compat.model-serving.eu01.onstackit.cloud/v1",
        prefix: str = "",
        suffix: str = "",
        batch_size: int = 32,
        progress_bar: bool = True,
        meta_fields_to_embed: Optional[List[str]] = None,
        embedding_separator: str = "\n",
        *,
        timeout: Optional[float] = None,
        max_retries: Optional[int] = None,
        http_client_kwargs: Optional[Dict[str, Any]] = None)

创建 STACKITDocumentEmbedder 组件。

参数:

  • api_key: STACKIT API 密钥。
  • model: 要使用的模型名称。
  • api_base_url: STACKIT API 基础 URL。有关更多详细信息,请参阅 STACKIT 文档
  • prefix: 添加到每个文本开头的字符串。
  • suffix: 添加到每个文本末尾的字符串。
  • batch_size: 一次编码的 Document 数量。
  • progress_bar: 是否显示进度条。在生产部署中禁用此选项有助于保持日志的整洁。
  • meta_fields_to_embed: 需要与 Document 文本一起进行嵌入的元字段列表。
  • embedding_separator: 用于将元字段连接到 Document 文本的分隔符。
  • timeout: STACKIT 客户端调用的超时时间。如果未设置,则默认为OPENAI_TIMEOUT 环境变量,或 30 秒。
  • max_retries: 在发生内部错误后联系 STACKIT 的最大重试次数。如果未设置,则默认为OPENAI_MAX_RETRIES 环境变量,或设置为 5。
  • http_client_kwargs:用于配置自定义的关键字参数字典httpx.Clienthttpx.AsyncClient。有关更多信息,请参阅 HTTPX 文档

STACKITDocumentEmbedder.to_dict

def to_dict() -> Dict[str, Any]

将组件序列化为字典。

返回值:

包含序列化数据的字典。

模块 haystack_integrations.components.embedders.stackit.text_embedder

STACKITTextEmbedder

一个使用 STACKIT 作为模型提供商嵌入字符串的组件。

使用示例

from haystack_integrations.components.embedders.stackit import STACKITTextEmbedder

text_to_embed = "I love pizza!"
text_embedder = STACKITTextEmbedder()
print(text_embedder.run(text_to_embed))

STACKITTextEmbedder.__init__

def __init__(
        model: str,
        api_key: Secret = Secret.from_env_var("STACKIT_API_KEY"),
        api_base_url:
    Optional[
        str] = "https://api.openai-compat.model-serving.eu01.onstackit.cloud/v1",
        prefix: str = "",
        suffix: str = "",
        *,
        timeout: Optional[float] = None,
        max_retries: Optional[int] = None,
        http_client_kwargs: Optional[Dict[str, Any]] = None)

创建 STACKITTextEmbedder 组件。

参数:

  • api_key: STACKIT API 密钥。
  • model: 要使用的 STACKIT 嵌入模型的名称。
  • api_base_url: STACKIT API 基础 URL。有关更多详细信息,请参阅 STACKIT 文档
  • prefix: 添加到每个文本开头的字符串。
  • suffix: 添加到每个文本末尾的字符串。
  • timeout: STACKIT 客户端调用的超时时间。如果未设置,则默认为OPENAI_TIMEOUT 环境变量,或 30 秒。
  • max_retries: 在发生内部错误后联系 STACKIT 的最大重试次数。如果未设置,则默认为OPENAI_MAX_RETRIES 环境变量,或设置为 5。
  • http_client_kwargs:用于配置自定义的关键字参数字典httpx.Clienthttpx.AsyncClient。有关更多信息,请参阅 HTTPX 文档

STACKITTextEmbedder.to_dict

def to_dict() -> Dict[str, Any]

将组件序列化为字典。

返回值:

包含序列化数据的字典。