生成 Cypher 能力:MOSS VS ChatGLM
生成 Cypher 能力:MOSS VS ChatGLM
- 生成 Cypher 能力:MOSS VS ChatGLM
- 一、 测试结果
- 二、 测试代码(包含Prompt)
Here’s the table of contents:
生成 Cypher 能力:MOSS VS ChatGLM
MOSS介绍:MOSS 是复旦大学自然语言处理实验室发布的国内第一个对话式大型语言模型。MOSS是⼀个⽀持中英双语和多种插件的开源对话语⾔模型,moss-moon系列模型具有160亿参数,在FP16精度下可在单张A100/A800或两张3090显卡运⾏,在INT4/8精度下可在单张3090显卡运⾏。
MOSS基座语⾔模型在约七千亿中英⽂以及代码单词上预训练得到,后续经过对话指令微调、插件增强学习和⼈类偏好训练具备多轮对话能⼒及使⽤多种插件的能⼒,MOSS的最⼤对话⻓度为2048(输⼊+输出)。
局限性:由于模型参数量较⼩和⾃回归⽣成范式,MOSS仍然可能⽣成包含事实性错误的误导性回 复或包含偏⻅/歧视的有害内容,请谨慎鉴别和使⽤MOSS⽣成的内容,请勿将MOSS⽣成的有害 内容传播⾄互联⽹。若产⽣不良后果,由传播者⾃负。
ChatGLM 是由清华大学 KEG 实验室和智谱 AI 基于千亿基座模型 GLM-130B 开发的对话语言模型。ChatGLM 在 GLM-130B 的基础上持续进行文本和代码预训练并通过有监督微调等技术实现人类意图对齐,具备文案写作、信息抽取、角色扮演、问答、对话等能力。
下面测试结果为
MOSS
和ChatGLM
两个大语言模型生成Cypher的展示,总体效果MOSS
要好于ChatGLM
。
在六次测试中,只有MOSS
在5和6案例中生成了完全正确可执行的Cypher(但是都多了一行注释),其它结果都不太好。
从目前测试过的结果来看,正确生成Cypher的能力GPT4 > GPT3.5 > MOSS > ChatGLM
。
一、 测试结果
- QA:你好
该问题
MOSS
生成了创建节点的Cypher,真实的目标是对于此类问题不生成Cypher,因此回答是错误的。
ChatGLM
无法生成Cypher,是正确的,但是ChatGLM
的回复显得有些冗长。
RE-MOSS:CREATE (n:Person {name:'你好'}) RETURN n
RE-ChatGLM:欢迎,有什么需要帮助的吗?# 查询用户信息
user_id:int(什么是用户ID?), name:text(用户姓名), email:text(用户邮箱), password:text(用户密码)# 查询订单信息
order_id:int(订单ID), customer_id:int(客户ID), product_id:int(产品ID), total:float(总价), status:text(状态:完成/未支付/取消)# 查询用户订单
user_order:list(用户订单列表)# 查询商品订单
product_order:list(商品订单列表)请提供您的查询需求,我会尽力生成正确的Cypher语句。
- QA:最近半导体上涨的原因是什么?
该问题
MOSS
和ChatGLM
都无法生成正确的Cypher,是正确的。
但是MOSS
和ChatGLM
都回复了一个SQL,确实没有明白我在Prompt中定义的想生成Cypher的意图。
RE-MOSS:SELECT * FROM cypher_example WHERE message = '最近半导体上涨的原因是什么?'
RE-ChatGLM:SELECT CASE WHEN A.column_name = 'reason' THEN 'reason' WHEN A.column_name = 'bubble_up' THEN 'bubble_up' WHEN A.column_name = 'bubble_down' THEN 'bubble_down' WHEN A.column_name = 'stock_price' THEN 'stock_price' WHEN A.column_name = 'future_price' THEN 'future_price' ELSE 'default' END AS reason FROM columns A WHERE A.table_name = 'stock' ORDER BY stock_price DESC
LIMIT 1;
- QA:海南有哪些上市公司?
该问题
MOSS
生成了看似正确的Cypher,但是节点n
是没有name
属性的,Cypher
运行没有结果。
给出的示例中是直接输出节点变量
,而不是某个具体字段。
ChatGLM
没有生成正确的Cypher。
ChatGLM
回复了一个看似正确的Cypher但是语法有错误,单独复制粘贴后Cypher无法运行,另外结果中还多了一些废话。
RE-MOSS:MATCH (n:股票)-[:地域]->(n2:地域) WHERE n2.name='海南' RETURN DISTINCT n.name as name LIMIT 10
RE-ChatGLM:match (n0:股票)-[r0:地域]->(n1:地域) WHERE n1.value='海南' return distinct n0 as n4 limit 10;这是一条简单的Cypher查询,它匹配了一个股票向一个地域的反向匹配,并返回该股票的所有地区名称。请注意,此查询可能无法完全准确地返回所有海南上市公司的详细信息,因为它只返回了海南的股票。如果您需要更详细的信息,请提供更多上下文。
- QA:电气设备行业有多少家上市公司?
该问题
MOSS
没有生成Cypher,ChatGLM
也没有生成正确的Cypher。
ChatGLM
也是回复了一个看似正确的Cypher但是语法有错误,单独复制粘贴后Cypher无法运行,另外结果中还多了一些废话。
RE-MOSS:# 请问电气设备行业的公司名称是什么?
RE-ChatGLM:match p0=(n0:股票)-[r0:所属行业]->(n1:行业)
WHERE n1.value='电气设备'
RETURN COUNT(DISTINCT n0) AS n4;该查询将返回电气设备行业中上市公司的总数量。请注意,该查询将返回所有股票,无论它们属于哪个行业。如果您只需要返回特定行业的数量,请在WHERE子句中更改该条件。
- QA:水泥行业博士学历的男性高管有多少位?
该问题
MOSS
生成了完全正确的Cypher(但是多了一行注释),ChatGLM
没有生成正确的Cypher。
ChatGLM
回复了一个看似正确的Cypher但是语法有错误,单独复制粘贴后Cypher无法运行,但这次好一些废话没有了。
# RE-MOSS:# 水泥行业博士学历的男性高管有多少位?
MATCH p0=(n1:行业)<-[r0:所属行业]-(n0:股票)<-[r1:任职于]-(n2:高管)-[r2:性别]->(n3:性别)-[r4:别名]->(n5:性别_别名), p1=(n2)-[r3:学历]->(n4:学历) WHERE n1.value='水泥' AND n5.value='男性' AND n4.value='博士' RETURN COUNT(DISTINCT n2) AS n3;
RE-ChatGLM:MATCH p0=(n1:行业)<-[r0:所属行业]-(n0:股票)<-[r1:任职于]-(n2:高管)-[r2:性别]->(n3:性别)-[r4:别名]->(n5:性别_别名),p1=(n2)-[r3:学历]->(n4:学历)
WHERE n1.value='水泥' AND n5.value='男性' AND n4.value='博士'
RETURN COUNT(DISTINCT n2) AS n3;
- QA:在北京由硕士学历的女性高管任职的上市公司,都属于哪些行业?
该问题
MOSS
生成了完全正确的Cypher(仍然多了一行注释),ChatGLM
没有生成正确的Cypher。
ChatGLM
也是回复了一个看似正确的Cypher但是语法有错误,单独复制粘贴后Cypher无法运行,另外结果中仍然多了一些废话。
RE-MOSS:# 在北京由硕士学历的女性高管任职的上市公司,都属于哪些行业?
MATCH p1=(n1:`地域`)<-[:`地域`]-(n2:`股票`)<-[:`任职于`]-(n3:`高管`)-[:`性别`]->(n4:`性别`), p2=(n3)-[:`学历`]->(n5:学历), p3=(n2)-[:`所属行业`]->(n6:行业) WHERE n1.value='北京' AND n5.value='硕士' AND n4.value='F' RETURN DISTINCT n6.value AS hy
RE-ChatGLM:match p1=(n1:`地域`)<-[:`地域`]-(n2:`股票`)<-[:`任职于`]-(n3:`高管`)-[:`性别`]->(n4:`性别`),p2=(n3)-[:`学历`]->(n5:学历),p3=(n2)-[:`所属行业`]->(n6:行业)
WHERE n1.value='北京' AND n5.value='硕士' AND n4.value='F'
RETURN DISTINCT n6.value AShy;这是一个匹配“在北京由硕士学历的女性高管任职的上市公司”的三元组Cypher查询,使用了以下语法:- `match`:匹配三元组中的元素。
- `p1`:匹配`n1`中的`地域`元素。
- `p2`:匹配`n3`中的`学历`元素。
- `p3`:匹配`n2`中的`所属行业`元素。
- `WHERE`:在查询条件中添加过滤条件。
- `n1.value='北京' AND n5.value='硕士' AND n4.value='F'`:过滤条件,只有“北京”和“硕士”且“女性”的高管才能任职上市公司。
- `RETURN DISTINCT n6.value AShy`:返回每个行业的代码值。请注意,这个查询只匹配了北京的数据,并且只使用了硕士和女性这两个条件。如果有更多的条件,可能需要在查询条件中包含它们。
二、 测试代码(包含Prompt)
import requests
import Levenshtein
import json# 使用HTTP封装的MOSS接口,请根据具体接口情况替换
def moss(msg):url = "https://localhost:8080/moss"payload = json.dumps({"query": msg,"prefix_model": "MOSS","temperature": 0.0001})headers = {'Content-Type': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)return response.json()['answer']def example_list():ex_list = [{'qa': '火力发电行业博士学历的男性高管有多少位?','cypher': '''MATCH p0=(n1:行业)<-[r0:所属行业]-(n0:股票)<-[r1:任职于]-(n2:高管)-[r2:性别]->(n3:性别)-[r4:别名]->(n5:性别_别名),p1=(n2)-[r3:学历]->(n4:学历) WHERE n1.value='火力发电' AND n5.value='男性' AND n4.value='博士'RETURN COUNT(DISTINCT n2) AS n3;'''}, {'qa': '山西都有哪些上市公司?','cypher': '''MATCH p0=(n0:股票)-[r0:地域]->(n1:地域) WHERE n1.value='山西' RETURN DISTINCT n0 AS n4 LIMIT 10;'''}, {'qa': '富奥股份的高管都是什么学历?','cypher': '''MATCH p0=(n1:股票名称)<-[r0:股票名称]-(n0:股票)<-[r1:任职于]-(n2:高管)-[r2:学历]->(n3:学历) WHERE n1.value='富奥股份'RETURN DISTINCT n3 AS n2 LIMIT 10;'''}, {'qa': '中国宝安属于什么行业?','cypher': '''MATCH p0=(n1:股票名称)<-[r0:股票名称]-(n0:股票)-[r1:所属行业]->(n2:行业) WHERE n1.value='中国宝安'RETURN DISTINCT n2 AS n5 LIMIT 10;'''}, {'qa': '建筑工程行业有多少家上市公司?','cypher': '''MATCH p0=(n0:股票)-[r0:所属行业]->(n1:行业) WHERE n1.value='建筑工程'RETURN COUNT(DISTINCT n0) AS n4;'''}, {'qa': '刘卫国是哪个公司的高管?','cypher': '''MATCH p0=(n0:股票)<-[r0:任职于]-(n1:高管) WHERE n1.value='刘卫国'RETURN DISTINCT n0 AS n4 LIMIT 10;'''}, {'qa': '美丽生态上市时间是什么时候?','cypher': '''MATCH p0=(n1:股票名称)<-[r0:股票名称]-(n0:股票)-[r1:上市日期]->(n2:上市日期) WHERE n1.value='美丽生态'RETURN DISTINCT n2 AS n1 LIMIT 10;'''}, {'qa': '山西的上市公司有多少家?','cypher': '''MATCH p0=(n0:股票)-[r0:地域]->(n1:地域) WHERE n1.value='山西'RETURN COUNT(DISTINCT n0) AS n4;'''}, {'qa': '博士学历的高管都有哪些?','cypher': '''MATCH p0=(n0:高管)-[r0:学历]->(n1:学历) WHERE n1.value='博士' RETURN DISTINCT n0 AS n3 LIMIT 10;'''}, {'qa': '上市公司是博士学历的高管有多少个?','cypher': '''MATCH p0=(n0:高管)-[r0:学历]->(n1:学历) WHERE n1.value='博士'RETURN COUNT(DISTINCT n0) AS n3;'''}, {'qa': '刘卫国是什么学历?','cypher': '''MATCH p0=(n0:高管)-[r0:学历]->(n1:学历) WHERE n0.value='刘卫国'RETURN DISTINCT n1 AS n2 LIMIT 10;'''}, {'qa': '富奥股份的男性高管有多少个?','cypher': '''MATCH p0=(n1:股票名称)<-[r0:股票名称]-(n0:股票)<-[r1:任职于]-(n2:高管)-[r2:性别]->(n3:性别)-[r3:别名]->(n4:性别_别名) WHERE n1.value='富奥股份' AND n4.value='男性'RETURN COUNT(DISTINCT n2) AS n3;'''}, {'qa': '同在火力发电行业的上市公司有哪些?','cypher': '''MATCH p0=(n0:股票)-[r0:所属行业]->(n1:行业) WHERE n1.value='火力发电' RETURN DISTINCT n0 AS n4 LIMIT 10;'''}, {'qa': '同在火力发电行业的上市公司有多少家?','cypher': '''MATCH p0=(n0:股票)-[r0:所属行业]->(n1:行业) WHERE n1.value='火力发电'RETURN COUNT(DISTINCT n0) AS n4;'''}, {'qa': '大悦城和荣盛发展是同一个行业嘛?','cypher': '''MATCH p0=(n1:股票名称)<-[r0:股票名称]-(n0:股票)-[r1:所属行业]->(n2:行业) WHERE n1.value IN ['大悦城','荣盛发展']RETURN DISTINCT n2 AS n5 LIMIT 10;'''}, {'qa': '同在河北的上市公司有哪些?','cypher': '''MATCH p0=(n0:股票)-[r0:地域]->(n1:地域) WHERE n1.value='河北' RETURN DISTINCT n0 AS n4 LIMIT 10;'''}, {'qa': '神州高铁是什么时候上市的?','cypher': '''MATCH p0=(n1:股票名称)<-[r0:股票名称]-(n0:股票)-[r1:上市日期]->(n2:上市日期) WHERE n1.value='神州高铁' RETURN DISTINCT n2 AS n1 LIMIT 10;'''}, {'qa': '火力发电行业男性高管有多少个?','cypher': '''MATCH p0=(n1:行业)<-[r0:所属行业]-(n0:股票)<-[r1:任职于]-(n2:高管)-[r2:性别]->(n3:性别)-[r3:别名]->(n4:性别_别名) WHERE n1.value='火力发电' AND n4.value='男性'RETURN COUNT(DISTINCT n2) AS n3;'''}, {'qa': '2023年三月六日上市的股票代码?','cypher': '''MATCH p0=(n0:股票)-[r0:上市日期]->(n1:上市日期) WHERE (n1.value>=20230306 AND n1.value<=20230306) RETURN DISTINCT n0 AS n4 LIMIT 10;'''}, {'qa': '2023年三月六日上市的股票有哪些?','cypher': '''MATCH p0=(n0:股票)-[r0:上市日期]->(n1:上市日期) WHERE (n1.value>=20230306 AND n1.value<=20230306) RETURN DISTINCT n0 AS n4 LIMIT 10;'''}, {'qa': '2023年三月六日上市的股票有多少个?','cypher': '''MATCH p0=(n0:股票)-[r0:上市日期]->(n1:上市日期) WHERE (n1.value>=20230306 AND n1.value<=20230306) RETURN COUNT(DISTINCT n0) AS n4;'''}, {'qa': '胡永乐是什么性别?','cypher': '''MATCH p0=(n0:高管)-[r0:性别]->(n1:性别) WHERE n0.value='胡永乐' RETURN DISTINCT n1 AS n7 LIMIT 10;'''}, {'qa': '在山东由硕士学历的男性高管任职的上市公司,都属于哪些行业?','cypher': '''MATCH p1=(n1:`地域`)<-[:`地域`]-(n2:`股票`)<-[:`任职于`]-(n3:`高管`)-[:`性别`]->(n4:`性别`),p2=(n3)-[:`学历`]->(n5:学历),p3=(n2)-[:`所属行业`]->(n6:行业)WHERE n1.value='山东' AND n5.value='硕士' AND n4.value='M'RETURN DISTINCT n6.value AS hy;'''}]return ex_listdef examples(ask):examples_str = ''examples_list = []for index, map in enumerate(example_list()):qa = map['qa']cypher = map['cypher']dis = Levenshtein.distance(ask, qa)examples_list.append({'qa': qa, 'cypher': cypher, 'dis': dis})sorted_list = sorted(examples_list, key=lambda map: map['dis'])for map in sorted_list:qa = map['qa']cypher = map['cypher']dis = map['dis']ex = f'''# {qa}{cypher}'''# `prompt(ask)` Prompt Length 300if dis < 6 and len(examples_str + ex) + 300 <= 2048:examples_str += exreturn examples_strdef prompt(ask):return f"""您是一名助手,能够根据示例Cypher查询生成Cypher查询。示例Cypher查询有:\n {examples(ask)} \n除了Cypher查询之外,不要回复任何解释或任何其他信息。您永远不要为你的不准确回复感到抱歉,并严格根据提供的cypher示例生成cypher语句。不要提供任何无法从Cypher示例中推断出的Cypher语句。当由于缺少对话上下文而无法推断密码语句时,通知用户,并说明缺少的上下文是什么。现在请为这个查询生成Cypher:# {ask}"""if __name__ == '__main__':# 输入问题ask = '在北京由硕士学历的女性高管任职的上市公司,都属于哪些行业?'print(moss(prompt(ask)))
相关文章:

