@@ -547,7 +547,7 @@ public class HotakeCvInfoServiceImpl extends BaseServiceImpl implements IHotakeC
List < Map < String , String > > list = new LinkedList ( ) ;
Map < String , String > entity = new HashMap < > ( ) ;
entity . put ( " role " , " user " ) ;
entity . put ( " content " , " 从下面提供的文本中提取所有能识别到的简历信息, 只提取原文中存在的内容, 不要补充、不推测、不总结。需要提取的字段包括: name( 姓名或人名) 、phone( 电话号码) 、email( 电子邮件地址) 、experienceYear( 根据工作经验计算出来的工作年限) 、position( 岗位或者简历中自己期望的职位等) 、location( 地点或者地址、家庭住址) 、links( 所有链接地址) 、currentWork(当前工作公司)、about( 关于我/自我介绍) 、skills_tools( 关键资格( 许可证、注册/会员资格、认证) ) 、languages( 语言能力,主要就是Languages下面的语言) 、experience( 工作经历,除了title、company、location、durationStart、durationEnd,其他的都放到description里面,并且description里面要根据换行符分成不同的content),日期要拆分成开始时间(durationStart)和结束时间(durationEnd)) 、education( 教育经历,日期要拆分成开始时间(durationStart)和结束时间(durationEnd))。请将提取结果以结构化 JSON 格式返回,格式如下:{ \\ \" name \\ \" : \\ \" \\ \" , \\ \" phone \\ \" : \\ \" \\ \" , \\ \" currentWork \\ \" : \\ \" \\ \" , \\ \" position \\ \" : \\ \" \\ \" , \\ \" location \\ \" : \\ \" \\ \" , \\ \" email \\ \" : \\ \" \\ \" , \\ \" experienceYear \\ \" : \\ \" \\ \" , \\ \" links \\ \" : [{ \\ \" content \\ \" : \\ \" \\ \" }], \\ \" about \\ \" : \\ \" \\ \" , \\ \" skillsTools \\ \" : [{ \\ \" content \\ \" : \\ \" \\ \" }], \\ \" languages \\ \" : [{ \\ \" content \\ \" : \\ \" \\ \" }], \\ \" experience \\ \" : [{ \\ \" title \\ \" : \\ \" \\ \" , \\ \" company \\ \" : \\ \" \\ \" , \\ \" location \\ \" : \\ \" \\ \" , \\ \" durationStart \\ \" : \\ \" \\ \" , \\ \" durationEnd \\ \" : \\ \" \\ \" , \\ \" description \\ \" : [{ \\ \" content \\ \" : \\ \" \\ \" }]}], \\ \" education \\ \" : [{ \\ \" degree \\ \" : \\ \" \\ \" , \\ \" institution \\ \" : \\ \" \\ \" , \\ \" durationStart \\ \" : \\ \" \\ \" , \\ \" durationEnd \\ \" : \\ \" \\ \" }] }。字段不存在则返回 null 或空数组。只返回标准可解析的 JSON结构 ,不要多余的```json等信息, 不要解释说明, 不要改写内容。以下为待处理文本: " + contents ) ;
entity . put ( " content " , " 从下面提供的文本中提取所有能识别到的简历信息, 只提取原文中存在的内容, 不要补充、不推测、不总结。需要提取的字段包括: name( 姓名或人名) 、phone( 电话号码) 、email( 电子邮件地址) 、experienceYear( 根据工作经验计算出来的工作年限) 、position( 岗位或者简历中自己期望的职位等) 、location( 地点或者地址、家庭住址) 、links( 所有链接地址) 、currentWork(当前工作公司)、about( 关于我/自我介绍) 、skills_tools( 关键资格( 许可证、注册/会员资格、认证) ) 、languages( 语言能力,主要就是Languages下面的语言) 、experience( 工作经历,除了title、company、location、durationStart、durationEnd,其他的都放到description里面,并且description里面要根据换行符分成不同的content),日期要拆分成开始时间(durationStart)和结束时间(durationEnd)) 、education( 教育经历,日期要拆分成开始时间(durationStart)和结束时间(durationEnd))。请将提取结果以结构化 JSON 格式返回,格式如下:{ \\ \" name \\ \" : \\ \" \\ \" , \\ \" phone \\ \" : \\ \" \\ \" , \\ \" currentWork \\ \" : \\ \" \\ \" , \\ \" position \\ \" : \\ \" \\ \" , \\ \" location \\ \" : \\ \" \\ \" , \\ \" email \\ \" : \\ \" \\ \" , \\ \" experienceYear \\ \" : \\ \" \\ \" , \\ \" links \\ \" : [{ \\ \" content \\ \" : \\ \" \\ \" }], \\ \" about \\ \" : \\ \" \\ \" , \\ \" skillsTools \\ \" : [{ \\ \" content \\ \" : \\ \" \\ \" }], \\ \" languages \\ \" : [{ \\ \" content \\ \" : \\ \" \\ \" }], \\ \" experience \\ \" : [{ \\ \" title \\ \" : \\ \" \\ \" , \\ \" company \\ \" : \\ \" \\ \" , \\ \" location \\ \" : \\ \" \\ \" , \\ \" durationStart \\ \" : \\ \" \\ \" , \\ \" durationEnd \\ \" : \\ \" \\ \" , \\ \" description \\ \" : [{ \\ \" content \\ \" : \\ \" \\ \" }]}], \\ \" education \\ \" : [{ \\ \" degree \\ \" : \\ \" \\ \" , \\ \" institution \\ \" : \\ \" \\ \" , \\ \" durationStart \\ \" : \\ \" \\ \" , \\ \" durationEnd \\ \" : \\ \" \\ \" }] }。字段不存在则返回 null 或空数组。只返回标准可解析的 JSON结构 ,不要多余的```json等信息, 不要解释说明, 不要改写内容,其中日期字段要转换格式为:yyyy-MM 。以下为待处理文本: " + contents ) ;
//根据AI做
list . add ( entity ) ;
String resultCv = chatGPTClient . handleAiChat ( JSONUtil . toJsonStr ( list ) , " JX " ) ;