跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

AI大模型应用实战:构建基于知识图谱的知识问答系统

一、知识图谱概述 知识图谱(Knowledge Graph)是一种结构化的语义知识库,它以图形的方式组织和整合信息,使得数据之间的关系变得直观和易于理解。

知识图谱的概念融合了计算机科学、数据科学、人工智能等多个领域的技术,旨在通过关联分析揭示数据背后的深层次关系。

1.1、概念 知识图谱由节点(实体)和边(关系)组成。

节点代表实体,如人、地点、物品等;边代表实体之间的关系,如“属于”、“创造”、“位于”等。

每个节点和边都可以带有属性,提供更详细的信息。

知识图谱的构建通常包括以下几个步骤: 数据抽取:从各种数据源中提取信息,如文本、数据库、网页等。

实体识别:识别出数据中的关键实体。

关系抽取:确定实体之间的关系。

实体链接:将识别出的实体与已知的知识库中的实体进行链接。

知识融合:整合来自不同源的知识,解决冲突和歧义。

存储与查询:将构建好的知识图谱存储在图数据库中,并提供查询接口。

1.2、历史 知识图谱的概念并非一开始就存在,它是随着信息技术和人工智能领域的发展逐渐形成的。

以下是几个关键的历史节点: 1980年代:专家系统的发展,可以看作是知识图谱的早期形式。

1990年代:语义网(Semantic Web)概念的提出,旨在通过机器可理解的方式编码信息 2006年:DBpedia项目启动,将维基百科的结构化信息转换为机器可读格式。

2012年:谷歌推出知识图谱,用于增强搜索引擎的功能,提供更丰富的搜索结果。

1.3、作用 知识图谱在多个领域都有着广泛的应用,以下是其主要作用: 搜索引擎优化:通过知识图谱,搜索引擎能够提供更加精确和相关的搜索结果。

推荐系统:知识图谱可以用于个性化推荐,通过分析用户与物品之间的关系,提供更准确的推荐。

语义分析:在自然语言处理中,知识图谱有助于理解词语之间的关系,提高语义分析的准确性。

智能问答:知识图谱可以用于构建智能问答系统,快速准确地回答用户的问题。

决策支持:在商业分析和决策过程中,知识图谱能够帮助发现数据之间的深层次关系,支持更明智的决策。

医疗健康:知识图谱在医疗领域可用于药物研发、疾病诊断等,通过关联分析提高医疗质量 1.4、演示效果

二、图数据库 图数据库(Graph Database)是一种用于存储和管理图形结构数据的数据库。

与传统的基于表格的数据库不同,图数据库专门为处理复杂的关系和网状结构的数据而设计。

在图数据库中,数据结构的核心是节点(Node)、关系(Relationship)和属性(Property) 2.1、Neo4j Neo4j是目前最常使用的图数据库管理系统。

它是一个高性能的NoSQL数据库,具有以下特点: 原生图存储:Neo4j使用原生图存储,这意味着它直接在磁盘上存储节点和关系,而不是将图数据转换为其他模型。

Cypher查询语言:Neo4j使用Cypher作为查询语言,这是一种声明式查询语言,专门为图数据库设计,易于学习和使用。

高度可扩展:Neo4j支持大规模的数据集,并且可以通过集群部署来提高性能和可用性。

丰富的生态系统:Neo4j有一个活跃的社区和丰富的生态系统,提供了大量的工具和库来支持图数据库的开发和应用。

由于其强大的功能和易用性,Neo4j在众多行业和领域得到了广泛的应用,成为图数据库领域的佼佼者。

2.2、neo4j使用 输入以下代码启动neo4j

neo4j console

2.3、创建节点 create (郭靖:人物 {name:‘郭靖’,identity:‘武林高手’})

create表示新建 小括号内是节点信息,节点的标签label是人物,郭靖是其别名花括号内是该节点的属性,共有name、identity两个属性 2.4、创建关系

match (黄蓉:`人物`{name:'黄蓉'}),(郭靖:`人物`{name:'郭靖'}) create (黄蓉) -[r:husband{name:'丈夫'}]->(郭靖)

match是匹配 (黄蓉:人物{name:‘黄蓉’})是第一个节点,(郭靖:人物{name:‘郭靖’})是第二个节点husband是关系的标签,花括号内是该关系的属性,有name属性 2.5、删除所有节点和关系

MATCH (n)

OPTIONAL MATCH (n)-[r]-() DELETE n,r

2.6、效果展示

三、知识问答项目构建 3.1、前端构建

3.2、大模型进行问题分类和命名实体识别

from zhipuai import ZhipuAI

import json client = ZhipuAI(api_key="your_api_key") def wenda(question): messages = [ { "role":"system", "content":"""我会给你一个句子,请你帮我分类成0-6,0表示询问某人的信息,1表示询问某人毕业于那所学校,2表示询问某人创作的作品,3表示询问某人的出生日期,4表示询问某人与某人的关系,5表示询问某人的配偶是谁,6表示询问作品是谁创作的。

请按照我给你的提供的json模板,当问题类型属于0,1,2,3,5时,nr字段填入名字,不要work字段.当问题类型为6时,work字段填入作品名称,不要nr字段。

{ "类型":0-6, "nr":名字, "work":作品名称 } 当类型为4时,使用以下模板: { "类型":4, "nr":['名字1','名字2'], } 只需要返回一个json对象,不要重复问题 """ }, { "role": "user", "content": f"{question}" } ] response = client.chat.completions.create( model="glm-4-flash", messages=messages, ) return json.loads(response.choices[0].message.content)

3.3、python操作neo4j数据库 安装项目相应的依赖包

pip install -r requirements.txt

连接数据库

from py2neo import Graph

# 替换下面的 uri, user 和 password 为你的 Neo4j 数据库的连接信息 uri = "bolt://localhost:7687" # Neo4j Bolt 连接地址 user = "neo4j" # Neo4j 用户名 password = "your_password" # Neo4j 密码

graph = Graph(uri, auth=(user, password))

增加数据

# 创建节点

tx = graph.begin() a = Node("Person", name="Alice") b = Node("Person", name="Bob") tx.create(a) tx.create(b) tx.commit()

# 创建关系 ab = Relationship(a, "KNOWS", b) tx = graph.begin() tx.create(ab) tx.commit()

查找

alice = graph.nodes.match("Person", name="Alice").first()

print(alice) relationship = graph.relationships.match(nodes=[alice, b], r_type="KNOWS").first() print(relationship)

3.4、后端构建 本项目采用Flask框架实现,使用了例如render_template进行页面渲染,return返回前端所需要的信息等。

四、附件项目使用 0.启动neo4j数据库

neo4j console

1.向neo4j数据库添加数据

python ./handler/handler_person_data.py

2.添加自己的api_key

3.启动项目

python app.py

如何零基础入门 / 学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。

AI会取代那些行业?

”“

谁的饭碗又将不保了?

”等问题热议不断。

不如成为

「掌握AI工具的技术人」

,毕竟AI时代, 谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。

同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。

所以现在小白入门就只能靠自学,学习成本和门槛很高 那么我作为一名热心肠的互联网老兵, 我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!

至于能学习到多少就看你的学习毅力和能力了 。

我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

👉

福利来袭CSDN大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点

👈 全套AGI大模型学习大纲+路线 AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

640套AI大模型报告合集 这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。

无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

👉学会后的收获:👈 • 基于大模型全栈工程实现 (前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力; • 能够利用大模型解决相关实际项目需求 : 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。

因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求; • 基于大模型和企业数据AI应用开发, 实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能 , 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握; • 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力 : 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉

福利来袭CSDN大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点

👈

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

相关文章