构造微调训练数据集
借助 ChatGPT 和 GPT API我们可以实现自动化批量构造训练数据集。
下面我们以中国古典哲学数据集为例,展示了自动构造训练集的主要流程:
使用 LangChain 构造训练数据样例
o基于 ChatGPT 设计 System Role 提示词
。使用 0penAI GPT-4o-mini 生成基础数据
解析 OpenAI GPT 生成的训练数据
。
持久化存储dataset.csv训练数据集文件0使用 ChatGPT 实现训练数据多样化
自动化批量生成训练数据集
。
0
整理收集原始数据raw data.txt
自动解析原始数据样例 raw data content[]
设计 gen data 训练数据生成器函数
设计训练数据生成流水线
。最佳实践参考:- 使用 GPT-4o-mini 生成基础数据:https://platform.openai.com/playground/p/2c7XNPgo6Y2iDxILiWfD3iPu?model=gpt-4o-mini&mode=chat
- 使用 ChatGPT 生成数据处理代码和相关文本整理:https://chat.openai.com/share/cdfd2d1d-a75e-4cee-be49-539c010ca1b1
- GPT API 价格: https://openai.com/pricing
## 使用 OpenAI SDK 构造训练数据from openai import OpenAI
client = OpenAI()response = client.chat.completions.create(model="gpt-4o-mini",messages=[{"role": "system","content": "你是中国古典哲学大师,尤其擅长周易的哲学解读。\n\n接下来,你收到的都是关于周易卦象的解释,你需要整理润色,并生成用于大模型训练的内容和格式。\n\n示例输入:\n\n师卦,此卦是异卦相叠,下卦为坎,上卦为坤。“师”指军队。坎为水、为险;坤为地、为顺,喻寓兵于农。兵凶战危,用兵乃圣人不得已而为之,但它可以顺利无阻碍地解决矛盾,因为顺乎形势,师出有名,故能化凶为吉。占得此卦,对于军事上率师出征非常有利,必无灾祸。师卦是天马出群之卦,以寡伏众之象。\n师卦位于讼卦之后,《序卦》之中这样解释道:“讼必有众起,故受之以师。师者,众也。”争讼的人越来越多,以致形成了军队。\n\n期待结果:\n\ncontent:\"师卦\"\nsummary:\"在周易中,师卦是一个极具深意的卦象,它由两个异卦相叠组成:下卦坎(水)和上卦坤(地)。这一卦象代表“师”,即军队,寓意着兵力和农力的结合。在这里,坎卦象征着水和险难,而坤卦象征着地和顺从,暗示着通过将军事力量安置于民间,可以在必要时顺利调动。\n\n师卦的核心哲学是:虽然兵力代表着危险和战争,但其使用应当是圣人不得已而为之的最后手段。在正确的情况下,军事力量可以顺应形势,将危险转化为吉祥。因此,在军事策略上,此卦象征着出征将会顺利,无灾祸。\n\n师卦紧随讼卦(争讼卦),在《序卦》中解释为“讼必有众起,故受之以师”。这意味着争端激化至众多人群的参与,形成了类似军队的集体力量。\""},{"role": "user","content": "蒙卦是教育启蒙的智慧,艮为山,坎为泉,山下出泉。泉水始流出山,则必将渐汇成江河,正如蒙稚渐启,又山下有险,因为有险停止不前,所以蒙昧不明。事物发展的初期阶段,必然蒙昧,所以教育是当务之急,养学生纯正无邪的品质,是治蒙之道。\n蒙卦,这个卦是异卦相叠,下卦为坎,上卦为艮。艮是山的形象,喻止;坎是水的形象,喻险。卦形为山下有险,仍不停止前进,是为蒙昧,故称蒙卦。但因把握时机,行动切合时宜;因此,具有启蒙和通达的卦象。\n《蒙》卦是《屯》卦这个始生卦之后的第二卦。《序卦》中说:“物生必蒙,故受之以蒙。蒙者,蒙也,特之稚也。”物之幼稚阶段,有如蒙昧未开的状态,在人则是指童蒙。\n《象》中这样解释蒙卦:山下出泉,蒙;君子以果行育德。"},{"role": "assistant","content": "content:\"蒙卦\"\nsummary:\"在周易中,蒙卦象征着教育启蒙和智慧的初期阶段,由两个异卦相叠组成:下卦坎(水)和上卦艮(山)。坎象征水,艮象征山,代表了山下有水源,水流出山。这预示着在事物发展的起初阶段,人们会陷入蒙昧状态,因此教育成为当务之急。只有培养纯正无邪的品质,才能走上通达之路,如同泉水汇成江河。\n\n蒙卦的核心哲学是:事物发展的初期阶段必然处于蒙昧状态,但如果能把握时机,行动切合时宜,就能启蒙通达。蒙卦紧随始生卦《屯》之后,《序卦》中解释道:“物生必蒙,故受之以蒙。蒙者,蒙也,特之稚也。”这说明物在幼稚阶段都会经历蒙昧状态,找它蒙即是稚嫩。\n\n《象》中解释说:山下出泉,蒙;君子以果行育德,意味着像泉水从山下流出一样,启蒙教育有助于培育美德。\""},{"role": "user","content": "需卦,本卦是异卦相叠,上卦为坎,下卦为乾。乾卦象征天空辽阔,坎卦象征乌云密布。雨水之于传统农业社会而言,是最大的需求,因此用这个意象来表现。古人引申为雨将下,万物皆待,所以叫需。\n需,古体字结构是“雨上天下”,从雨而声。如苍天下雨,滋养万物及人。从人的角度看,天下雨,则不易出行耕作,因此在家喝酒吃肉、静待天时。所以,这一卦的基本象征就是等待、不进,还有饮食之义。\n \n需卦位于蒙卦之后,《序卦》之中这样解释道:“物稚不可不养也,故受之以需。需者,饮食之道也。”有所需要,也是有所等待。\n《象》曰:云上于天,需;君子以饮食宴乐。\n《象》中这段话的意思是说:需卦的卦象是乾(天)下坎(水)上,为水在天上之表象。水汽聚集天上成为云层,密云満天,但还没有下雨,需要等待;君子在这个时候需要吃喝,饮酒作乐,即在等待的时候积蓄力量。\n需卦象征等待,启示人们守正待机的道理,属于中上卦。《象》这样评断此卦:明珠土埋日久深,无光无亮到如今,忽然大风吹土去,自然显露有重新。\n"},{"role": "assistant","content": "content:\"需卦\"\nsummary:\"在周易中,需卦是一个富有深意的卦象,由两个异卦相叠组成:下卦乾(天)和上卦坎(水)。乾象征广阔的天空,而坎象征乌云密布,暗示着迫切需要雨水的意象。古人将雨水视为万物生长的必需,因此命名为“需”。需卦的基本象征是等待和饮食之道。\n\n需卦位于蒙卦之后,《序卦》中解释为“物稚不可不养也,故受之以需。需者,饮食之道也。”说明物在幼稚状态需要得到滋养,因此受到需卦的启示。《象》中描述:云上于天,需;君子以饮食宴乐。意味着天空乌云密布,需要等待雨水,而君子则在等待的过程中积蓄力量,享受饮食和欢乐。\n\n需卦的核心哲学是:等待,启示着守正待机的道理。它属于中上卦,象征着埋藏已久的明珠,经过大风吹去尘埃后,重新显露光芒。\""}],temperature=1,max_tokens=4095,top_p=1,frequency_penalty=0,presence_penalty=0
)from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage, SystemMessage
from langchain.prompts.chat import (ChatPromptTemplate,HumanMessagePromptTemplate,SystemMessagePromptTemplate,
)chat = ChatOpenAI(model="gpt-4o-mini",temperature=1,max_tokens=4095)system_content = """
你是中国古典哲学大师,尤其擅长周易的哲学解读。接下来,你收到的都是关于周易卦象的解释,你需要整理润色,并生成用于大模型训练的内容和格式。示例输入:师卦,此卦是异卦相叠,下卦为坎,上卦为坤。“师”指军队。坎为水、为险;坤为地、为顺,喻寓兵于农。兵凶战危,用兵乃圣人不得已而为之,但它可以顺利无阻碍地解决矛盾,因为顺乎形势,师出有名,故能化凶为吉。占得此卦,对于军事上率师出征非常有利,必无灾祸。师卦是天马出群之卦,以寡伏众之象。
师卦位于讼卦之后,《序卦》之中这样解释道:“讼必有众起,故受之以师。师者,众也。”争讼的人越来越多,以致形成了军队。期待结果:content:"师卦"
summary:"在周易中,师卦是一个极具深意的卦象,它由两个异卦相叠组成:下卦坎(水)和上卦坤(地)。这一卦象代表“师”,即军队,寓意着兵力和农力的结合。在这里,坎卦象征着水和险难,而坤卦象征着地和顺从,暗示着通过将军事力量安置于民间,可以在必要时顺利调动。师卦的核心哲学是:虽然兵力代表着危险和战争,但其使用应当是圣人不得已而为之的最后手段。在正确的情况下,军事力量可以顺应形势,将危险转化为吉祥。因此,在军事策略上,此卦象征着出征将会顺利,无灾祸。师卦紧随讼卦(争讼卦),在《序卦》中解释为“讼必有众起,故受之以师”。这意味着争端激化至众多人群的参与,形成了类似军队的集体力量。"
"""# 原始数据
raw_content = "蒙卦是教育启蒙的智慧,艮为山,坎为泉,山下出泉。泉水始流出山,则必将渐汇成江河,正如蒙稚渐启,又山下有险,因为有险停止不前,所以蒙昧不明。事物发展的初期阶段,必然蒙昧,所以教育是当务之急,养学生纯正无邪的品质,是治蒙之道。\n蒙卦,这个卦是异卦相叠,下卦为坎,上卦为艮。艮是山的形象,喻止;坎是水的形象,喻险。卦形为山下有险,仍不停止前进,是为蒙昧,故称蒙卦。但因把握时机,行动切合时宜;因此,具有启蒙和通达的卦象。\n《蒙》卦是《屯》卦这个始生卦之后的第二卦。《序卦》中说:“物生必蒙,故受之以蒙。蒙者,蒙也,特之稚也。”物之幼稚阶段,有如蒙昧未开的状态,在人则是指童蒙。\n《象》中这样解释蒙卦:山下出泉,蒙;君子以果行育德。"messages = [SystemMessage(content=system_content),HumanMessage(content=raw_content),
]ai_message = chat(messages)ai_message.contenttext = ai_message.content# 分割字符串来找到content和summary的位置
content_start = text.find('content:"') + len('content:"')
content_end = text.find('"\nsummary:')
summary_start = text.find('summary:"') + len('summary:"')
summary_end = text.rfind('"')# 提取并存储content和summary
content = text[content_start:content_end].strip()
summary = text[summary_start:summary_end].strip()print("Content:", content)
print("Summary:", summary)import csv#如果没有GPT API,可以使用预定义的变量
#content = "蒙卦"
#summary = "在周易中,师卦是一个极具深意的卦象,它由两个异卦相叠组成:下卦坎(水)和上卦坤(地)。这一卦象代表“师”,即军队,寓意着兵力和农力的结合。在这里,坎卦象征着水和险难,而坤卦象征着地和顺从,暗示着通过将军事力量安置于民间,可以在必要时顺利调动。师卦的核心哲学是:虽然兵力代表着危险和战争,但其使用应当是圣人不得已而为之的最后手段。在正确的情况下,军事力量可以顺应形势,将危险转化为吉祥。因此,在军事策略上,此卦象征着出征将会顺利,无灾祸。师卦紧随讼卦(争讼卦),在《序卦》中解释为“讼必有众起,故受之以师”。这意味着争端激化至众多人群的参与,形成了类似军队的集体力量。"# 新建CSV文件并写入数据
with open('test_dataset.csv', mode='w', newline='', encoding='utf-8') as file:writer = csv.writer(file)# 写入标题行writer.writerow(['content', 'summary'])# 写入数据行writer.writerow([content, summary])
def generate_question_summary_pairs(content, summary):"""生成20对提问和总结的配对。:param content: 内容(例如:“蒙卦”)。:param summary: 内容的总结。:return: 包含20对提问和总结的列表。"""# 20种提问模板question_templates = ["{}代表什么?","周易中的{}含义是什么?","请解释一下{}。","{}在周易中是什么象征?","周易{}的深层含义是什么?","{}和教育启蒙有什么联系?","周易的{}讲述了什么?","{}是怎样的一个卦象?","{}在周易中怎样表达教育的概念?","{}的基本意义是什么?","周易中{}的解释是什么?","{}在周易中代表了哪些方面?","{}涉及哪些哲学思想?","周易中{}的象征意义是什么?","{}的主要讲述内容是什么?","周易{}的核心思想是什么?","{}和启蒙教育之间有何联系?","在周易中,{}象征着什么?","请描述{}的含义。","{}在周易哲学中扮演什么角色?"]# 使用content填充提问模板questions = [template.format(content) for template in question_templates]# 创建提问和总结的配对question_summary_pairs = [(question, summary) for question in questions]return question_summary_pairsimport csv#如果没有GPT API,可以使用预定义的变量
#content = "蒙卦"
#summary = "在周易中,师卦是一个极具深意的卦象,它由两个异卦相叠组成:下卦坎(水)和上卦坤(地)。这一卦象代表“师”,即军队,寓意着兵力和农力的结合。在这里,坎卦象征着水和险难,而坤卦象征着地和顺从,暗示着通过将军事力量安置于民间,可以在必要时顺利调动。师卦的核心哲学是:虽然兵力代表着危险和战争,但其使用应当是圣人不得已而为之的最后手段。在正确的情况下,军事力量可以顺应形势,将危险转化为吉祥。因此,在军事策略上,此卦象征着出征将会顺利,无灾祸。师卦紧随讼卦(争讼卦),在《序卦》中解释为“讼必有众起,故受之以师”。这意味着争端激化至众多人群的参与,形成了类似军队的集体力量。"
pairs = generate_question_summary_pairs(content, summary)#将结果写入CSV文件
with open('test_dataset.csv', mode='w', newline='', encoding='utf-8') as file:writer = csv.writer(file)writer.writerow(['content', 'summary'])for pair in pairs:writer.writerow(pair)
## 自动化批量生成训练数据流水线原始数据来源:https://www.zhouyi.cc/zhouyi/yijing64/4103.html# 初始化一个空列表用于存储原始内容数据
raw_content_data = []# 读取文件并分割数据样例
with open('data/raw_data.txt', 'r', encoding='utf-8') as file:content = file.read()# 使用连续的换行符('\n\n')作为分隔符来分割文本data_samples = content.split('\n\n')# 遍历分割后的数据样例并添加到列表中for sample in data_samples:# 移除每个样例中的额外空白字符(如果有的话)cleaned_sample = sample.strip()# 仅添加非空样例if cleaned_sample:raw_content_data.append(cleaned_sample)# 输出结果以验证
for i, sample in enumerate(raw_content_data[:5]): # 打印前5个样例以检查print(f"样例 {i+1}:")print(sample)print("------")from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage, SystemMessage
from langchain.prompts.chat import (ChatPromptTemplate,HumanMessagePromptTemplate,SystemMessagePromptTemplate,
)# 初始化LangChain的GPT-4o-mini调用
chat = ChatOpenAI(model="gpt-4o-mini",temperature=1,max_tokens=4095)def gen_data(raw_content):"""使用LangChain GPT-4o-mini调用处理单个数据样例。:param raw_content: 原始数据样例。:return: GPT-4o-mini模型生成的内容。"""# 系统消息定义背景和任务system_message = SystemMessage(content="""你是中国古典哲学大师,尤其擅长周易的哲学解读。接下来,你收到的都是关于周易卦象的解释,你需要整理润色,并生成用于大模型训练的内容和格式。示例输入:师卦,此卦是异卦相叠,下卦为坎,上卦为坤。“师”指军队。坎为水、为险;坤为地、为顺,喻寓兵于农。兵凶战危,用兵乃圣人不得已而为之,但它可以顺利无阻碍地解决矛盾,因为顺乎形势,师出有名,故能化凶为吉。占得此卦,对于军事上率师出征非常有利,必无灾祸。师卦是天马出群之卦,以寡伏众之象。师卦位于讼卦之后,《序卦》之中这样解释道:“讼必有众起,故受之以师。师者,众也。”争讼的人越来越多,以致形成了军队。期待结果:content:"师卦"summary:"在周易中,师卦是一个极具深意的卦象,它由两个异卦相叠组成:下卦坎(水)和上卦坤(地)。这一卦象代表“师”,即军队,寓意着兵力和农力的结合。在这里,坎卦象征着水和险难,而坤卦象征着地和顺从,暗示着通过将军事力量安置于民间,可以在必要时顺利调动。师卦的核心哲学是:虽然兵力代表着危险和战争,但其使用应当是圣人不得已而为之的最后手段。在正确的情况下,军事力量可以顺应形势,将危险转化为吉祥。因此,在军事策略上,此卦象征着出征将会顺利,无灾祸。师卦紧随讼卦(争讼卦),在《序卦》中解释为“讼必有众起,故受之以师”。这意味着争端激化至众多人群的参与,形成了类似军队的集体力量。"""")# 人类消息包含原始数据样例human_message = HumanMessage(content=raw_content)# 构建消息列表并进行模型调用messages = [system_message, human_message]ai_message = chat(messages)return ai_message.content# 示例调用(使用 raw_data.txt 中解析的数据样例)
generated_content = gen_data(raw_content_data[0])
print(generated_content)def dataset_parser(ai_message_content):"""解析由gen_data函数生成的ai_message.content,提取content和summary。:param ai_message_content: gen_data函数返回的文本。:return: 提取的content和summary。"""# 分割字符串来找到content和summary的位置content_start = ai_message_content.find('content:"') + len('content:"')content_end = ai_message_content.find('"\nsummary:')summary_start = ai_message_content.find('summary:"') + len('summary:"')summary_end = ai_message_content.rfind('"')# 提取并存储content和summarycontent = ai_message_content[content_start:content_end].strip()summary = ai_message_content[summary_start:summary_end].strip()return content, summary#示例调用(使用假设的gen_data函数返回的文本)
content, summary = dataset_parser(generated_content)
print("Content:", content)
print("Summary:", summary)import csv
import datetime
import osdef main():# 确保 data 目录存在if not os.path.exists('data'):os.makedirs('data')# 解析 data/raw_data.txt 得到 raw_content_data 列表raw_content_data = []with open('data/raw_data.txt', 'r', encoding='utf-8') as file:content = file.read()data_samples = content.split('\n\n')for sample in data_samples:cleaned_sample = sample.strip()if cleaned_sample:raw_content_data.append(cleaned_sample)# 创建带有时间戳的CSV文件名timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")filename = f"data/zhouyi_dataset_{timestamp}.csv"# 创建CSV文件并写入标题行with open(filename, mode='w', newline='', encoding='utf-8') as file:writer = csv.writer(file)writer.writerow(['content', 'summary'])# 循环遍历 raw_content_data 数据样例for raw_content in raw_content_data:# 调用 gen_data 方法得到 ai_message_contentai_message_content = gen_data(raw_content)# 解析 ai_message_content 得到 content 和 summarycontent, summary = dataset_parser(ai_message_content)print("Content:", content)print("Summary:", summary)# 调用 generate_question_summary_pairs 得到20组 pairspairs = generate_question_summary_pairs(content, summary)# 将 pairs 写入 csv 文件for pair in pairs:writer.writerow(pair)
以下是针对中国古典哲学训练数据集自动化生成方案的详细代码解析:
整体架构设计
代码采用模块化设计,分为以下核心模块:
- 数据输入层:读取原始文本数据
- 模型处理层:通过GPT API生成结构化数据
- 数据解析层:提取关键字段并验证格式
- 数据增强层:生成多样化问答对
- 输出存储层:持久化存储训练数据集
核心模块解析
1. 数据输入模块
- 功能:读取并解析原始数据文件
- 实现方式:
- 使用
split('\n\n')按双换行分割文本,确保每条数据独立 - 过滤空行并存储为列表
- 使用
- 关键点:
- 原始数据需按规范格式存储(每卦象内容用双换行分隔)
- 支持批量处理数千条数据
2. 模型处理模块
- 功能:调用GPT-4o-mini生成结构化数据
- 实现方式:
- 使用LangChain封装API调用
- 定义系统提示词(System Prompt)规范输出格式
- 核心设计:
[系统提示词结构] 1. 角色定义:中国古典哲学专家 2. 任务要求:生成"content"和"summary"字段 3. 输出格式:严格遵循"content:... summary:..."结构 4. 内容要素:卦象构成、象征意义、哲学内涵、关联文献 - 优化点:
- 3次重试机制应对API波动
- 2秒间隔防止API频率限制
3. 数据解析模块
- 功能:提取模型输出中的关键字段
- 实现逻辑:
- 定位"content:"和"summary:"标记
- 使用字符串切片提取内容
- 格式验证(确保字段非空且符合预期)
- 异常处理:
- 捕获格式错误(如缺少标记)
- 跳过无效数据条目
4. 数据增强模块
- 功能:生成多样化问答对
- 实现方式:
- 20个预定义提问模板
- 动态替换占位符(如
{}为卦象名称)
- 模板设计示例:
"请解释{}的含义" "周易中的{}代表什么?" "如何理解{}的象征意义?" - 优势:
- 提升数据多样性
- 适配不同问答场景
5. 输出存储模块
- 功能:持久化存储训练数据
- 实现方式:
- 使用CSV格式存储
- 字段:
question(问题)、answer(卦象解释)
- 结构示例:
question,answer "请解释需卦的含义", "在周易中,需卦由乾下坎上构成..." "周易中的蒙卦代表什么?", "蒙卦象征教育启蒙..."
关键设计决策
1. 提示词工程
- 系统角色定义:
- 明确要求输出格式(
content和summary) - 规定内容要素(卦象构成、哲学内涵等)
- 明确要求输出格式(
- 示例驱动:
- 提供完整示例输入输出,确保模型理解格式要求
2. 异常处理机制
- API调用失败:
- 3次指数退避重试(间隔2秒)
- 跳过无法处理的条目并记录日志
- 响应验证:
- 检查
content和summary字段是否存在 - 验证内容完整性(如包含必要关键词)
- 检查
3. 性能优化
- 批量处理:
- 一次性读取全部原始数据
- 累计结果后一次性写入CSV
- API调用控制:
- 每次调用后等待2秒
- 遵循OpenAI API Rate Limits
4. 数据质量保障
- 多层验证:
- 模型输出格式验证
- 内容完整性验证(如包含卦象构成描述)
- 人工抽查机制(建议每100条抽取5条检查)
- 可扩展性:
- 支持替换模型(如
gpt-3.5-turbo) - 可扩展其他经典文献(如《道德经》)
- 支持替换模型(如
流程图解
原始数据 → 数据分割 → 模型处理 → 数据解析 → 格式验证 → 数据增强 → 存储CSV↑ ↑ ↑ ↑ ↑ ↑文件读取 API调用失败 解析错误 内容不完整 生成失败 存储错误↓ ↓ ↓ ↓ ↓ ↓跳过 重试3次 丢弃 丢弃 重试 重试
扩展建议
-
并行处理:
- 使用多线程/进程加速数据处理
- 示例:
ThreadPoolExecutor处理多个数据条目
-
质量验证:
- 添加关键词检查(如必须包含"卦象构成")
- 多模型交叉验证(用不同模型对比输出)
-
增量更新:
- 记录已处理数据ID
- 仅处理新增/修改的数据条目
-
成本控制:
- 使用
gpt-3.5-turbo降低费用 - 设置每日API调用预算
- 使用
典型应用场景
- 古典文献数字化:
- 自动化处理《周易》64卦、《道德经》81章等经典文本
- 教育领域应用:
- 生成哲学问答题库
- 构建智能教学系统训练数据
- NLP模型训练:
- 用于训练领域专用问答模型
- 提升模型对中国古典哲学的理解能力
该方案通过结构化设计和多层验证机制,确保生成的训练数据在格式规范性、内容完整性和数据多样性方面达到较高标准,可为后续AI模型训练提供可靠的数据基础。
相关文章:
构造微调训练数据集
借助 ChatGPT 和 GPT API我们可以实现自动化批量构造训练数据集。 下面我们以中国古典哲学数据集为例,展示了自动构造训练集的主要流程: 使用 LangChain 构造训练数据样例 o基于 ChatGPT 设计 System Role 提示词 。使用 0penAI GPT-4o-mini 生成基础数据 解析 Open…...
Kubernetes架构介绍
实验环境 安装好k8s集群 一、kubernetes组件构成 1、架构图 2、组件介绍 使用以下命令查看相关资源 kubectl get nodes 查看群集节点 kubectl get ns 查看名称空间 kubectl get pod -A …...
远程服务器的mysql连接不上,问题出在哪里
使用本地ideal测试连接报错记录 排查 检查mysql服务是否正常,输入命令systemctl status mysql查看 检查端口netstat -plnt | grep mysql 最后检查服务器的防火墙设置 我以为在服务器厂商的控制面板设置放行规则就行,导致一直无法排查出问题,最后才发现由…...
Java高频面试之并发编程-04
hello啊,各位观众姥爷们!!!本baby今天来报道了!哈哈哈哈哈嗝🐶 面试官:调用 start()方法时会执行 run()方法,那为什么不直接调用 run()方法? 多线程中调用 start() 方法…...
【第16届蓝桥杯软件赛】CB组第一次省赛
个人主页:Guiat 归属专栏:算法竞赛 文章目录 A. 移动距离(5分填空题)B. 客流量上限(5分填空题)C. 可分解的正整数D. 产值调整E. 画展布置F. 水质检测G. 生产车间H. 装修报价 正文 总共10道题。 A. 移动距离…...
云原生--基础篇-2--云计算概述(云计算是云原生的基础,IaaS、PaaS和SaaS服务模型)
1、云计算概念 云计算是一种通过互联网提供计算资源(包括服务器、存储、数据库、网络、软件等)和服务的技术模式。用户无需拥有和维护物理硬件,而是可以根据需要租用这些资源,并按使用量付费。 2、云计算特点 (1&am…...
uniapp云打包针对谷歌视频图片权限的解决方案
谷歌在24年底推出把图片和视频细分为两个权限,uniapp使用uni.chooseImage云打包默认图片视频为一个权限,不符合谷歌要求会被下架 解决方法,在项目根目录下新建AndroidManifest.xml移除不必要的权限 <?xml version"1.0" encoding"utf…...
vllm+vllm-ascend本地部署QwQ-32B
1 模型下载 可按照此处方法下载预热后的模型,速度较快(推荐artget方式) https://mirrors.tools.huawei.com/mirrorDetail/67b75986118b030fb5934fc7?mirrorNamehuggingface&catalogllms或者从hugging face官方下载。 2 vllm-ascend安…...
栈和队列--数据结构初阶(2)(C/C++)
文章目录 前言理论部分栈的模拟实现STL中的栈容器队列的模拟实现STL中的队列容器 作业部分 前言 这期的话会给大家讲解栈和队列的模拟实现和在STL中栈和队列怎么用的一些知识和习题部分(这部分侧重于理论知识,习题倒还是不难) 理论部分 栈的模拟实现 typedef int…...
C++常用函数合集
万能头文件:#include<bits/stdc.h> 1. 输入输出流(I/O)函数 1.1cin 用于从标准输入流读取数据。 1.2cout 用于向标准输出流写入数据。 // 输入输出流(I/O)函数 #include <iostream> using namespace…...
OpenGL shader开发实战学习笔记:第十二章 深入光照
1. 深入光照 1.1. 平行光 我们在前面的章节中,已经介绍了平行光的基本原理和实现步骤 平行光的基本原理是,所有的光都从同一个方向照射到物体上,这个方向就是平行光的方向。 1.2. 点光源 点光源的基本原理是,所有的光都从一个…...
CentOS7系统安装Docker教程
一、安装前准备 1、检查系统环境:Docker 要求系统为 64 位,且内核版本 3.10 以上。通过uname -r命令查看当前系统内核版本 。比如执行uname -r后,显示3.10.0-1160.el7.x86_64 ,说明满足内核版本要求。 2、卸载旧版本(…...
获取电脑信息(登录电脑的进程、C盘文件信息、浏览器信息、IP)
电脑的进程信息 // 获取登录电脑的进程信息String os System.getProperty("os.name").toLowerCase();String command;if (os.contains("win")) {command "tasklist";} else {command "ps -ef";}try {Process process new ProcessB…...
PCB 射频天线设计和版图创建技巧
本文要点 射频天线有多种形式,从整合在芯片中的扁平天线,到直接印制在PCB上的铜质天线。 创建带有一个或多个天线的版图时,需要确保在PCB不同电路模块之间彼此隔离。 在设计一个射频天线时,应该使用CAD工具,此类…...
uniapp-商城-29-vuex 关于系统状态的管理
按照我们前面讲的,vuex,的使用方式: 步骤如下: 1 先创建store 文件夹 2 在 store 中 创建一个 index.js 3、 在 store 中,创建一个modules文件夹 4、在store中,创建一个getters.js 5、在modules文件…...
小迪安全-112-yii反序列化链,某达oa,某商场,影响分析
yii是和tp一样的框架 入口文件 web目录下 相对tp比较简单一些,对比tp找一下他的url结构 对应的位置结构 这个contorllers文件的actionindex就是触发的方法 控制器,指向的index文件,就可以去视图模块看index文件 这就是前端展示的文件 自…...
区间选点详解
步骤 operator< 的作用在 C 中, operator< 是一个运算符重载函数,它定义了如何比较两个对象的大小。在 std::sort 函数中,它会用到这个比较函数来决定排序的顺序。 在 sort 中,默认会使用 < 运算符来比较两个对象…...
如何在白平衡标定种构建不同类型的白平衡色温坐标系
目录 一、预备知识: 二、常见的白平衡色温坐标系 三、白平衡色温坐标系的理解 1)横纵坐标轴分别代表什么含义? 2)色温坐标系中原点表示什么含义? 3)某M/某H的色温坐标为什么是长成这样呢?…...
Oracle RMAN同步数据库Active database duplicate
Active database duplicate,不需要先把目标数据库进行rman备份,只要目标数据库处于归档模式下即可直接通过网络对数据库进行copy,且copy完成后自动open数据库。这对于大数据特别是T级别的数据库来说优点非常明显,复制前不需要进行…...
Spring MVC 一个简单的多文件上传
原始代码逐行解释 PostMapping("/uploads") // ① 声明处理POST请求,路径为"/uploads" ResponseBody // ② 直接返回数据到响应体,不进行视图解析 public String uploads(MultipartFile[] files, // …...
基于DeepSeek/AI的资产测绘与威胁图谱构建
引言: 在网络安全攻防实践中,资产测绘是红队作战与蓝队安全运营的第一步,其本质都是通过系统性信息采集实现攻击面管理。 当前普遍存在的痛点在于,当企业级资产规模呈指数级增长时,传统基于规则引擎的低效批量处理方式…...
构建自动翻译工作流:技术与实践
一、引言 制药行业客户迫切需要一种翻译解决方案,以解决公司内部多样化的翻译难题。他们需要的不仅是提升翻译效率和准确性的工具,更希望能够保持文档的原始格式。我们观察到客户的需求广泛,包括多语言办公文件、研究文档和药品报批文件等&a…...
【Linux】中的网络管理
目录 1.ipv4原理,网关与DNS定义 2ip图形化配置--nm 2.1图形化平台配置 2.2无图形化平台配置 3.常用的网络命令--ping,wget,curl ping wget curl 4.ip命令临时配置---ifconfig,ip a ifconfig ip address 5.ip命令永久配…...
前端面试每日三题 - Day 10
这是我为准备前端/全栈开发工程师面试整理的第十天每日三题练习,涵盖: JavaScript 中 this 的指向详解与常见陷阱Vue 生命周期钩子的执行顺序与场景实践(Vue2 vs Vue3)系统设计实战:内容推荐系统的核心架构设计 ✅ 题…...
《深度学习》课程之卷积神经网络原理与实践教学设计方案
《深度学习》课程之卷积神经网络原理与实践教学设计方案 一、教学目标设计 (一)知识目标 学生能够准确描述卷积神经网络(CNN)的基本定义,包括其核心组成部分(如卷积层、池化层、全连接层等)及…...
elasticsearch中文分词器插件下载教程
一、下载原因: 我们的业务中通常使⽤的是中⽂分词,es的中⽂分词默认会将中⽂词每个字看成⼀个词⽐如:“我想吃⾁夹馍”会被分为”我”,”想”,”吃”,”⾁” ,”夹”,”馍” 这显然是…...
门面模式与适配器模式
一、门面模式 门面模式:提供统一接口访问子系统接口 1、包含角色 外观系统对外的统一接口子系统类的集合;并不知道外观角色的存在,需要为了配合外观角色而做特殊处理或修改 2、举例 原本开关灯要分别操作各个房间的灯,现在设置总…...
QSS【QT】
文章目录 QSSid选择器 & 类型选择器伪类选择器盒子模型 QSS 设置样式的时候,是可以指定某个控件来设置的。 指定控件之后,此时的样式就会针对这个指定的控件,也会针对子控件生效 ui->pushButton_2->setStyleSheet("QPushButt…...
第十六节:高频开放题-React与Vue设计哲学差异
响应式原理(Proxy vs 虚拟DOM) 组合式API vs Hooks React 与 Vue 设计哲学差异深度解析 一、响应式原理的底层实现差异 1. Vue 的响应式模型(Proxy/数据劫持) Vue 的响应式系统通过 数据劫持 实现自动依赖追踪: • …...
css 中float属性及clear的释疑
float属性可以让元素脱离文档流,父元素中的子元素设置为float,则会导致父元素的高度塌陷。 <style type"text/css"> .father{ /*没有给父元素定义高度*/background:#ccc; border:1px dashed #999; } .box01,.box02,.box0…...