生成 Cypher 能力:MOSS VS ChatGLM
生成 Cypher 能力:MOSS VS ChatGLM 生成 Cypher 能力:MOSS VS ChatGLM一、 测试结果二、 测试代码(包含Prompt) Here’s the table of contents: 生成 Cypher 能力:MOSS VS ChatGLM MOSS介绍:MOSS 是复旦大…...

数据库的键和存储
主键:数据库表中对存储数据对象给予以唯一和完整表示的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空。 外键:在一个表中存在另一个表得主键称此为表的外键。 为什么用自增列作为主键? 如果我们定义了主…...

基于AT89C51单片机的并入串出乘法口诀的设计与仿真
点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87779146?spm1001.2014.3001.5503 源码获取 并入串出乘法口诀的设计与仿真系统设计 目录 第一章 概述 3 1.1课题研究及意义 3 1.2课题设计内容 4 第二章系统设计…...

人生在世皆有过错,来一起看看Java中的异常吧!!!
Java中的异常问题详解 一、异常的概念与分类 1.异常概念 概念:Java异常是一个描述在代码段中发生异常的对象,当发生异常情况时,一个代表该异常的对象被创建并且在导致该异常的方法中被抛出,而该方法可以选择自己处理异常或者传…...

linux 测试连接网络和端口 telnet
一、安装telnet 1、检测telnet-server的rpm包是否安装 [rootlocalhost ~]# rpm -qa telnet-server 若无输入内容,则表示没有安装。出于安全考虑telnet-server.rpm是默认没有安装的,而telnet的客户端是标配。即下面的软件是默认安装的。 2、若未安装&…...

