FIM补全
更新时间:2025-09-05
使用场景
FIM (Fill In the Middle) 补全场景下,用户可以提供输入的前缀和后缀,模型通过理解上下文来补全中间的内容。适用于代码补全、文本中间内容补全等场景。
使用方式
在 https://qianfan.baidubce.com/v2/completions
接口中使用,详情请查看:续写API。
请求示例
Plain Text
1{
2 "model": "deepseek-v3",
3 "prompt": "前缀内容",
4 "suffix": "后缀内容"
5}
支持模型列表
- deepseek-v3.1-250821
- deepseek-v3
- qwen3-coder-30b-a3b-instruct
使用示例
http请求示例
Plain Text
1curl --location 'https://qianfan.baidubce.com/v2/completions' \
2--header 'Content-Type: application/json' \
3--header 'Authorization: Bearer xxxxx' \
4--data '{
5 "model": "qwen3-coder-480b-a35b-instruct",
6 "prompt" : "def fib(a):",
7 "suffix" :" return fib(a-1) + fib(a-2)",
8 "stream": true,
9 "stream_options": {
10 "include_usage": true
11 }
12}'
openai sdk请求示例
示例代码
Python
1from openai import OpenAI
2
3client = OpenAI(
4 api_key="xxx",
5 base_url="https://qianfan.baidubce.com/v2"
6)
7response = client.completions.create(
8 model="deepseek-v3",
9 prompt=f"""
10def quick_sort(arr):
11 # 基本情况,如果数组长度小于等于 1,则返回数组
12 if len(arr) <= 1:
13 return arr
14 else:
15""",
16 suffix=f"""
17# 测试 quick_sort 函数
18arr = [3, 6, 8, 10, 1, 2, 1]
19sorted_arr = quick_sort(arr)
20print("Sorted array:", sorted_arr)
21""",
22 stream=True,
23 max_tokens=4096
24)
25
26for chunk in response:
27 print(chunk.choices[0].text, end='')
执行结果
Python
1def quick_sort(arr):
2 # 基本情况,如果数组长度小于等于 1,则返回数组
3 if len(arr) <= 1:
4 return arr
5 else:
6 # 选择基准值,这里选择数组的第一个元素
7 pivot = arr[0]
8 # 小于基准值的元素组成的子数组
9 less = [x for x in arr[1:] if x <= pivot]
10 # 大于基准值的元素组成的子数组
11 greater = [x for x in arr[1:] if x > pivot]
12 # 递归地对子数组进行快速排序,并将结果合并
13 return quick_sort(less) + [pivot] + quick_sort(greater)
14# 测试 quick_sort 函数
15arr = [3, 6, 8, 10, 1, 2, 1]
16sorted_arr = quick_sort(arr)
17print("Sorted array:", sorted_arr)
18# 执行结果
19Sorted array: [1, 1, 2, 3, 6, 8, 10]