|
|
from config import *
|
|
|
from zhipuai import ZhipuAI
|
|
|
|
|
|
def create_chat_completion(messages, model=MODEL):
|
|
|
"""
|
|
|
Create a chat completion using the provided messages and model.
|
|
|
|
|
|
Parameters:
|
|
|
messages (list): A list of message dictionaries to pass to the model.
|
|
|
model (str): The model name to use.
|
|
|
|
|
|
Returns:
|
|
|
response (dict): The response from the chat completion endpoint.
|
|
|
"""
|
|
|
response = client.chat.completions.create(
|
|
|
model=model,
|
|
|
stream=False,
|
|
|
messages=messages,
|
|
|
temperature=0,
|
|
|
seed=42,
|
|
|
)
|
|
|
return response
|
|
|
|
|
|
def create_chat_completion_change_zhushi(fact_info, table_info, model=MODEL):
|
|
|
few_shot_examples = """
|
|
|
user:已查询获得事实: ('预处理程序通过表格:ConstantDB.SecuMain 查询到以下内容:\n [\n {\n "InnerCode": 86721,\n "CompanyCode": 98001,\n "SecuCode": "601128"}\n] \n', ['ConstantDB.SecuMain'])
|
|
|
获取的表结构如下:{'数据表名': 'AStockOperationsDB.LC_Staff', '数据表结构': '\n列名 注释 数据示例 \n\nID ID 619397672060 \nCompanyCode 公司代码 159 \nEndDate 日期 2019-06-30 12:00:00.000]}
|
|
|
assistant:{'数据表名': 'AStockOperationsDB.LC_Staff', '数据表结构': '\n列名 注释 数据示例 \n\nID ID 619397672060 \nCompanyCode 公司代码 98001 \nEndDate 日期 2019-06-30 12:00:00.000]}
|
|
|
"""
|
|
|
|
|
|
template = """
|
|
|
你将根据“已查询获得事实”,更新“获取的表结构”里对应的数据示例列且对应的行的值,没有则不更新。只输出更新后的表结构,不需要额外解释和过程。
|
|
|
|
|
|
以下是几个示例:{few_shot_examples}
|
|
|
已查询获得事实: {fact_info}
|
|
|
获取的表结构如下:{table_info}
|
|
|
"""
|
|
|
def format_prompt(few_shot_examples, fact_info, table_info, template):
|
|
|
return template.format(few_shot_examples=few_shot_examples,
|
|
|
fact_info=fact_info,
|
|
|
table_info=table_info)
|
|
|
|
|
|
formatted_prompt = format_prompt(few_shot_examples, fact_info, table_info, template)
|
|
|
messages = [
|
|
|
{'role': 'system', 'content': '你将根据“已查询获得事实”,更新“获取的表结构”里对应的数据示例列且对应的行的值,没有则不更新。只输出更新后的表结构,不需要额外解释和过程。'},
|
|
|
{'role': 'user', 'content': formatted_prompt}
|
|
|
]
|
|
|
response = client.chat.completions.create(
|
|
|
model=model,
|
|
|
stream=False,
|
|
|
messages=messages,
|
|
|
temperature=0,
|
|
|
seed=42,
|
|
|
)
|
|
|
result = response.choices[0].message.content
|
|
|
return result
|