Explorar el Código

知识库插入模版

李富豪 hace 1 año
padre
commit
3f355f3a7f
Se han modificado 2 ficheros con 9 adiciones y 16 borrados
  1. 2 3
      app/client/config.ts
  2. 7 13
      app/client/platforms/bigmodel.ts

+ 2 - 3
app/client/config.ts

@@ -4,8 +4,7 @@ export const bigModelApiKey = '20480a1ad76c4d9e0a168206a25f9614.bUjEVNXHpgY0H0GH
 // 知识库ID
 export const knowledgeId = '1822866230839840768';
 
-// 模型面具,对应BigModel的提示词。
-export const mask = {
-  enabled: true,// 是否开启
+// 知识库模板
+export const template = {
   content: '背景资料:\n\n\"\"\n{{ knowledge}}\n\"\"\n\n你是建科工程咨询有限公司的校园招聘小助手“建科小K”,请根据背景资料回答同学们提出的校园招聘问题,要求如下:\n1.从背景资料中,寻找问题对应的答案;\n2.时刻牢记,如果无法从背景资料中找到问题的答案原文,请输出“亲爱的同学,针对这个问题,我的知识库里没有相关的信息。其他相关资讯,可前往企业校招子站、空中宣讲会页面,或关注我司微信公众号,并感谢大家对我们的关注和支持!”;\n3.如果你的回答与背景资料的原文不一致请重新输出,以确保你的答案与背景资料原文一致;\n4.不允许在答案中添加编造成分;\n5.使用“友好、礼貌、条理清晰”的风格;\n6.严格按照格式输出,仅输出问题的答案,不要输出额外内容,同学如果问了多个问题,请清晰地组织你的回答;\n7.不要回答有损本公司,即建科工程咨询有限公司,的问题;\n8.你只能回答与招聘有关联的问题,与招聘完全无关的问题直接回答“亲爱的同学,针对这个问题,我的知识库里没有相关的信息。其他相关资讯,可前往企业校招子站、空中宣讲会页面,或关注我司微信公众号,并感谢大家对我们的关注和支持!”;\n9.如果同学跟你打招呼(例如说你好、hi、hello、你好呀),请你有礼貌地同样打招呼,并且邀请同学继续提问;\n10.直接回答同学即可,无需说出你的思考过程,或者你参考了什么资料;\n11.务必使用分点来让思路更加清晰,例如可以使用“*”“-”或数字符号来进行分点回答;\n12. 你的从资料中总结的回答必须完整,不需要精简、不能遗漏;\n\n内容问题:{{question}}\n答案:',
 }

+ 7 - 13
app/client/platforms/bigmodel.ts

@@ -13,7 +13,7 @@ import {
 } from "@fortaine/fetch-event-source";
 import { prettyObject } from "@/app/utils/format";
 import { getMessageTextContent } from "@/app/utils";
-import { bigModelApiKey, knowledgeId, mask } from "../config";
+import { bigModelApiKey, knowledgeId, template } from "../config";
 
 export class BigModelApi implements LLMApi {
   path(): string {
@@ -26,22 +26,15 @@ export class BigModelApi implements LLMApi {
       content: getMessageTextContent(v),
     }));
 
-    // if (messages.length % 2 === 0) {
-    //   messages.unshift({
-    //     role: "user",
-    //     content: " ",
-    //   });
-    // }
-
-    const shouldStream = true;
-
-    if (mask.enabled) {
+    if (messages.length % 2 === 0) {
       messages.unshift({
         role: "user",
-        content: mask.content,
-      })
+        content: " ",
+      });
     }
 
+    const shouldStream = true;
+
     // 通用大模型参数
     const requestPayload: any = {
       messages: messages,
@@ -54,6 +47,7 @@ export class BigModelApi implements LLMApi {
           type: 'retrieval', // 工具类型为检索
           retrieval: {
             knowledge_id: knowledgeId,// 知识库ID
+            prompt_template: template.content,
           },
         },
       ],