硅基流动 2024年10月28日
SiliconCloud API更新:支持Prefix/FIM,增强模型生成控制能力
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Prefix/FIM(Fill-in-the-Middle)是SiliconCloud平台模型Flux.1中常用的功能,主要用于提高生成文本的准确性、简化生成任务的复杂性以及增强生成文本的可控性,帮助开发者更精确地控制生成文本的内容和结构。Prefix(前缀)续写允许用户提供希望输出的前缀信息,让模型基于用户提供的前缀信息来补全其余的内容。而FIM(中间填充)补全则允许用户提供希望输入的前缀和后缀内容,让模型在文本生成过程中插入一段中间文本,包括特定的信息或格式,主要用于代码补全、文本中间内容补全等场景。SiliconCloud平台上的所有大语言类模型都支持Prefix,部分模型如Deepseek系列和Qwen系列支持FIM。

🤖 Prefix(前缀)续写:用户提供希望输出的前缀信息,让模型基于用户提供的前缀信息来补全其余的内容。例如,生成一封包含特定信息的邮件,邮件内容需要包含“项目A”的进展情况,用户可以提供前缀“尊敬的客户,以下是项目A的最新进展情况。”,模型就会基于此前缀信息来补全邮件内容。

🤖 FIM(中间填充)补全:用户提供希望输入的前缀和后缀内容,让模型在文本生成过程中插入一段中间文本,包括特定的信息或格式。例如,生成一份包含特定格式的项目报告,报告需要包含“项目B”的成本分析,用户可以提供前缀“项目B的成本分析报告:”和后缀“项目B的成本分析如下:”,模型就会在两者之间插入一段文本,包含项目B的成本分析内容。

🤖 使用方式:Prefix的使用方式是在请求中添加extra_body={'prefix':'希望的前缀内容'},FIM的使用方式是在请求中添加extra_body={'prefix':'希望的前缀', 'suffix':'希望的后缀信息'}。

🤖 适用场景:Prefix/FIM可广泛应用于各种文本生成场景,包括邮件生成、报告生成、代码补全、文本中间内容补全等。

🤖 支持模型:目前SiliconCloud平台上的所有大语言类模型都支持Prefix,部分模型如Deepseek系列和Qwen系列支持FIM。

原创 SiliconCloud 2024-09-30 08:04 辽宁

精确控制大模型生成文本的内容和结构。

(由SiliconCloud平台模型Flux.1生成)

Prefix/FIM(Fill-in-the-Middle)是一种在大模型API中常用的功能,主要用于提高生成文本的准确性、简化生成任务的复杂性以及增强生成文本的可控性,帮助开发者更精确地控制生成文本的内容和结构。

其中,在Prefix(前缀)续写中,用户提供希望输出的前缀信息,来让模型基于用户提供的前缀信息来补全其余的内容FIM(中间填充)补全中,用户提供希望输入的前缀和后缀内容,让模型在文本生成过程中插入一段中间文本,包括特定的信息或格式,主要用于代码补全、文本中间内容补全等场景。

目前,硅基流动SiliconCloud上的所有大语言类模型都支持Prefix。

以下模型支持FIM:

注意:支持的模型情况可能变动,请查阅SiliconCloud文档了解最新支持的模型列表。

适用场景


示例1:生成包含特定信息的邮件


任务: 生成一封包含特定信息的邮件,邮件内容需要包含“项目A”的进展情况。


Prefix: "尊敬的客户,以下是项目A的最新进展情况。"


FIM: "项目A的进展情况如下:"


生成结果:

尊敬的客户,以下是项目A的最新进展情况。项目A的进展情况如下:我们已经完成了需求分析阶段,并计划在下个月开始开发工作。


示例2:生成包含特定格式的报告

任务: 生成一份包含特定格式的项目报告,报告需要包含“项目B”的成本分析。

Prefix: "项目B的成本分析报告:"

FIM: "项目B的成本分析如下:"

生成结果:

项目B的成本分析报告。项目B的成本分析如下:我们已经完成了初步的成本估算,预计总成本为100万美元,其中包括开发成本、测试成本和维护成本。


使用方式


Prefix使用方式


在请求中添加

extra_body={"prefix":"希望的前缀内容"}


使用示例

下面是基于OpenAI库使用前缀续写的例子:

client = OpenAI(    api_key="您的 APIKEY", # 从https://cloud.siliconflow.cn/account/ak获取    base_url="https://api.siliconflow.cn/v1") messages = [    {"role": "user", "content": "Please write quick sort code"},]
response = client.chat.completions.create( model="", messages=messages, extra_body={"prefix":"```python\n"})
print(response)


注意:请合理设置max_token,防止Prefix字符串被中断。


FIM使用方式


在请求中添加

extra_body={"prefix":"希望的前缀""suffix":"希望的后缀信息"}


下面是基于OpenAI库使用前缀续写的例子:

client = OpenAI(    api_key="您的 APIKEY", # 从https://cloud.siliconflow.cn/account/ak获取    base_url="https://api.siliconflow.cn/v1") messages = [    {"role": "user", "content": "Please write quick sort code"},]
response = client.chat.completions.create( model="", messages=messages, extra_body= { "prefix": f"```def quick_sort(arr): # Base case: if the array has 0 or 1 element, it's already sorted if len(arr) <= 1: return arr ", "suffix":"return quick_sort(left) + middle + quick_sort(right)```" })
print(response)


注意:请合理设置max_token,防止前缀和后缀字符串超过最大输出token长度。

近期更新

• SiliconCloud上线DeepSeek-V2.5
• SiliconCloud 模型微调及托管抢先体验
 SiliconCloud上线Qwen2.5-Coder/Math
• SiliconCloud上线Qwen2.5-7B/14B/32B/72B
• SiliconCloud API更新:FLUX.1收费版不限流
• SiliconCloud API更新:支持Function Calling

让超级产品开发者实现“Token自由”
邀请好友体验SiliconCloud
狂送2000万Token/人
邀请越多,Token奖励越多
siliconflow.cn/zh-cn/siliconcloud
扫码加入用户交流群


阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

大模型 Prefix FIM 文本生成 SiliconCloud
相关文章