prompt_package.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package prompt
  2. import (
  3. "data_ai/ul"
  4. "unicode/utf8"
  5. )
  6. // 分包判断-提问词
  7. func PromptIsPackageText(detail string) string {
  8. if utf8.RuneCountInString(detail) > ul.MaxLen {
  9. detail = string([]rune(detail)[:ul.MaxLen])
  10. }
  11. content := `
  12. 你是一名"招标工程师",拥有写标书及阅读理解公告的能力。请帮我判断下方公告中出现了几个项目:
  13. 注意:多个项目通常会以多个分包、多个标段的形式出现。业绩关联的项目要排除在外;
  14. json形式回答,急着要结果,避免解释要干脆利落:
  15. {
  16. "分包":"(是/否)",
  17. }
  18. 请回答我的问题,不要联想,不要无中生有,不要生成多余解释;
  19. 公告:` + detail + "\n结果JSON:"
  20. return content
  21. }
  22. func PromptMultiplePackageText(detail string) string {
  23. if utf8.RuneCountInString(detail) > ul.MaxLen {
  24. detail = string([]rune(detail)[:ul.MaxLen])
  25. }
  26. content := `
  27. 请根据提供的招投标文件内容,精确提取并整理以下信息,形成一个便于统计的JSON:
  28. {
  29. "分包信息":[{
  30. "包项目名称":(此处填写包项目名),
  31. "标段/包号":(形式如下但不限于:一标段、包一、I包、I标段,不可以填写项目编号),
  32. "中标单位":(中标角色包括但不限于成交供应商(注:当入围供应商/中标人存在多个,选择第一位为中标单位)、中标人、中标方、承包方、中选单位、服务商、第一|1名中标候选人(忽略其他中标候选人)。当流标显示流标,废标时显示废标。联合体投标时,请列出所有单位名称使用","分割),
  33. "中标金额":(中标金额数值及单位,多个金额时请进行计算。非单价,如果是单价,则等于单价*数量),
  34. "投标折扣系数":"",
  35. ]
  36. "包预算金额":(预算金额数值及单位),
  37. },
  38. ....
  39. ],
  40. # 下方打分要求:根据抽取内容与要求匹配程度打分0-100,默认100分,1、当原文中存在,未抽取到扣分。2、原文中存在多个,选择有歧义扣分。3、原文中不存在,未抽取到不扣分
  41. "分包信息score":,
  42. }
  43. 请务必确保每一条记录都地囊括了各分包项目的详细信息,并按照指定的JSON格式排列数据, 对于尚未确定或未在文件中明确提供的信息,请在相应value位置填写“无”,输出结果JSON即可
  44. 请回答我的问题,不要联想,不要无中生有;
  45. 招投标文件内容:` + detail + "\n结果JSON:"
  46. return content
  47. }