From 6a06c6ef8fd7f1949d6b22dea25a7359e2c7298d Mon Sep 17 00:00:00 2001 From: kaede10 Date: Fri, 20 Oct 2023 15:45:41 +0800 Subject: [PATCH] get message template from config.yaml --- pr-message/src/config/init_config.py | 5 +++-- pr-message/src/gpt/chat_gpt.py | 16 ++-------------- pr-message/src/gpt/gpt.py | 6 +++++- 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/pr-message/src/config/init_config.py b/pr-message/src/config/init_config.py index 71fefb6..f3138dd 100644 --- a/pr-message/src/config/init_config.py +++ b/pr-message/src/config/init_config.py @@ -1,4 +1,3 @@ -import os import yaml from gitee.gitee_api import GiteeApiCaller from gpt.gpt import Gpt @@ -16,7 +15,9 @@ def init_config(path): config["gpt"]["max_token_length"], config["gpt"]["encoding_name"], config["gpt"]["url"], - config["gpt"]["limit"] + config["gpt"]["limit"], + config["gpt"]["system_message"], + config["gpt"]["summary_message"] ) Diff_Prompt.init_config_attr() diff --git a/pr-message/src/gpt/chat_gpt.py b/pr-message/src/gpt/chat_gpt.py index 5be5e4a..c600f9f 100644 --- a/pr-message/src/gpt/chat_gpt.py +++ b/pr-message/src/gpt/chat_gpt.py @@ -11,15 +11,7 @@ class ChatGpt(Gpt): "messages": [ { "role": "system", - "content": ( - "您将充当 git 中提交消息的作者。" - "您的任务是在传统git提交中创建清晰且全面的提交消息,详细清晰的解释更改内容。 我将向您发送“git diff --staged”命令的输出,然后您将以\"+\"和\"-\"开头的行内容转换为提交消息。" - "行长度不得超过 74 个字符。" - "用中文回答。" - "使用如下模板:" - "修改的文件列表\n" - "- 修改细节\n" - ), + "content": Gpt.system_message, }, { "role": "user", @@ -45,11 +37,7 @@ class ChatGpt(Gpt): "messages": [ { "role": "system", - "content": ("您的任务是高度概括总结我给您的输入内容。" - "不输出修改的文件列表" - "不超过5行,每行不得超过 74 个字符" - "用中文回答。" - ), + "content": Gpt.summary_message, }, { "role": "user", diff --git a/pr-message/src/gpt/gpt.py b/pr-message/src/gpt/gpt.py index ecb3855..74ab872 100644 --- a/pr-message/src/gpt/gpt.py +++ b/pr-message/src/gpt/gpt.py @@ -7,13 +7,17 @@ class Gpt(metaclass=ABCMeta): encoding_name = "" url = "" limit = 5 + system_message = "" + summary_message = "" - def init_config_attr(use, max_token_length, encoding_name, url, limit): + def init_config_attr(use, max_token_length, encoding_name, url, limit, system_message, summary_message): Gpt.use = use Gpt.max_token_length = max_token_length Gpt.encoding_name = encoding_name Gpt.url = url Gpt.limit = limit + Gpt.system_message = system_message + Gpt.summary_message = summary_message @abstractmethod def get_answer(prompt): -- Gitee