前缀续写

1. 使用场景前缀续写中,用户提供希望输出的前缀信息,来让模型基于用户提供的前缀信息来补全其余的内容。 基于上述能力,模型能有更好的指令遵循能力,满足用户一些特定场景的指定格式的问题。

2. 使用方式在请求中添加

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

3. 支持模型列表目前大语言类模型 中非推理模型支持上述参数,推理模型中 Qwen3 系列,需要通过增加enable_thinking=true关闭推理后,支持上述参数,deepseek R1系列暂时不支持上述参数。

注意:支持的模型情况可能会发生变化,请查阅本文档了解最新支持的模型列表。

4. 使用示例下面是基于 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="deepseek-ai/DeepSeek-V2.5",
    messages=messages,
    extra_body={"prefix":"```python\n"}
)

print(response.choices[0].message.content)

FIM 补全

1. 使用场景FIM (Fill In the Middle) 补全中,用户提供希望输入的前后内容,模型来补全中间的内容,典型用于代码补全、文本中间内容补全等场景中。

2. 使用方式

2.1 在 chat/completions 接口中使用

{ 
    "model": "model info",
    "messages": "prompt message",
    "params": "params",
    "extra_body": {"prefix":"前缀内容", "suffix":"后缀内容"}
}

2.2 在 completions 接口中使用

{
    "model": "model info",
    "prompt": "前缀内容",
    "suffix": "后缀内容"
}

3. 支持模型列表

  • Deepseek 系列:
    • deepseek-ai/DeepSeek-V2.5
    • Pro/deepseek-ai/DeepSeek-R1
    • deepseek-ai/DeepSeek-R1
    • Pro/deepseek-ai/DeepSeek-V3
    • deepseek-ai/DeepSeek-V3
    • deepseek-ai/DeepSeek-R1-Distill-Qwen-32B
    • deepseek-ai/DeepSeek-R1-Distill-Qwen-14B
    • deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
    • Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
  • Qwen系列:
    • Qwen/Qwen2.5-Coder-7B-Instruct
    • Qwen/Qwen2.5-Coder-32B-Instruct

注意:支持的模型列表可能会发生变化,请查阅本文档了解最新支持的模型列表。

4. 使用示例

4.1 基于 OpenAI 的 chat.completions 接口使用FIM补全:

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="deepseek-ai/DeepSeek-V2.5",
    messages=messages,
    extra_body={
            "prefix": f"""
def quick_sort(arr):
    # 基本情况,如果数组长度小于等于 1,则返回数组
    if len(arr) <= 1:
        return arr
    else:
""",
            "suffix": f"""
# 测试 quick_sort 函数
arr = [3, 6, 8, 10, 1, 2, 1]
sorted_arr = quick_sort(arr)
print("Sorted array:", sorted_arr)
"""
    },
    stream=True,
    max_tokens=4096
)

for chunk in response:
    print(chunk.choices[0].delta.content, end='')

4.2 基于 OpenAI 的 completions 接口使用 FIM 补全:

client = OpenAI(
    api_key="您的 APIKEY", # 从https://cloud.siliconflow.cn/account/ak获取
    base_url="https://api.siliconflow.cn/v1"
)

response = client.completions.create(
    model="deepseek-ai/DeepSeek-V2.5",
    prompt=f"""
def quick_sort(arr):
    # 基本情况,如果数组长度小于等于 1,则返回数组
    if len(arr) <= 1:
        return arr
    else:
""",
    suffix=f"""
# 测试 quick_sort 函数
arr = [3, 6, 8, 10, 1, 2, 1]
sorted_arr = quick_sort(arr)
print("Sorted array:", sorted_arr)
""",
    stream=True,
    max_tokens=4096
)

for chunk in response:
    print(chunk.choices[0].text, end='')

《AI提示工程必知必会》为读者提供了丰富的AI提示工程知识与实战技能。《AI提示工程必知必会》主要内容包括各类提示词的应用,如问答式、指令式、状态类、建议式、安全类和感谢类提示词,以及如何通过实战演练掌握提示词的使用技巧;使用提示词进行文本摘要、改写重述、语法纠错、机器翻译等语言处理任务,以及在数据挖掘、程序开发等领域的应用;AI在绘画创作上的应用,百度文心一言和阿里通义大模型这两大智能平台的特性与功能,以及市场调研中提示词的实战应用。通过阅读《AI提示工程必知必会》,读者可掌握如何有效利用AI提示工程提升工作效率,创新工作流程,并在职场中脱颖而出。

Logo

更多推荐