You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Hugging Face中为Bloom模型传入系统消息与文件提示词

适配Bloom模型实现OpenAI双输入逻辑方案

OpenAI的process_gpt函数通过ChatCompletion接口支持系统消息(system_msg)和用户文件提示词(file_prompt)的双输入结构,但Bloom是纯文本生成模型,无内置角色消息机制,需通过手动拼接提示词实现等价逻辑,具体方案如下:

核心思路

Bloom模型依赖纯文本提示进行续写,需将OpenAI的双角色消息转化为单一提示文本,明确告知模型系统指令与用户需求。

实现步骤

  • 调整函数参数:让process_bloom接收system_msg和file_prompt两个输入参数
  • 拼接提示文本:将系统指令与用户提示词组合成符合生成逻辑的文本,示例格式可参考:
    {system_msg}
    
    用户输入:{file_prompt}
    
    请生成可解析为知识图谱的输出:
    
  • 修正异常处理:修复原代码中异常打印和错误返回的语法问题

修改后的完整代码

def process_bloom(system_msg, file_prompt):
    try:
        # 拼接双输入为Bloom可识别的提示文本
        prompt = f"{system_msg}\n\n用户输入:{file_prompt}\n\n请生成可解析为知识图谱的输出:"
        generator = pipeline('text-generation', model=model, tokenizer=tokenizer)
        # 与OpenAI逻辑对齐,设置temperature=0保证输出确定性
        nlp_results = generator(
            prompt,
            max_length=2000,
            temperature=0,
            truncation=True
        )
        nlp_results = nlp_results[0]['generated_text']
        # 可选:提取生成结果中对应输出部分(若提示格式导致前缀包含输入文本)
        # nlp_results = nlp_results.split("请生成可解析为知识图谱的输出:")[-1].strip()
        return nlp_results
    except Exception as e:
        print(f'Error processing bloom: {e}')
        return '{"error": "Failed to process bloom"}'

补充说明

  • 提示文本格式可根据Bloom模型的微调习惯调整,确保模型能正确识别系统指令与用户需求的边界
  • 生成参数(如max_length、temperature)可与OpenAI的设置对齐,保持输出风格一致
  • 若生成结果包含提示前缀,可通过字符串分割提取纯输出内容

内容的提问来源于stack exchange,提问作者mchd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 20:17:51