一文快速入门体验 Hibernate
前言 Hibernate 是一个优秀的持久层的框架,当然,虽然现在说用得比较多的是 MyBaits,但是我工作中也不得不接触 Hibernate,特别是一些老项目需要你维护的时候。所以,在此写下这篇文章,方便自己回顾…...

【RabbitMQ】SpringAMQP
RabbitMQ 1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应&am…...

错题汇总08
1.如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是 A 一元运算符 B 二元运算符 C 选项A)和选项B)都可能 D 重载错误 运算符重载 1.重载成类的成员函数------>形参数目看起来比该运算符需要的参数个数少1&#x…...

使用urllib库简单入门
使用urllib库简单入门 Python中的urllib库是一个非常强大的工具,它提供了一些模块,如urllib.request、urllib.parse、urllib.error、urllib.robotparser等,可以用来处理URLs和网页数据的获取、发送和处理。 在本文中,我们将介绍…...

C++学习 Day11
目录 1. 再谈构造函数 1.1 构造函数体赋值 1.2 初始化列表 1.3 explicit关键字 2. stastic成员 2.1 概念 2.2 特性 1. 再谈构造函数 1.1 构造函数体赋值 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。 class Date…...

python中函数与类 类中的方法-静态方法/动态方法
class student():position即令def __init__(self,name,age):self.namenameself.ageagedef eat(self):passclassmethoddef cla(cls):passstaticmethoddef sta():passpassstustudent(name张三,age12) print(stu.position)stu.sta() stu.cla()# 直接使用静态和类方法 student.cla(…...

