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

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题库 一开始想到的用前缀和来做&#xff0c;时间复杂度为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

系统&#xff1a;Anolis8&#xff08;离线&#xff09; 目录 1、步骤2、make过程中的错误错误1&#xff1a;error: xdr_u_int64_t undeclared (first use in this function) 3、make install的错误错误1&#xff1a;/usr/bin/mkdir -p ""/usr/local/etc/libvirt/nwf…...

Jenkins插件使用问题总结

Git Push插件 插件介绍 主要是用于git推送代码到远程仓库中使用&#xff0c;插件地址 pipeline中使用 官方说明中只有一句代码gitPush(gitScm: scm, targetBranch: env.BRANCH_NAME, targetRepo: origin) 流水线语法中也做的不齐全所以一开始我老是设置错&#xff0c;导致代…...

u盘怎么重装电脑系统_u盘重装电脑系统步骤和详细教程【新手宝典】

u盘怎么重装电脑系统&#xff1f;一个u盘怎么重装电脑系统呢&#xff0c;需要将u盘制作成u盘启动盘pe&#xff0c;然后通过U盘启动盘进入pe进行安装系统&#xff0c;下面小编就教大家u盘重装电脑系统步骤和详细教程。 u盘启动是什么意思&#xff1f; 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&#xff08;RedHat Package Manager&#xff09;用于互联网下载包的打包及安装工具&#xff0c;它包含在某些Linux分发版中。他生成具有.RPM扩展名的文件。RPM类似Windows的setup.exe&#xff0c;这一文件格式虽然打上了RedHat的标志&#xff0c;但理念…...

15分钟学 Go 第 41 天:中间件的使用

第41天&#xff1a;中间件的使用 目标&#xff1a;学习如何在Go语言的Web服务中使用中间件 中间件&#xff08;Middleware&#xff09;是Web开发中的一种常见设计模式&#xff0c;通常用于处理请求和响应过程中的一些共通功能。比如&#xff1a;日志记录、认证授权、请求处理…...

《Python 与 SQLite:强大的数据库组合》

《Python 与 SQLite&#xff1a;强大的数据库组合》 一、Python 与 SQLite 的结合二、安装与连接&#xff08;一&#xff09;安装 SQLite 模块&#xff08;二&#xff09;连接到数据库 三、数据库操作&#xff08;一&#xff09;创建表格&#xff08;二&#xff09;插入数据&am…...

Golang | Leetcode Golang题解之第552题学生出勤记录II

题目&#xff1a; 题解&#xff1a; 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中&#xff0c;可以使用模板元编程和类型特性&#xff08;type traits&#xff09;来判断一个结构体是否包含特定类型的成员变量。这通常通过std::is_member_object_pointer类型特性来实现&#xff0c;它可以用来检查给定的成员指针是否指…...

堆排序与链式二叉树:数据结构与排序算法的双重探索

大家好&#xff0c;我是小卡皮巴拉 文章目录 目录 引言 一.堆排序 1.1 版本一 核心概念 堆排序过程 1.2 版本二 堆排序函数 HeapSort 向下调整算法 AdjustDown 向上调整算法 AdjustUp 二.链式二叉树 2.1 前中后序遍历 链式二叉树的结构 创建链式二叉树 前序遍历…...

用 Python 从零开始创建神经网络(四):激活函数(Activation Functions)

激活函数&#xff08;Activation Functions&#xff09; 引言1. 激活函数的种类a. 阶跃激活功能b. 线性激活函数c. Sigmoid激活函数d. ReLU 激活函数e. more 2. 为什么使用激活函数3. 隐藏层的线性激活4. 一对神经元的 ReLU 激活5. 在隐蔽层中激活 ReLU6. ReLU 激活函数代码7. …...

使用 Flask 和 ONLYOFFICE 实现文档在线编辑功能

提示&#xff1a;CSDN 博主测评ONLYOFFICE 文章目录 引言技术栈环境准备安装 ONLYOFFICE 文档服务器获取 API 密钥安装 Flask 和 Requests 创建 Flask 应用项目结构编写 app.py创建模板 templates/index.html 运行应用功能详解文档上传生成编辑器 URL显示编辑器回调处理 安全性…...

