1. 使用场景
在 FIM (Fill In the Middle) 补全任务中,用户输入希望保留的前缀和后缀内容,模型根据这些提示生成中间缺失的部分。这种补全方式常见于代码自动补全、文本中段生成等应用场景。2. 使用方式
在 chat/completions 接口中使用,只需要将model id
设置为模型广场上的模型 id 即可,在模块卡片的右上角复制。
model id
设置为模型广场上的模型 id 即可,在模块卡片的右上角复制。
{
"model": "model id",
"messages": "prompt",
"params": "params",
"extra_body": {"prefix":"前缀内容", "suffix":"可选的后缀内容"}
}
{
"model": "model info",
"prompt": "前缀内容",
"suffix": "后缀内容"
}
from openai import OpenAI
client = OpenAI(
api_key="sk-***", # 换成你在 AiHubMix 生成的密钥
base_url="https://aihubmix.com/v1"
)
messages = [
{"role": "user", "content": "Please write a sum function code"},
]
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=messages,
extra_body={
"prefix": f"""
def sum_numbers(numbers):
# 如果列表为空,返回 0
if not numbers:
return 0
""",
"suffix": f"""
# 测试
numbers = [1, 2, 3, 4, 5]
result = sum_numbers(numbers)
print("Sum of numbers:", result)
"""
},
stream=True,
max_tokens=4096
)
for chunk in response:
if chunk.choices and len(chunk.choices) > 0 and chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end='')
client = OpenAI(
api_key="Aihubmix APIKEY",
base_url="https://aihubmix.com/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='')