基于trace_id实现ForkJoinPool的链路追踪
一、引言 之前写过一篇博客:基于trace_id的链路追踪(含Feign、Hystrix、线程池等场景),主要介绍在微服务体系架构中,如何实现分布式系统的链路追踪的博客,其中主要实现了以下几种场景: Filter…...

Qt推流程序(视频文件/视频流/摄像头/桌面转成流媒体rtmp+hls+webrtc)可在网页和播放器远程观看
一、前言说明 推流直播就是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号从手机端,电脑端,摄影机端打包传到服务器的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观…...

ChatGPT入门到高级【第一章】
第一章:Chatgpt的起源和发展 1.1 人工智能和Chatbot的概念 1.2 Chatbot的历史发展 1.3 机器学习技术在Chatbot中的应用 1.4 Chatgpt的诞生和发展 第二章:Chatgpt的技术原理 2.1 自然语言处理技术 2.2 深度学习技术 2.3 Transformer模型 2.4 GPT模型 第…...

云原生应用架构
本博客地址:https://security.blog.csdn.net/article/details/130566883 一、什么是云原生应用架构 成为云原生应用至少需要满足下面几个特点: ● 使用微服务架构对业务进行拆分。单个微服务是个自治的服务领域,对这个领域内的业务实体能够…...

