当前位置: 首页 > news >正文

农业门户网站模板注册网站会不会有问题

农业门户网站模板,注册网站会不会有问题,百度指数在线查询工具,苏州代理注册公司哪家好一、ChatGPT结合知识图谱 上篇文章对医疗数据集进行了整理#xff0c;并写入了知识图谱中#xff0c;本篇文章将结合 ChatGPT 构建基于知识图谱的问答应用。 下面是上篇文章的地址#xff1a; ChatGPT结合知识图谱构建医疗问答应用 (一) - 构建知识图谱 这里实现问答的流程…一、ChatGPT结合知识图谱 上篇文章对医疗数据集进行了整理并写入了知识图谱中本篇文章将结合 ChatGPT 构建基于知识图谱的问答应用。 下面是上篇文章的地址 ChatGPT结合知识图谱构建医疗问答应用 (一) - 构建知识图谱 这里实现问答的流程如下所示 二、问答流程构建 opencypher_llm.py 根据问题理解生成 opencypher 语句 import os from langchain.chat_models import ChatOpenAI from langchain.schema import HumanMessage, SystemMessage from langchain.output_parsers import StructuredOutputParser, ResponseSchema import jsonclass OpenCypherLLM():def __init__(self):# 输出格式化self.response_schemas [ResponseSchema(nameopenCypher, description生成的 OpenCypher 检索语句)]self.output_parser StructuredOutputParser.from_response_schemas(self.response_schemas)self.format_instructions self.output_parser.get_format_instructions()# prompt 模版self.prompt 你是一个知识图谱方面的专家, 现有一个医疗相关的知识图谱,图谱中的实体解释如下\n--------------disease疾病,存储着各种疾病的基础信息\ndepartment科室疾病所对应的科室\nsymptom疾病的症状\ncureWay疾病的治疗方式\ncheck疾病的检查项目\ndrug疾病的用药\ncrowd疾病易感染人群\nfood食物包括宜吃和忌吃食物\n--------------\n实体与实体之间的关系如下,每个关系都可以是双向的,v表示实体、e表示关系\n--------------\n疾病科室关系(v:disease)-[e:diseaseDepartmentRelations]-(v:department);疾病症状关系(v:disease)-[e:diseaseSymptomRelation]-(v:symptom);疾病治疗关系(v:disease)-[e:diseaseCureWayRelation]-(v:cureWay);疾病检查项目关系(v:disease)-[e:diseaseCheckRelation]-(v:check);疾病用药关系(v:disease)-[e:diseaseDrugRelation]-(v:drug);疾病易感染人群关系(v:disease)-[e:diseaseCrowdRelation]-(v:crowd);疾病宜吃食物关系(v:disease)-[e:diseaseSuitableFoodRelation]-(v:food);疾病忌吃食物关系(v:disease)-[e:diseaseTabooFoodRelation]-(v:food);疾病并发症关系(v:disease)-[e:diseaseDiseaseRelation]-(v:disease);--------------\n实体中的主要属性信息如下\n--------------\ndisease: {name:疾病名称,desc:疾病简介,prevent:预防措施,cause:疾病病因,get_prob:发病率,get_way:传染性,cure_lasttime:治疗周期,cured_prob:治愈概率,cost_money:大概花费}\ndepartment: {name:科室名称}\nsymptom: {name:疾病症状}\ncureWay: {name:治疗方式}\ncheck: {name:检查项目}\ndrug: {name:药物名称}\ncrowd: {name:感染人群}\nfood: {name:食物}\n--------------根据以上背景结合用户输入的问题生成 OpenCypher 图谱检索语句可以精准检索到相关的知识信息作为背景。\n注意: 仅使用上述提供的实体、关系、属性信息不要使用额外未提供的内容。实体与实体之间的关系仅使用背景给出的关系\nself.prompt self.prompt self.format_instructionsself.chat ChatOpenAI(temperature1, model_namegpt-3.5-turbo)def run(self, questions):res self.chat([SystemMessage(contentself.prompt),HumanMessage(content用户输入问题 questions)])res res.contentres res.replace(json, ).replace(, )res json.loads(res)return res[openCypher] gc_llm.py 根据检索结果总结答案 import os from langchain.chat_models import ChatOpenAI from langchain.schema import HumanMessage, SystemMessage from langchain import PromptTemplateclass GCLLM():def __init__(self):# prompt 模版self.template 你是一个知识图谱方面的专家,图谱中的基本信息如下\n--------------disease疾病实体,存储着各种疾病的基础信息\ndepartment科室疾病所对应的科室\nsymptom疾病的症状\ncureWay疾病的治疗方式\ncheck疾病的检查项目\ndrug疾病的用药\ncrowd疾病易感染人群\nfood食物存吃包括宜吃和忌吃食物\n--------------\n上一步你生成的 OpenCypher 语句为--------------\n{OpenCypher}--------------\nOpenCypher 语句查询的结果如下--------------\n{content}--------------\n结合上述背景并回答用户问题如果提供的背景和用户问题没有相关性则回答 “这个问题我还不知道怎么回答”注意最后直接回复用户问题即可不要添加 根据查询结果 等类似的修饰词self.prompt PromptTemplate(input_variables[OpenCypher, content],templateself.template,)self.chat ChatOpenAI(temperature1, model_namegpt-3.5-turbo)def run(self, OpenCypher, content, questions):res self.chat([SystemMessage(contentself.prompt.format(OpenCypherOpenCypher, contentcontent)),HumanMessage(content用户输入问题 questions)])return res.content 过程整合 from py2neo import Graph from opencypher_llm import OpenCypherLLM from gc_llm import GCLLM import osclass QA():def __init__(self, kg_host, kg_port, kg_user, kg_password):self.graph Graph(hostkg_host,http_portkg_port,userkg_user,passwordkg_password)self.openCypherLLM OpenCypherLLM()self.gcLLM GCLLM()def execOpenCypher(self, cql):if limit not in cql and LIMIT not in cql:cql cql LIMIT 10 res self.graph.run(cql)list []for record in res:list.append(str(record))if len(list) 0:return return \n.join(list)def run(self, questions):if not questions or questions :return 输入问题为空无法做出回答# 生成检索语句openCypher self.openCypherLLM.run(questions)if not openCypher or openCypher :return 这个问题我还不知道怎么回答print(生成的CQL)print(openCypher)# 执行检索res self.execOpenCypher(openCypher)print(查询图谱结果)print(res)if not res or res :return 这个问题我还不知道怎么回答return self.gcLLM.run(openCypher, res, questions)if __name__ __main__:kg_host 127.0.0.1kg_port 7474kg_user neo4jkg_password 123456qa QA(kg_host, kg_port, kg_user, kg_password)while True:questions input(请输入问题: \n )if questions q:breakres qa.run(questions)print(问题回答结果)print(res)三、效果测试 1. 鼻炎的症状有哪些 2. 鼻炎的治疗周期多久 3. 鼻炎不适合吃什么东西 3. 和鼻炎有类似症状的病有哪些 4. 鼻炎应该检查哪些项目 四、总结 上面基于医疗的知识图谱大致实现了问答的过程可以感觉出加入ChatGPT后实现的流程非常简单但上述流程也还有需要优化的地方例如用户输入疾病错别字的情况如果 ChatGPT 没有更正有可能导致检索为空还有就是有些疾病可能有多个名称但名称不在图谱中导致检索失败等等后面可以考虑加入语义相似度的检索。
http://www.zqtcl.cn/news/173789/

