LangChain Ollama实战文献检索助手(二)少样本提示FewShotPromptTemplate示例选择器
本期是用样例来提示大模型生成我们想要的答案。即在输入中给定提示的样例,以及提示模板,然后匹配较相关的样例进行文献综述。
创建示例样本FewShotPromptTemplate
这里我用GTP-o1生成了几个回答,作为样本
samples = [{"theme": "联邦学习","year": "2022","content": "自2022年以来,联邦学习(Federated Learning)领域取得了显著的进展,推动了其在实际应用中的可行性和有效性。\n1. 隐私保护技术的加强 近期研究在增强联邦学习的隐私保护方面取得了突破。例如,差分隐私和安全多方计算等技术的改进,使模型聚合过程更加安全,降低了敏感数据泄露的风险。这些技术的优化提高了计算效率,减少了引入的噪声,从而在保护隐私的同时保持了模型的性能。\n2. 通信效率的提升 为了解决联邦学习中的通信瓶颈,研究者开发了新的模型压缩和量化方法,如梯度剪枝、稀疏更新和压缩编码。这些方法有效减少了客户端和服务器之间的数据传输量,提高了系统的效率和可扩展性。\n3. 非独立同分布(Non-IID)数据处理 处理客户端数据的异质性仍然是联邦学习的主要挑战之一。近期的研究提出了个性化联邦学习算法和元学习方法,旨在提高模型在非IID数据环境下的性能。这些方法允许模型根据各客户端的特定数据分布进行调整,提升了整体效果。\n4. 联邦学习与深度学习的融合 随着深度学习模型的复杂性增加,将联邦学习应用于更深层次的神经网络成为研究热点。出现了如联邦迁移学习和联邦强化学习的新方向,拓展了联邦学习的应用范围,促进了在图像识别、自然语言处理等领域的应用。\n5. 应用领域的扩展 联邦学习的应用从移动设备扩展到了物联网、医疗保健、金融和智能交通等领域。例如,在医疗领域,联邦学习被用于跨机构的数据协作,保护患者隐私的同时提升诊断模型的准确性。\n6. 公平性和偏差问题 研究者开始关注联邦学习中的公平性,致力于减少模型对某些群体的偏见。提出了新的算法,如公平聚合方法,确保模型在不同客户端之间的性能均衡,避免数据不平衡导致的偏差。\n7. 联邦学习与区块链的结合 为了增强系统的安全性和透明度,一些研究探索了将联邦学习与区块链技术相结合。区块链的去中心化和不可篡改特性有助于建立可信的模型更新机制,防止恶意节点的攻击。\n8. 标准化和框架开发 为了促进联邦学习的研究和应用,开源框架如Federated AI Technology Enabler(FATE)、TensorFlow Federated和PySyft得到了进一步的发展。这些工具为研究者和开发者提供了方便的平台,加速了算法的实现和测试。\n9. 法律和伦理考量 随着数据隐私法规的日益严格,联邦学习在遵守法律法规的前提下,提供了新的数据合作方式。研究者也开始探讨联邦学习在伦理方面的影响,确保技术的使用符合社会道德标准,并积极应对潜在的法律风险。\n结论 总的来说,2022年以来的研究在解决联邦学习的核心挑战方面取得了重要进展,包括隐私保护、通信效率、数据异质性和模型公平性等。这些进展为联邦学习在各个行业的广泛应用奠定了基础,预示着该领域未来将有更为深远的影响。","salary": "25,000-50,000元/月",},{"theme": "大模型代理","year": "2023","content": "作为一名专业学者,我很高兴为您提供2023年以来大模型代理研究领域的富有洞见的综述。\n\n1. 大型语言模型的跃进\n2023年,随着GPT-4等新一代大型语言模型的发布,模型的参数规模和性能都有了显著提升。这些模型在自然语言理解和生成方面表现出了更高的准确性和流畅性,为大模型代理的构建奠定了坚实的基础。\n\n2. 自主代理的兴起\n基于大型语言模型的自主代理(Autonomous Agents)如AutoGPT、BabyAGI等,在2023年引起了广泛关注。这些代理能够在最小的人类干预下自主完成复杂任务,包括计划、执行和结果评估,展示了人工智能在自我驱动任务执行方面的潜力。\n\n3. 工具使用与环境交互\n研究者们探索了如何使大模型代理更有效地使用外部工具和API,例如浏览器、数据库、计算器等。这使得代理能够访问实时信息、执行复杂计算,以及与外部环境进行更深入的交互,从而扩展了其应用范围。\n\n4. 多模态融合\n2023年,多模态大模型的研究取得了突破性进展。代理不仅能够处理文本数据,还能理解和生成图像、音频等多种数据类型。这种多模态能力使得代理在视觉问答、图像生成、语音交互等领域有了新的应用。\n\n5. 推理与规划能力的提升\n通过引入链式思维(Chain-of-Thought)等技术,大模型代理的推理和规划能力得到了显著增强。模型能够逐步推导出解决方案,处理复杂的逻辑关系,提高了在复杂任务和问题解决中的表现。\n\n6. 安全性与伦理考量\n随着大模型代理功能的增强,其潜在的安全风险和伦理问题也日益凸显。研究者们致力于开发更好的对齐(Alignment)技术,确保代理的行为符合人类的价值观和社会规范。这包括防止模型生成有害内容、保护用户隐私,以及避免偏见和歧视。\n\n7. 开放合作与社区驱动\n许多大模型代理项目以开源的形式发布,促进了全球研究社区的合作。这种开放的生态系统加速了技术的迭代和创新,使得更多的研究者和开发者能够参与其中,共同推动领域的发展。\n\n8. 应用场景的拓展\n大模型代理在2023年被广泛应用于各个行业,包括医疗、金融、教育和娱乐等领域。例如,在医疗领域,代理可以协助诊断和提供个性化的治疗建议;在金融领域,代理可以进行风险评估和投资策略制定。\n\n结论\n2023年以来,大模型代理的研究取得了令人瞩目的进展。随着模型能力的提升和新技术的引入,代理在自主性、推理能力、多模态处理等方面都有了显著的突破。然而,随着技术的进步,安全和伦理挑战也需要得到重视。未来的研究应继续平衡技术创新和伦理考量,确保大模型代理的发展能够造福人类社会。","salary": "40,000-70,000元/月",}
]
然后创建提示模版。这个提示模板可以更加精准丰富一些,这里只是作个示范
## 创建原始模板
prompt_template = """您是一位专业的学者。对于 {theme} 研究领域的{year}以来的进展 ,您能提供富有洞见的综述吗?
主题:{theme}
时间:{year}
内容:{content}
薪资:{salary}
"""
prompt_sample = PromptTemplate(input_variables=["theme", "year", "content", "salary"],template=prompt_template)# print(prompt_sample.format(**samples[0]))
# print(prompt_sample.format(**samples[1]))
Embeddings选择
embedding将文本映射到稠密的向量空间中。在本文中,可以将示例样本映射到稠密空间中,而我们的提问也被映射到这个空间,比较我们的提问和示例的相似度,找到相似度最高的k条来作为参照样例。
huggingface的embedding榜单
选择1b以下的embedding模型,综合考量下选择arkohut/jina-embeddings-v3(在实现中,也写了all-mpnet-base-v2版本的)
用SSH命令下载不容易断网。如果断了,就手动下载那几个大文件