rem、px、em的区别 -前端
文章目录 三者的区别特点与换算举例emrem 总结一总结二 三者的区别 在css中单位长度用的最多的是px、em、rem,这三个的区别是: 一、px是固定的像素,一旦设置了就无法因为适应页面大小而改变。 二、em和rem相对于px更具有灵活性,…...
分享几款小白从零开始学习的会用到的工具/网站
大二狗接触编程也有两年了,差生文具多这大众都认可的一句话,在这里蹭一下这个活动分享一下从0开始学习编程有啥好用的工具 目录 伴侣一、Snipaste截图工具 伴侣二、Postman软件(可用ApiPost平替) 伴侣三、字体图标网站 伴侣四…...

第八章 文件处理命令
第八章 文件处理命令 一、 文本编辑器 vi • vi 是 Unix 类操作系统中最为流行的文本编辑器。尽管目前 已有 gedit 等一些工作在图形界面下使用起来也更为方便 的文本编辑器,但在很多情况下,vi 这种专为字符界面操 作而设计的编辑器恐怕还是要充当首…...

LVS 负载均衡群集的 NAT 模式和 DR 模式
1. 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 DR 模式 * 负载各节点服务器通过本地网络连接,不需要建立专用的IP隧道 原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的…...

自学自动化测试,第一份工作就18K,因为掌握了这些技术
我个人的情况是有1年自动化测试工作经验半年的实习经验,2020年毕业,专业通信工程,大一的时候学过C语言,所以一直对于编程感兴趣,之所以毕业后没做通信的工作,通信行业的朋友应该都明白,通信的天…...