相关文章:

  • 上海房地产网站建设报价wordpress.备份
  • 网站建设运营维护合同专用车网站建设价格
  • 建设部咨询资质网站平台类网站建设公司
  • wap 网站 源码网站建立
  • 辽阳专业建设网站公司山东省工程建设招标信息网站
  • 下载专门做初中数学题的网站佛山网站制作在线
  • 永康物流网站蒙牛企业网站建设规划书
  • 网站开发发和后台开发有什么区别马鞍山网站建设价格
  • 广州建设银行预约公积金网站怎么下载ppt免费模板
  • 网站策划的基本过程网站设置在哪
  • 内蒙古住房和城乡建设网站网站建设需要购买什么
  • 网站做调查问卷给钱的兼职南通营销网站制作
  • 开个微网站需要什么自己制作网页的步骤
  • 有专业做线切割配件的网站吗中国婚恋网站排名
  • 做ppt网站大全中国工程建设信息网站
  • 汉滨区住房和城乡建设局网站淘宝客购物网站的怎么做
  • 一个网站用多个域名分页网站
  • 门户网站举例phpstuy wordpress
  • 做网站许昌美业管理软件系统排名
  • 温州市建设工程质量安全管理总站贵阳最新消息今天
  • 成都服装网站建设工作是否能给我们带来快乐
  • 电商网站建设综述长沙高端网站建设
  • 网站建设有哪些环节怎么申请网址
  • 做网站要什么软件经典网站首页
  • 个人网站备案转公司备案长沙网站seo报价
  • 上海网站开发建设电话电影vip网站建设步骤
  • 17.zwd一起做网站池尾站邢台快用网络科技有限公司
  • 做写字楼租赁用什么网站好如何申请网站com域名
  • 如何查询网站服务商安徽省建设厅证件查询安全员c证
  • asp网站怎么安装程序员wordpress插件