You need to enable JavaScript to run this app.
AI 数据湖服务

AI 数据湖服务

复制全文
文本生成
文本生成(豆包/DeepSeek 系列模型)
复制全文
文本生成(豆包/DeepSeek 系列模型)

算子介绍

描述

大模型文本生成专用处理器(豆包/DeepSeek)

核心功能

  • 纯文本场景优化:根据用户输入文本数据,自动构建符合模型规范的message结构
  • 输入简化机制:原生支持str类型输入,自动封装为{role: user, content: text}格式
  • 多任务支持:翻译/总结/问答等NLP场景开箱即用
  • 双提示词系统:
    • system_content:系统级行为指导(如翻译风格控制)
    • prompt:用户级指令模板(支持{query}占位符替换)

输入输出规范

  • 输入格式:纯文本数据
  • 输出格式:
    • 默认模式:str类型生成结果
    • 诊断模式:设置环境变量 LAS_LLM_FINISH_REASON_CHECK=true,返回完整的生成结果和模型结果结束原因:
      • llm_result:str类型,生成结果
      • finish_reason:str类型,模型结果结束原因,取值范围:stop、length、content_filter

Daft 调用

算子参数

输入

输入列名

说明

raw_text

包含待处理文本数据。类型为 str

输出

(默认情况下)当环境变量LAS_LLM_FINISH_REASON_CHECK=false时,返回字段类型为str。
当环境变量LAS_LLM_FINISH_REASON_CHECK=true时,返回字段类型为struct,包含以下字段:

  • llm_result: 模型输出结果
  • finish_reason: 模型输出结束原因

参数

如参数没有默认值,则为必填参数

参数名称

类型

默认值

描述

model

str

模型名称 支持的模型有:豆包模型和DeepSeek模型。 示例 doubao-1.5-lite-32k

version

str or None

模型版本 输入模型对应的版本信息。示例 250115

inference_type

str

batch

推理类型,支持在线推理和批量推理。默认值为batch,即采用批量推理 - online: 采用方舟平台提供的在线推理模块进行推理 - batch:采用方舟平台提供的批量推理模块进行推理

max_tokens

int or None

模型回复最大长度(单位 token),输入输出总长度受模型上下文限制

max_completion_tokens

int or None

模型生成的 token 数量的上限,包含思维链内容(reasoning_content)与回答内容(content),不包含传入的信息(messages)。 超出后,停止模型输出思维链内容及模型回答,并返回finish_reason字段为length。

stop

list or None

模型遇到 stop 字段所指定的字符串时将停止继续生成,这个词语本身不会输出。 最多支持 4 个字符串。例如 ["你好", "天气"]

frequency_penalty

float

0

频率惩罚系数 频率惩罚系数。如果值为正,会根据新 token 在文本中的出现频率对其进行惩罚,从而降低模型逐字重复的可能性。 取值范围 [-2.0, 2.0],默认0

presence_penalty

float

0

存在惩罚系数 存在惩罚系数。如果值为正,会根据新 token 到目前为止是否出现在文本中对其进行惩罚,从而增加模型谈论新主题的可能性。 取值范围为 [-2.0, 2.0]。默认值 0

temperature

float

1

采样温度 采样温度。控制了生成文本时对每个候选词的概率分布进行平滑的程度。 - 当取值为 0 时模型仅考虑对数概率最大的一个 token。 - 较高的值(如 0.8)会使输出更加随机,而较低的值(如 0.2)会使输出更加集中确定。 通常建议仅调整 temperature 或 top_p 其中之一,不建议两者都修改。取值范围为 [0, 2]。默认值 1

top_p

float

0.7

核采样概率阈值 核采样概率阈值。模型会考虑概率质量在 top_p 内的 token 结果。 当取值为 0 时模型仅考虑对数概率最大的一个 token。 0.1 意味着只考虑概率质量最高的前 10% 的 token,取值越大生成的随机性越高,取值越低 生成的确定性越高。通常建议仅调整 temperature 或 top_p 其中之一,不建议两者都修改。 默认值 0.7