C++ 类的继承与派生
目录 1、继承的概念 2、继承(Inherit) 3、继承方式 4、父子同名成员并存 5、虚函数(virtual) 6、纯虚函数 1、继承的概念 以李白为例 类1是类2的基类(父类),类2是类3的基类(父类…...

分布式系统基础理论
CAP是分布式系统方向中的一个非常重要的理论,可以粗略的将它看成是分布式系统的起点,CAP分别代表的是分布式系统中的三种性质,分别是Consistency(可用性)、Availability(一致性)、Partition tol…...

HttpServletRequestWrapper的使用与原理
介绍 HttpServletRequestWrapper 实现了 HttpServletRequest 接口,可以让开发人员很方便的改造发送给 Servlet 的请求.HttpServletRequest 对参数值的获取实际调的是org.apache.catalina.connector.Request没有提供对应的set方法修改属性所以不能对前端传来的参…...

PBDB Data Service:List of fossil occurrences(化石产出记录列表)
List of fossil occurrences(化石产出记录列表) 描述用法参数选择PBDB所有记录(all_records)以下参数可用于按各种条件查询化石产出记录以下参数可用于筛选所选内容以下参数还可用于根据分类筛选结果列表以下参数可用于生成数据存…...

初识C语言
1. 初识C语言 C语言是一门通用计算机编程语言,广泛应用于底层开发。 C语言是一门面向过程的计算机编程语言,它与C,Java等面向对象的编程语言有所不同。 第一个C语言程序: #include<stdio.h>int main(void) {printf("hello worl…...

Leetcode 322. 零钱兑换(完全背包)
Leetcode 322. 零钱兑换(完全背包)题目 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额&…...

怎么恢复回收站?分享4个宝藏方法!
案例:怎么恢复回收站 【请问大家怎么恢复误删的文件呀?如果回收站被清空了,又应该怎么恢复呢?】 电脑回收站是我们存储被删除文件的地方。但是有时候,我们会不小心把一些重要的文件或者照片误删了。这时候࿰…...

大模型混战,最先实现“智慧涌现”的会是谁?
作者 | 曾响铃 文 | 响铃说 几秒钟写出了一篇欢迎词; 小说人物乱入现实,快速创作不重样的故事; 鼠标一点,一封英文工作沟通邮件撰写完成; 准确解出数学应用题,还给出解题步骤; 甚至还能理…...

Powerlink协议在嵌入式linux上的移植和主从站通信(电脑和linux板通信实验)
使用最新的openPOWERLINK 2.7.2源码,业余时间搞定了Powerlink协议在嵌入式linux上的移植和测试,并进行了下电脑和linux开发板之间的通信实验。添加了一个节点配置,跑通了源码中提供的主站和从站的两个demo。这里总结下移植过程分享给有需要的…...

快速理解基本的cookie、session 和 redis
一、Cookie 1、什么是Cookie 1、Cookie实际上是一小段的文本信息,是一种keyvalue形式的字符串。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端会把Cookie保存起来。 2、当浏览器再请求…...