【C++】【算法基础】序列编辑距离

编辑距离 题目 给定 n n n个长度不超过 10 10 10 的字符串以及 m m m 次询问&#xff0c;每次询问给出一个字符串和一个操作次数上限。 对于每次询问&#xff0c;请你求出给定的 n n n个字符串中有多少个字符串可以在上限操作次数内经过操作变成询问给出的字符串。 每个…...

【Android】轮播图——Banner

引言 Banner轮播图是一种在网页和移动应用界面设计中常见的元素&#xff0c;主要用于在一个固定的区域内自动或手动切换一系列图片&#xff0c;以展示不同的内容或信息。这个控件在软件当中经常看到&#xff0c;商品促销、热门歌单、头像新闻等等。它不同于ViewPgaer在于无需手…...

学SQL,要安装什么软件?

先上结论&#xff0c;推荐MySQLDbeaver的组合。 学SQL需要安装软件吗&#xff1f; 记得几年前我学习SQL的时候&#xff0c;以为像Java、Python一样需要安装SQL软件包&#xff0c;后来知道并没有所谓SQL软件&#xff0c;因为SQL是一种查询语言&#xff0c;它用来对数据库进行操…...

webstorm 设置总结

编辑器-》文件类型-》忽略的文件和文件夹-》加上node_modules 修改WebStorm 内存有两种方式。 1. 点击菜单中的Help -> change memory settings 弹出设置内存窗口&#xff0c;修改最大内存大小。然后点击Save and Restart 即可。 2. 点击菜单中的Help -> Edit Custom V…...

基于Spring Boot的养老保险管理系统的设计与实现,LW+源码+讲解

摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统养老保险管理系统信息管理难度大&#xff0c;容错率低&a…...

Java | Leetcode Java题解之第541题反转字符串II

题目&#xff1a; 题解&#xff1a; class Solution {public String reverseStr(String s, int k) {int n s.length();char[] arr s.toCharArray();for (int i 0; i < n; i 2 * k) {reverse(arr, i, Math.min(i k, n) - 1);}return new String(arr);}public void reve…...

sql分区

