File size: 1,563 Bytes
b68dc3f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from skill_repository import get_skill
from openai import OpenAI
import json

def manage_dialogue(user_input, skills):
    client = OpenAI(api_key="sk-6d543a8d079d4cee83f2bda58a6469d1", base_url="https://api.deepseek.com")
    prompt = f"你是一个具有意图识别能力的助手。你需要仔细判断用户的输入中是否包含命令,当你检测到用户的命令时并且这些命令存在于命令库中时,请严格按照以下格式返回相应的传输指令代码。否则,请进行正常对话。以下是命令库中的全部命令(triggers)及其对应的动作(action)指令代码:{skills} \n严格要求:1. 只有当用户输入匹配命令库中的命令时,才返回相应的指令代码。2. 返回格式必须严格遵守:S:{{指令代码}}。不能有任何拼写或格式错误。3. 当用户输入未包含任何命令时,进行正常对话。\n示例:用户输入:能帮我重启系统吗? \n输出:S:CMD_RESTART \n用户输入:今天天气怎么样? \n 输出:今天天气很好,可能会有阵雨。\n 现在,请根据上述规则严格响应以下用户输入:"
    response = client.chat.completions.create(
        model="deepseek-chat",
        messages=[
            {"role": "system", "content": f"{prompt}"},
            {"role": "user", "content": f"{user_input}"},
        ],
        stream=False
    )
    answer = response.choices[0].message.content
    print(answer)
    if(answer[0]=='S'):
        return "任务正在执行中...", answer[2:]
    else:
        return answer, None