logit_bias

dict or None

调整指定 token 在模型输出内容中出现的概率,使模型生成的内容更加符合特定的偏好。 logit_bias 字段接受一个 map 值,其中每个键为词表中的 token ID(使用 tokenization 接口获取),每个值为该 token 的偏差值,取值范围为 [-100, 100]。 -1 会减少选择的可能性,1 会增加选择的可能性;-100 会完全禁止选择该 token,100 会导致仅可选择该 token。 该参数的实际效果可能因模型而异。

tools

list or None

待调用工具的列表,模型返回信息中可包含。当您需要让模型返回待调用工具时,需要配置该结构体。

llm_config

dict or None

自定义LLM配置 除了上述参数,其他参数会透传给模型。上述参数会覆盖llm_config中的值

request_timeout

int

1200

超时时间 单次请求的超时时间(秒)

max_concurrency

int

100

并发数 每个进程的最大并发数

system_content

str or None

系统提示内容 系统提示内容,以system角色作为模型的输入

prompt

str or None

用户提示词, 用户提示词,用于指导模型的行为。配置该字段时,会和输入的文本拼接,以user角色方式输入给模型。同时,该字段也可以配置为{query},此时,输入的文本会替换掉该字段.

调用示例

下面的代码展示了如何使用 daft访问火山方舟 文本生成 模型进行批量推理。请注意每次大模型推理结果可能不同。

from __future__ import annotations

import os

import daft
from daft import col
from daft.las.functions.ark_llm.ark_llm_text_generate import ArkLLMTextGenerate
from daft.las.functions.udf import las_udf

if os.getenv("DAFT_RUNNER", "native") == "ray":
    import logging

    import ray

    def configure_logging():
        logging.basicConfig(
            level=logging.INFO,
            format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
            datefmt="%Y-%m-%d %H:%M:%S.%s".format(),
        )
        logging.getLogger("tracing.span").setLevel(logging.WARNING)
        logging.getLogger("daft_io.stats").setLevel(logging.WARNING)
        logging.getLogger("DaftStatisticsManager").setLevel(logging.WARNING)
        logging.getLogger("DaftFlotillaScheduler").setLevel(logging.WARNING)
        logging.getLogger("DaftFlotillaDispatcher").setLevel(logging.WARNING)

    ray.init(dashboard_host="0.0.0.0", runtime_env={"worker_process_setup_hook": configure_logging})
    daft.context.set_runner_ray()

daft.set_execution_config(min_cpu_per_task=0)

if __name__ == "__main__":
    # 需配置环境变量 LAS_API_KEY : LAS_API_KEY 通过在 LAS 服务页面上创建获取
    queries = {
        "query": [
            "中国的首都在哪里",
            "十字花科植物有哪些",
        ]
    }

    ds = daft.from_pydict(queries)
    ds = ds.with_column(
        "llm_result",
        las_udf(
            ArkLLMTextGenerate,
            construct_args={
                "model": "doubao-1.5-pro-32k",
                "inference_type": "online",
            },
        )(col("query")),
    )
    ds.show()

    #  输出(每次大模型推理结果可能不同)
    # ╭────────────────────┬───────────────────────────────────────╮
    # │ query              ┆ llm_result                            │
    # │ ---                ┆ ---                                   │
    # │ Utf8               ┆ Utf8                                  │
    # ╞════════════════════╪═══════════════════════════════════════╡
    # │ 中国的首都在哪里      ┆ 中国的首都是北京。                       │
    # │                    ┆                                       │
    # │                    ┆ 北京是中国的政治中心、文化中心、国际…       │
    # ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
    # │ 十字花科植物有哪些    ┆ 十字花科植物种类繁多,常见的有:           │
    # │                    ┆ 1. **蔬菜类**                          │
    # │                    ┆  …                                    │
    # ╰────────────────────┴───────────────────────────────────────╯
最近更新时间:2026.01.08 19:14:54
这个页面对您有帮助吗?
有用
有用
无用
无用