将学员表student按所在城市使用PARTITION BY LIST 1、创建分区表。 CREATE TABLE public.student( sno numeric(4,0)&#xff0c; sname character varying(20 char),gender character varying(2 char), phone numeric(11,0), …...

[OpenGL]使用OpenGL实现硬阴影效果

一、简介 本文介绍了如何使用OpenGL实现硬阴影效果&#xff0c;并在最后给出了全部的代码。本文基于[OpenGL]渲染Shadow Map&#xff0c;实现硬阴影的流程如下&#xff1a; 首先&#xff0c;以光源为视角&#xff0c;渲染场景的深度图&#xff0c;将light space中的深度图存储…...

嵌入式采集网关(golang版本)

为了一次编写到处运行&#xff0c;使用纯GO编写&#xff0c;排除CGO&#xff0c;解决在嵌入式中交叉编译难问题 硬件设备&#xff1a;移远EC200A-CN LTE Cat 4 无线通信模块&#xff0c;搭载openwrt操作系统&#xff0c;90M内存...

ctfshow(328)--XSS漏洞--存储型XSS

Web328 简单阅读一下页面。 是一个登录系统&#xff0c;存在一个用户管理数据库。 那么我们注册一个账号&#xff0c;在账号或者密码中植入HTML恶意代码&#xff0c;当管理员访问用户管理数据库页面时&#xff0c;就会触发我们的恶意代码。 思路 我们向数据库中写入盗取管理员…...

【C#】Thread.CurrentThread的用法

Thread.CurrentThread 是 System.Threading.Thread 类的一个静态属性&#xff0c;它返回当前正在执行的线程对象。通过 Thread.CurrentThread&#xff0c;可以访问和修改当前线程的各种属性和方法。 下面是一些常见的用法和示例&#xff1a; 1. 获取当前线程的信息 使用 Thr…...

简单分享一下淘宝商品数据自动化抓取的技术实现与挑战

在电子商务领域&#xff0c;数据是驱动决策的关键。淘宝作为国内最大的电商平台之一&#xff0c;其商品数据对电商从业者来说具有极高的价值。然而&#xff0c;从淘宝平台自动化抓取商品数据并非易事&#xff0c;涉及多重技术和法律挑战。本文将从技术层面分析实现淘宝商品数据…...

Netty篇(入门编程)

目录 一、Hello World 1. 目标 2. 服务器端 3. 客户端 4. 流程梳理 &#x1f4a1; 提示 5. 运行结果截图 二、Netty执行流程 1. 流程分析 2. 代码案例 2.1. 引入依赖 2.2. 服务端 服务端 服务端处理器 2.3. 客户端 客户端 客户端处理器 2.4. 代码截图 一、Hel…...

【渗透测试】payload记录

Java开发使用char[]代替String保存敏感数据 Java Jvm会提供内存转储功能&#xff0c;当Java程序dump后&#xff0c;会生成堆内存的快照&#xff0c;保存在.hprof后缀的文件中&#xff0c;进而导致敏感信息的泄露。char[]可以在存储敏感数据后手动清零&#xff0c;String对象会…...

2024自动驾驶线控底盘行业研究报告

自动驾驶线控底盘是实现自动驾驶的关键技术之一,它通过电子信号来控制车辆的行驶,包括转向、制动、驱动、换挡和悬架等系统。线控底盘技术的发展对于自动驾驶汽车的实现至关重要,因为它提供了快速响应和精确控制的能力,这是自动驾驶系统所必需的。 线控底盘由五大系统组成…...

做网站哪便宜/游戏推广在哪里接活

左下角阅读原文看CAD视频好课推荐&#xff1a;1、CAD2014&#xff1a;点击查看 2、室内CAD&#xff1a;点击查看 3、CAD2019&#xff1a;点击查看4、CAD2018&#xff1a;点击查看5、Bim教程&#xff1a;点击查看6、室内手绘&#xff1a;点击查看7、CAD三维&#xff1a;点击查看…...

优秀国外网站/人大常委会委员长

https://www.jianshu.com/p/1b1a018ae729 根据IP 自动识别国家和城市转载于:https://www.cnblogs.com/Andrew520/p/10840122.html...

wordpress页面分类目录/淘宝关键词排名查询网站

真没想到&#xff01;PDF转Word这么简单&#xff0c;按下这个键&#xff0c;轻松搞定相信大家在工作中都遇到过用PDF文件转Word的情况&#xff0c;对于不常使用PDF文件的朋友来说&#xff0c;每次都要花费大量的时间将对方文件转成Word文档。今天就来教大家一个非常简单的PDF转…...

织梦本地做的网站内网访问不/seo投放

我们在写程序的时候&#xff0c;极有可能遇到需要重复执行某条指令或某些指令的场景&#xff0c;例如我们需要每隔1秒钟在屏幕上输出一次“hello, world”并持续输出一个小时。如下所示的代码可以完成一次这样的操作&#xff0c;如果要持续输出一个小时&#xff0c;我们就需要把…...

中小企业服务/天门seo

为什么80%的码农都做不了架构师&#xff1f;>>> 这是一张美女海报&#xff0c;「東京大学情報理工学系研究科」每年的招生海报都非常有内涵&#xff0c;其内涵之一是身着华美传统服饰的海报女郎&#xff0c;其内涵之二则是隐藏在海报上那串二进制数字背后的谜题。h…...

长安做网站/成都高端企业网站建设

缘起 用了几天Virtual Box&#xff0c;有点不顺手&#xff1a; 1、屏幕太小&#xff0c;看着累&#xff1b; 2、每次虚拟机内和外切换需要按Right Ctrl&#xff1b; 3、最痛苦的是&#xff0c;快照太难用&#xff0c;折腾了几次把系统折腾挂了。 所以换上Vmware Workstation玩…...