查看原文
其他

SiliconCloud API更新:支持Prefix/FIM,增强模型生成控制能力

SiliconCloud 硅基流动
2024-09-30
(由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

扫码加入用户交流群

继续滑动看下一个
硅基流动
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存