maxframe.learn.contrib.llm.text.generate#

maxframe.learn.contrib.llm.text.generate(data, model: TextGenLLM, prompt_template: List[Dict[str, Any]], params: Dict[str, Any] | None = None, **kw)[源代码]#

使用指定的文本语言模型,基于给定的数据和提示模板生成文本。

参数:
  • data (DataFrame or Series) -- 用于生成的输入数据。可以是包含待处理文本的 maxframe DataFrame、Series。

  • model (TextLLM) -- 用于文本生成的语言模型实例。

  • prompt_template (List[Dict[str, str]]) -- 包含对话消息模板的字典。使用 {col_name} 作为占位符来引用输入数据中的列数据。通常格式为 [{"role": "user", "content": "{query}"}],与 openai api 模式一致。

  • params (Dict[str, Any], optional) -- 用于生成配置的附加参数,默认为 None。可以包括 temperature、max_tokens 等设置。

返回:

生成文本的原始响应和成功状态。如果成功状态为 False,则生成的文本将返回错误信息。

返回类型:

DataFrame

示例

>>> from maxframe.learn.contrib.llm.models.managed import ManagedTextGenLLM
>>> import maxframe.dataframe as md
>>>
>>> # Initialize the model
>>> llm = ManagedTextGenLLM(name="Qwen3-0.6B")
>>>
>>> # Prepare prompt template
>>> messages = [
...     {
...         "role": "user",
...         "content": "Help answer following question: {query}",
...     },
... ]
>>> # Create sample data
>>> df = md.DataFrame({"query": ["What is machine learning?"]})
>>>
>>> # Generate response
>>> result = generate(df, llm, prompt_template=messages)
>>> result.execute()