代码实现:
## embedding模型
model_name = "E:\jina-embeddings-v3"
model_kwargs = {'device': 'cpu','trust_remote_code':True}
encode_kwargs = {'normalize_embeddings': False}
hf = HuggingFaceEmbeddings(model_name=model_name,model_kwargs=model_kwargs,encode_kwargs=encode_kwargs
)
# model_name = "E:/all-mpnet-base-v2"
# model_kwargs = {'device': 'cpu'}
# encode_kwargs = {'normalize_embeddings': False}
# hf = HuggingFaceEmbeddings(
# model_name=model_name,
# model_kwargs=model_kwargs,
# encode_kwargs=encode_kwargs
# )
向量数据库选择
这是几个常见的开源向量数据库
这里我们选用常用的便于开发的Chroma作为向量数据库,来保存embedding模型转化的向量
然后构建样本选取器如下:
example_selector = SemanticSimilarityExampleSelector.from_examples(samples,hf,Chroma,k=1
)
总体代码实现
这个方法较之
结构化输入输出
对手工设计的提示词要求更少,对输出的规范性提升更高,也更能利用上已有的行业知识。但是它侧重于模仿,例如在月薪这块,它可能就只是照抄样例中的月薪。
# 测试本地大模型
from langchain.prompts import PromptTemplate
from langchain_ollama.llms import OllamaLLM
from langchain.output_parsers import StructuredOutputParser, ResponseSchema
import pandas as pd
from langchain_huggingface import HuggingFaceEmbeddings
from langchain_community.vectorstores import Chroma
from langchain.prompts.example_selector import SemanticSimilarityExampleSelector
from langchain.prompts import FewShotPromptTemplatesamples = [{"theme": "联邦学习","year": "2022","content": "自2022年以来,联邦学习(Federated Learning)领域取得了显著的进展,推动了其在实际应用中的可行性和有效性。\n1. 隐私保护技术的加强 近期研究在增强联邦学习的隐私保护方面取得了突破。例如,差分隐私和安全多方计算等技术的改进,使模型聚合过程更加安全,降低了敏感数据泄露的风险。这些技术的优化提高了计算效率,减少了引入的噪声,从而在保护隐私的同时保持了模型的性能。\n2. 通信效率的提升 为了解决联邦学习中的通信瓶颈,研究者开发了新的模型压缩和量化方法,如梯度剪枝、稀疏更新和压缩编码。这些方法有效减少了客户端和服务器之间的数据传输量,提高了系统的效率和可扩展性。\n3. 非独立同分布(Non-IID)数据处理 处理客户端数据的异质性仍然是联邦学习的主要挑战之一。近期的研究提出了个性化联邦学习算法和元学习方法,旨在提高模型在非IID数据环境下的性能。这些方法允许模型根据各客户端的特定数据分布进行调整,提升了整体效果。\n4. 联邦学习与深度学习的融合 随着深度学习模型的复杂性增加,将联邦学习应用于更深层次的神经网络成为研究热点。出现了如联邦迁移学习和联邦强化学习的新方向,拓展了联邦学习的应用范围,促进了在图像识别、自然语言处理等领域的应用。\n5. 应用领域的扩展 联邦学习的应用从移动设备扩展到了物联网、医疗保健、金融和智能交通等领域。例如,在医疗领域,联邦学习被用于跨机构的数据协作,保护患者隐私的同时提升诊断模型的准确性。\n6. 公平性和偏差问题 研究者开始关注联邦学习中的公平性,致力于减少模型对某些群体的偏见。提出了新的算法,如公平聚合方法,确保模型在不同客户端之间的性能均衡,避免数据不平衡导致的偏差。\n7. 联邦学习与区块链的结合 为了增强系统的安全性和透明度,一些研究探索了将联邦学习与区块链技术相结合。区块链的去中心化和不可篡改特性有助于建立可信的模型更新机制,防止恶意节点的攻击。\n8. 标准化和框架开发 为了促进联邦学习的研究和应用,开源框架如Federated AI Technology Enabler(FATE)、TensorFlow Federated和PySyft得到了进一步的发展。这些工具为研究者和开发者提供了方便的平台,加速了算法的实现和测试。\n9. 法律和伦理考量 随着数据隐私法规的日益严格,联邦学习在遵守法律法规的前提下,提供了新的数据合作方式。研究者也开始探讨联邦学习在伦理方面的影响,确保技术的使用符合社会道德标准,并积极应对潜在的法律风险。\n结论 总的来说,2022年以来的研究在解决联邦学习的核心挑战方面取得了重要进展,包括隐私保护、通信效率、数据异质性和模型公平性等。这些进展为联邦学习在各个行业的广泛应用奠定了基础,预示着该领域未来将有更为深远的影响。","salary": "25,000-50,000元/月",},{"theme": "大模型代理","year": "2023","content": "作为一名专业学者,我很高兴为您提供2023年以来大模型代理研究领域的富有洞见的综述。\n\n1. 大型语言模型的跃进\n2023年,随着GPT-4等新一代大型语言模型的发布,模型的参数规模和性能都有了显著提升。这些模型在自然语言理解和生成方面表现出了更高的准确性和流畅性,为大模型代理的构建奠定了坚实的基础。\n\n2. 自主代理的兴起\n基于大型语言模型的自主代理(Autonomous Agents)如AutoGPT、BabyAGI等,在2023年引起了广泛关注。这些代理能够在最小的人类干预下自主完成复杂任务,包括计划、执行和结果评估,展示了人工智能在自我驱动任务执行方面的潜力。\n\n3. 工具使用与环境交互\n研究者们探索了如何使大模型代理更有效地使用外部工具和API,例如浏览器、数据库、计算器等。这使得代理能够访问实时信息、执行复杂计算,以及与外部环境进行更深入的交互,从而扩展了其应用范围。\n\n4. 多模态融合\n2023年,多模态大模型的研究取得了突破性进展。代理不仅能够处理文本数据,还能理解和生成图像、音频等多种数据类型。这种多模态能力使得代理在视觉问答、图像生成、语音交互等领域有了新的应用。\n\n5. 推理与规划能力的提升\n通过引入链式思维(Chain-of-Thought)等技术,大模型代理的推理和规划能力得到了显著增强。模型能够逐步推导出解决方案,处理复杂的逻辑关系,提高了在复杂任务和问题解决中的表现。\n\n6. 安全性与伦理考量\n随着大模型代理功能的增强,其潜在的安全风险和伦理问题也日益凸显。研究者们致力于开发更好的对齐(Alignment)技术,确保代理的行为符合人类的价值观和社会规范。这包括防止模型生成有害内容、保护用户隐私,以及避免偏见和歧视。\n\n7. 开放合作与社区驱动\n许多大模型代理项目以开源的形式发布,促进了全球研究社区的合作。这种开放的生态系统加速了技术的迭代和创新,使得更多的研究者和开发者能够参与其中,共同推动领域的发展。\n\n8. 应用场景的拓展\n大模型代理在2023年被广泛应用于各个行业,包括医疗、金融、教育和娱乐等领域。例如,在医疗领域,代理可以协助诊断和提供个性化的治疗建议;在金融领域,代理可以进行风险评估和投资策略制定。\n\n结论\n2023年以来,大模型代理的研究取得了令人瞩目的进展。随着模型能力的提升和新技术的引入,代理在自主性、推理能力、多模态处理等方面都有了显著的突破。然而,随着技术的进步,安全和伦理挑战也需要得到重视。未来的研究应继续平衡技术创新和伦理考量,确保大模型代理的发展能够造福人类社会。","salary": "40,000-70,000元/月",}
]## 创建原始模板
prompt_template = """您是一位专业的学者。对于 {theme} 研究领域的{year}以来的进展 ,您能提供富有洞见的综述吗?
主题:{theme}
时间:{year}
内容:{content}
薪资:{salary}
"""
prompt_sample = PromptTemplate(input_variables=["theme", "year", "content", "salary"],template=prompt_template)# print(prompt_sample.format(**samples[0]))
# print(prompt_sample.format(**samples[1]))## embedding模型
model_name = "E:\jina-embeddings-v3"
model_kwargs = {'device': 'cpu','trust_remote_code':True}
encode_kwargs = {'normalize_embeddings': False}
hf = HuggingFaceEmbeddings(model_name=model_name,model_kwargs=model_kwargs,encode_kwargs=encode_kwargs
)
# model_name = "E:/all-mpnet-base-v2"
# model_kwargs = {'device': 'cpu'}
# encode_kwargs = {'normalize_embeddings': False}
# hf = HuggingFaceEmbeddings(
# model_name=model_name,
# model_kwargs=model_kwargs,
# encode_kwargs=encode_kwargs
# )example_selector = SemanticSimilarityExampleSelector.from_examples(samples,hf,Chroma,k=1
)prompt = FewShotPromptTemplate(example_selector=example_selector,example_prompt=prompt_sample,suffix="您是一位专业的学者。对于 {theme} 研究领域的{year}以来的进展 ,您能提供富有洞见的综述吗?\n主题: {theme}\n年份: {year}\n",input_variables=["theme", "year"]
)## 模型
model = OllamaLLM(model='qwen2.5:3b')# 文献检索列表
Theme = ["张量分解","大模型压缩","大模型推理加速"]
Year = ["2020","2021","2021"]for theme, year in zip(Theme, Year):# 使用提示模板生成输入input_prompt = prompt.format(theme=theme, year=year)res = model.invoke([input_prompt])print(res)相关文章:
LangChain Ollama实战文献检索助手(二)少样本提示FewShotPromptTemplate示例选择器
本期是用样例来提示大模型生成我们想要的答案。即在输入中给定提示的样例,以及提示模板,然后匹配较相关的样例进行文献综述。 创建示例样本FewShotPromptTemplate 这里我用GTP-o1生成了几个回答,作为样本 samples [{"theme": &…...
K倍区间 C++
1230. K倍区间 - AcWing题库 一开始想到的用前缀和来做,时间复杂度为O(n^2),Time Limit Exceeded #include <iostream> #include <cstring> #include <algorithm> #include <cstdio>using namespace std;const int N 100010;int n,k; in…...
Linux - 弯路系列3:安装和编译libvirt-4.5.0
系统:Anolis8(离线) 目录 1、步骤2、make过程中的错误错误1:error: xdr_u_int64_t undeclared (first use in this function) 3、make install的错误错误1:/usr/bin/mkdir -p ""/usr/local/etc/libvirt/nwf…...
Jenkins插件使用问题总结
Git Push插件 插件介绍 主要是用于git推送代码到远程仓库中使用,插件地址 pipeline中使用 官方说明中只有一句代码gitPush(gitScm: scm, targetBranch: env.BRANCH_NAME, targetRepo: origin) 流水线语法中也做的不齐全所以一开始我老是设置错,导致代…...
u盘怎么重装电脑系统_u盘重装电脑系统步骤和详细教程【新手宝典】
u盘怎么重装电脑系统?一个u盘怎么重装电脑系统呢,需要将u盘制作成u盘启动盘pe,然后通过U盘启动盘进入pe进行安装系统,下面小编就教大家u盘重装电脑系统步骤和详细教程。 u盘启动是什么意思? U盘启动盘是一种具有特殊功…...
Sql server查询数据库表的数量
SELECT count(*) FROM sys.objects WHERE typeU --统计表数量 SELECT NAME FROM sys.objects WHERE typeU --列出表名称 或者 SELECT COUNT(*) FROM SysObjects Where XTypeU --统计表数量 SELECT Name FROM SysObjects Where XTypeU --列出表名称 --判断字…...
Linux学习笔记之软件包管理RPM与YUM
RPM包的管理 介绍 RPM(RedHat Package Manager)用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。他生成具有.RPM扩展名的文件。RPM类似Windows的setup.exe,这一文件格式虽然打上了RedHat的标志,但理念…...
15分钟学 Go 第 41 天:中间件的使用
第41天:中间件的使用 目标:学习如何在Go语言的Web服务中使用中间件 中间件(Middleware)是Web开发中的一种常见设计模式,通常用于处理请求和响应过程中的一些共通功能。比如:日志记录、认证授权、请求处理…...
《Python 与 SQLite:强大的数据库组合》
《Python 与 SQLite:强大的数据库组合》 一、Python 与 SQLite 的结合二、安装与连接(一)安装 SQLite 模块(二)连接到数据库 三、数据库操作(一)创建表格(二)插入数据&am…...
Golang | Leetcode Golang题解之第552题学生出勤记录II
题目: 题解: const mod int 1e9 7type matrix [6][6]intfunc (a matrix) mul(b matrix) matrix {c : matrix{}for i, row : range a {for j : range b[0] {for k, v : range row {c[i][j] (c[i][j] v*b[k][j]) % mod}}}return c }func (a matrix) p…...
Vue3 常用代码指南手抄,超详细 cheatsheet
一、Vue3 基础 1.1 创建 Vue3 项目 使用 Vite 创建 npm create vitelatest my-vue-app -- --template vue cd my-vue-app npm install npm run dev使用 Vue CLI 创建 npm install -g vue/cli vue create my-vue-app1.2 项目结构 my-vue-app ├── node_modules ├── pu…...
结构体是否包含特定类型的成员变量
结构体是否包含特定类型的成员变量 在C中,可以使用模板元编程和类型特性(type traits)来判断一个结构体是否包含特定类型的成员变量。这通常通过std::is_member_object_pointer类型特性来实现,它可以用来检查给定的成员指针是否指…...
堆排序与链式二叉树:数据结构与排序算法的双重探索
大家好,我是小卡皮巴拉 文章目录 目录 引言 一.堆排序 1.1 版本一 核心概念 堆排序过程 1.2 版本二 堆排序函数 HeapSort 向下调整算法 AdjustDown 向上调整算法 AdjustUp 二.链式二叉树 2.1 前中后序遍历 链式二叉树的结构 创建链式二叉树 前序遍历…...
用 Python 从零开始创建神经网络(四):激活函数(Activation Functions)
激活函数(Activation Functions) 引言1. 激活函数的种类a. 阶跃激活功能b. 线性激活函数c. Sigmoid激活函数d. ReLU 激活函数e. more 2. 为什么使用激活函数3. 隐藏层的线性激活4. 一对神经元的 ReLU 激活5. 在隐蔽层中激活 ReLU6. ReLU 激活函数代码7. …...
使用 Flask 和 ONLYOFFICE 实现文档在线编辑功能
提示:CSDN 博主测评ONLYOFFICE 文章目录 引言技术栈环境准备安装 ONLYOFFICE 文档服务器获取 API 密钥安装 Flask 和 Requests 创建 Flask 应用项目结构编写 app.py创建模板 templates/index.html 运行应用功能详解文档上传生成编辑器 URL显示编辑器回调处理 安全性…...
【C++】【算法基础】序列编辑距离
编辑距离 题目 给定 n n n个长度不超过 10 10 10 的字符串以及 m m m 次询问,每次询问给出一个字符串和一个操作次数上限。 对于每次询问,请你求出给定的 n n n个字符串中有多少个字符串可以在上限操作次数内经过操作变成询问给出的字符串。 每个…...
【Android】轮播图——Banner
引言 Banner轮播图是一种在网页和移动应用界面设计中常见的元素,主要用于在一个固定的区域内自动或手动切换一系列图片,以展示不同的内容或信息。这个控件在软件当中经常看到,商品促销、热门歌单、头像新闻等等。它不同于ViewPgaer在于无需手…...
学SQL,要安装什么软件?
先上结论,推荐MySQLDbeaver的组合。 学SQL需要安装软件吗? 记得几年前我学习SQL的时候,以为像Java、Python一样需要安装SQL软件包,后来知道并没有所谓SQL软件,因为SQL是一种查询语言,它用来对数据库进行操…...
webstorm 设置总结
编辑器-》文件类型-》忽略的文件和文件夹-》加上node_modules 修改WebStorm 内存有两种方式。 1. 点击菜单中的Help -> change memory settings 弹出设置内存窗口,修改最大内存大小。然后点击Save and Restart 即可。 2. 点击菜单中的Help -> Edit Custom V…...
基于Spring Boot的养老保险管理系统的设计与实现,LW+源码+讲解
摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统养老保险管理系统信息管理难度大,容错率低&a…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
