You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
16 KiB
99 lines
16 KiB
import os
|
|
import torch
|
|
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
|
|
|
|
import time
|
|
|
|
from transformers import AutoModelForCausalLM, AutoTokenizer
|
|
|
|
model_path = "/home/majiahui/models-LLM/baichuan-7B"
|
|
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
|
|
model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto", trust_remote_code=True, torch_dtype=torch.float16)
|
|
|
|
|
|
WEIGHTS_NAME = "adapter_model.bin"
|
|
checkpoint_dir = "/home/majiahui/project2/LLaMA-Efficient-Tuning/path_to_sft_checkpoint_paper_prompt_freeze_baichuan/checkpoint-23000"
|
|
weights_file = os.path.join(checkpoint_dir, WEIGHTS_NAME)
|
|
assert os.path.exists(weights_file), f"Provided path ({checkpoint_dir}) does not contain the pretrained weights."
|
|
model_state_dict = torch.load(weights_file, map_location="cpu")
|
|
model.load_state_dict(model_state_dict, strict=False) # skip missing keys
|
|
model = model.cuda()
|
|
|
|
|
|
# prompt = '''论文题目是“马克思恩格斯婚姻家庭观及当代价值研究”,目录是“一、引言\\n\\n1.1 研究背景\\n\\n1.2 研究意义\\n\\n1.3 研究目的\\n\\n二、马克思恩格斯婚姻家庭观综述\\n\\n2.1 马克思恩格斯婚姻家庭观的形成与发展\\n\\n2.2 马克思恩格斯婚姻家庭观的核心思想\\n\\n2.3 马克思恩格斯婚姻家庭观的现实意义\\n\\n三、马克思恩格斯婚姻家庭观的当代价值\\n\\n3.1 当代婚姻家庭问题的现状\\n\\n3.2 马克思恩格斯婚姻家庭观对当代婚姻家庭问题的启示\\n\\n3.3 马克思恩格斯婚姻家庭观的当代应用价值\\n\\n四、马克思恩格斯婚姻家庭观的局限性及其超越\\n\\n4.1 马克思恩格斯婚姻家庭观的局限性\\n\\n4.2 马克思恩格斯婚姻家庭观的超越\\n\\n4.3 马克思恩格斯婚姻家庭观的未来发展方向\\n\\n五、结论\\n\\n5.1 研究结论\\n\\n5.2 研究不足与展望\\n\\n参考文献”,请把其中的小标题“5.1 研究结论”的内容补充完整,补充内容字数在700字左右
|
|
# '''
|
|
|
|
# prompt = "帮我写一个请假条"
|
|
|
|
# prompt = "生成论文小标题内容#论文题目是“大学生村官管理研究”,目录是“一、大学生村官管理现状分析\\n1.1 村官数量及分布情况\\n1.2 村官岗位设置及职责\\n1.3 村官工作绩效评估\\n\\n二、大学生村官管理存在的问题\\n2.1 村官队伍结构不合理\\n2.2 村官工作能力不足\\n2.3 村官管理制度不健全\\n\\n三、大学生村官管理对策研究\\n3.1 加强村官队伍建设\\n3.2 提高村官工作能力\\n3.3 完善村官管理制度\\n\\n四、大学生村官管理案例分析\\n4.1 案例一:某村大学生村官工作情况分析\\n4.2 案例二:某村大学生村官管理策略探讨\\n\\n五、大学生村官管理的未来发展趋势\\n5.1 多元化村官队伍建设\\n5.2 信息化村官管理模式\\n5.3 村官职业化发展\\n\\n六、大学生村官管理的政策建议\\n6.1 加强对大学生村官的培训和管理\\n6.2 完善大学生村官管理制度\\n6.3 提高大学生村官的待遇和福利\\n\\n七、结论与展望”,请把其中的小标题“3.3 完善村官管理制度”的内容补充完整,补充内容字数在800字左右"
|
|
|
|
# prompt = "生成论文小标题内容#论文题目是“埃及申诺达三世时期的科普特人研究”,目录是“一、研究背景和意义\\n1.1 埃及申诺达三世时期的历史背景\\n1.2 科普特人在埃及的历史地位\\n1.3 研究意义和目的\\n\\n二、科普特人的社会生活\\n2.1 科普特人的宗教信仰\\n2.2 科普特人的语言和文化\\n2.3 科普特人的职业和经济状况\\n\\n三、科普特人的艺术和文学\\n3.1 科普特人的绘画和雕塑艺术\\n3.2 科普特人的文学作品\\n3.3 科普特人的音乐和舞蹈艺术\\n\\n四、科普特人的建筑和工程技术\\n4.1 科普特人的建筑风格和特点\\n4.2 科普特人的水利工程和农业技术\\n4.3 科普特人的金属加工和制造技术\\n\\n五、科普特人的医学和药物\\n5.1 科普特人的医学理论和实践\\n5.2 科普特人的药物和草药疗法\\n5.3 科普特人的医疗机构和医疗制度\\n\\n六、科普特人的教育和学术\\n6.1 科普特人的教育体系和教育内容\\n6.2 科普特人的学术研究和学术成就\\n6.3 科普特人的知识传承和学术交流\\n\\n七、科普特人的社会活动和组织\\n7.1 科普特人的社会组织和文化团体\\n7.2 科普特人的慈善和公益活动\\n7.3 科普特人的政治参与和社会影响”,请把其中的小标题“3.2 科普特人的文学作品”的内容补充完整,补充内容字数在1100字左右"
|
|
|
|
# prompt = "生成目录#论文题目为“基于红细胞分布宽度建立乙肝相关慢加急性肝衰竭不良预后的优化预测模型”,以“研究建立一种基于红细胞分布宽度的乙肝相关慢加急性肝衰竭不良预后的优化预测模型,包括数据收集、特征选择、模型构建等方面的研究。最终成果是验证所设计模型对于乙肝相关慢加急性肝衰竭不良预后的预测能力,并对模型进行优化,提高预测准确性和可靠性。”为论文的研究方向,为论文生成目录,要求只有一级标题和二级标题,一级标题使用中文数字 例如一、xxx;二级标题使用阿拉伯数字 例如1.1 xxx;一级标题不少于7个;每个一级标题至少包含3个二级标题"
|
|
|
|
prompt = "生成论文小标题内容#论文题目是“多无人艇一致性自主编队控制研究”,目录是“一、引言\\n 1.1 研究背景\\n 1.2 研究意义\\n 1.3 国内外研究现状\\n\\n二、多无人艇编队控制技术综述\\n 2.1 多无人艇编队控制技术分类\\n 2.2 多无人艇编队控制技术研究现状\\n 2.3 多无人艇编队控制技术存在的问题\\n\\n三、多无人艇一致性控制方法研究\\n 3.1 一致性控制方法分类\\n 3.2 多无人艇一致性控制方法研究现状\\n 3.3 多无人艇一致性控制方法存在的问题\\n\\n四、多无人艇一致性自主编队控制方法研究\\n 4.1 自主编队控制方法分类\\n 4.2 多无人艇一致性自主编队控制方法研究现状\\n 4.3 多无人艇一致性自主编队控制方法存在的问题\\n\\n五、多无人艇一致性自主编队控制仿真实验\\n 5.1 实验设计\\n 5.2 实验结果分析\\n 5.3 实验结论\\n\\n六、总结与展望\\n 6.1 研究成果总结\\n 6.2 研究不足与改进方向\\n 6.3 发展前景与应用价值”,请把其中的小标题“3.3 多无人艇一致性控制方法存在的问题”的内容补充完整,补充内容字数在700字左右"
|
|
|
|
# prompt = "生成论文小标题内容#论文题目是“家庭化流动对流动人口就业的影响”,目录是“一、研究背景和意义\\n1.1 流动人口和家庭化流动的概念\\n1.2 流动人口就业现状分析\\n1.3 家庭化流动的影响因素\\n\\n二、家庭化流动对流动人口就业的影响\\n2.1 家庭化流动对流动人口就业机会的影响\\n2.2 家庭化流动对流动人口就业稳定性的影响\\n2.3 家庭化流动对流动人口就业满意度的影响\\n\\n三、家庭化流动对流动人口就业的政策建议\\n3.1 完善流动人口就业政策\\n3.2 加强家庭化流动人口的社会保障\\n3.3 推进家庭化流动人口的职业培训\\n\\n四、案例分析\\n4.1 湖南省某县家庭化流动人口就业情况分析\\n4.2 广东省某市家庭化流动人口就业政策效果分析\\n4.3 河北省某区家庭化流动人口就业满意度调查\\n\\n五、结论与展望\\n5.1 结论\\n5.2 展望”,请把其中的小标题“3.2 加强家庭化流动人口的社会保障”的内容补充完整,补充内容字数在900字左右"
|
|
|
|
|
|
# prompt = "翻译摘要#请把“本文研究了相干光通信中以太网视频传输系统的关键技术。首先,介绍了相干光通信的基本原理和应用领域,指出了其在高速数据传输中的优势。然后,分析了以太网视频传输系统的特点和需求,包括高带宽、低延迟、高可靠性等。接着,针对传输过程中可能出现的干扰和衰减等问题,提出了多种解决方案,如光纤衰减补偿、信号增强等。此外,还介绍了基于光放大器的信号放大技术和基于光纤光栅的光谱成像技术,以及它们在以太网视频传输系统中的应用。最后,根据系统需求和技术特点,设计了一套完整的以太网视频传输系统,并进行了实验验证。结果表明,该系统具有高带宽、低延迟、高可靠性等优点,可以满足实际应用需求。本文的研究成果对于推动相干光通信技术的发展和应用具有重要意义。”这段文字翻译成英文"
|
|
|
|
# prompt = "请写出以《列宁军事理论及其在中国的应用与发展研究》为课题的国内外研究状况综述,字数在800字左右"
|
|
|
|
# prompt = "以“专利间接侵权责任认定制度研究”为论文题目,写一个论文简短总结,要求在300字以内"
|
|
|
|
# prompt = "请把“1. 老年长期护理模式\\n2. 问题分析\\n3. 解决方案\\n4. 国际比较与分析\\n5. 改进措施”这几个关键字翻译成英文"
|
|
|
|
# prompt = "请为“本研究旨在探究基于领导成员交换理论的团队绩效。通过对团队成员之间的领导成员交换关系进行分析,研究团队绩效的影响因素。本研究采用问卷调查法,对不同类型的团队进行调查,以了解不同领导成员交换关系对团队绩效的影响。\\n\\n研究结果表明,领导成员交换关系对团队绩效具有显著影响。在高质量的领导成员交换关系下,团队绩效显著提高。此外,团队成员之间的信任程度、沟通效果、合作精神等因素也对团队绩效产生重要影响。\\n\\n本研究还发现,不同类型的团队对领导成员交换关系的需求也不同。在高度协作的团队中,领导成员交换关系对团队绩效的影响更为显著。而在需要高度专业技能的团队中,领导成员交换关系的影响相对较小。\\n\\n综上所述,基于领导成员交换理论的团队绩效研究对于提高团队绩效具有重要意义。在实践中,团队领导者应该注重领导成员交换关系的建立和维护,以提高团队绩效。此外,团队成员之间的信任程度、沟通效果、合作精神等因素也应该得到重视,以促进团队的协作和合作,提高团队绩效。”这段论文摘要生成3-5个关键字,使用阿拉伯数字作为序号标注,例如“1.xxx \\n2.xxx \\n3.xxx \\n4.xxx \\n5.xxx \\n”"
|
|
|
|
# prompt = "请帮我生成《眼底图像中微小目标检测算法的研究与实现》为题目的研究内容,包括整体简介和分最少三个方面总结"
|
|
|
|
# prompt = "生成6点本篇论文应完成的主要内容#请根据题目为《ATP软件可靠性混沌预测研究》,和研究内容为“整体简介:\\n本研究旨在探讨ATP软件的可靠性混沌预测方法,以提高软件开发过程中的可靠性和稳定性。通过对ATP软件的历史数据进行分析,结合混沌理论,建立混沌预测模型,以实现对ATP软件可靠性的预测和控制。\\n\\n分三个方面总结:\\n1. 历史数据分析:通过对ATP软件的历史数据进行分析,包括软件开发过程中的各个环节,如需求分析、设计、编码、测试等,以及软件发布后的使用情况,如稳定性、故障率等,分析软件可靠性的影响因素和规律,为后续建立混沌预测模型提供数据支持。\\n\\n2. 混沌预测模型建立:基于ATP软件的历史数据和混沌理论,建立混沌预测模型,通过对历史数据的拟合和验证,优化模型参数,提高预测精度。同时,结合软件开发过程中的实际情况,不断修正和完善模型,以适应不同的软件开发环境和需求。\\n\\n3. 可靠性控制策略实现:基于混沌预测模型,制定可靠性控制策略,包括对软件开发过程中的各个环节进行监控和调整,对软件发布后的使用情况进行实时监测和反馈,及时发现和解决潜在问题,提高软件的可靠性和稳定性。同时,通过对控制策略的不断优化和改进,不断提高软件开发过程中的效率和质量。”总结出至少6点本篇论文应完成的主要内容,使用阿拉伯数字排列"
|
|
|
|
# prompt = "生成论文摘要#论文题目是“度假型酒店式公寓项目策划研究”,目录是“一、项目概述\\n1.1 项目背景\\n1.2 项目定位\\n1.3 项目规划\\n\\n二、市场调研\\n2.1 目标客群分析\\n2.2 竞争对手分析\\n2.3 市场需求分析\\n\\n三、设计方案\\n3.1 客房设计\\n3.2 公共空间设计\\n3.3 营销策略设计\\n\\n四、运营管理\\n4.1 人员组织架构\\n4.2 运营流程规划\\n4.3 财务预算与管理\\n\\n五、风险分析\\n5.1 市场风险\\n5.2 技术风险\\n5.3 政策风险\\n\\n六、社会效益\\n6.1 社会影响评估\\n6.2 环保建设\\n6.3 社区责任履行\\n\\n七、总结与展望\\n7.1 项目总结\\n7.2 未来发展展望”,生成论文摘要,要求生成的字数在600字左右"
|
|
|
|
# prompt = "生成目录#为论文题目“试论杭州“西溪”名称的含义、演变及其原因”生成目录,要求只有一级标题和二级标题,一级标题使用中文数字 例如一、xxx;二级标题使用阿拉伯数字 例如1.1 xxx;一级标题不少于7个;每个一级标题至少包含3个二级标题"
|
|
|
|
# prompt = "生成目录#为论文题目“中西部地区公共就业服务水平省际差距研究”生成目录,要求只有一级标题和二级标题,一级标题使用中文数字 例如一、xxx;二级标题使用阿拉伯数字 例如1.1 xxx;一级标题不少于7个;每个一级标题至少包含3个二级标题"
|
|
|
|
# prompt = "生成课题的研究背景和意义#请分别写出以《农村小学少先队活动研究》为课题,以“研究农村小学少先队的活动内容、组织方式和效果,探讨如何提高少先队员的思想品德和综合素质。通过实地调研和问卷调查等方法,分析少先队活动的现状和问题,提出相应的改进措施。最终成果是设计出一套适合农村小学少先队开展的活动方案,有效促进少先队员的全面发展和成长。”为论文的研究方向,生成论文的研究背景和意义,字数不少于1000字"
|
|
|
|
# prompt = "生成论文小标题内容#论文题目是“黄土高原刺槐人工林土壤磷组分及其有效性对穿透雨改变的响应”,目录是“一、绪论\\n1.1 研究背景\\n1.2 研究意义\\n1.3 国内外研究现状\\n\\n二、材料与方法\\n2.1 研究区域及样地选择\\n2.2 采样与处理\\n2.3 土壤理化性质测定\\n2.4 磷组分测定\\n2.5 数据处理方法\\n\\n三、土壤磷组分及其有效性\\n3.1 土壤磷组分特征\\n3.2 土壤磷有效性特征\\n3.3 土壤磷组分与有效性的相关性\\n\\n四、穿透雨对土壤磷组分及其有效性的影响\\n4.1 穿透雨对土壤磷组分的影响\\n4.2 穿透雨对土壤磷有效性的影响\\n4.3 穿透雨对土壤磷组分与有效性的相关性影响\\n\\n五、讨论\\n5.1 黄土高原刺槐人工林土壤磷组分及其有效性的特征\\n5.2 穿透雨对土壤磷组分及其有效性的影响机制\\n5.3 黄土高原刺槐人工林土壤磷管理的建议\\n\\n六、结论\\n\\n七、参考文献”,请把其中的小标题“3.1 土壤磷组分特征”的内容补充完整,补充内容字数在900字左右"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# t1 = time.time()
|
|
# for i in range(50):
|
|
# print("#####################################################################")
|
|
# print(f"## {i}")
|
|
# print("#####################################################################")
|
|
# res, history = model.chat(tokenizer, prompt, history=[], top_p=0.7, temperature=0.3)
|
|
#
|
|
# print(res)
|
|
# t2 = time.time()
|
|
#
|
|
# print(t2 -t1)
|
|
num_beams = 1
|
|
do_sample = True
|
|
top_p = 0.7
|
|
temperature = 0.95
|
|
|
|
gen_kwargs = {"num_beams": num_beams, "do_sample": do_sample, "top_p": top_p,
|
|
"temperature": temperature}
|
|
t1 = time.time()
|
|
input_ids = tokenizer.encode([prompt], return_tensors='pt').to('cuda:0')
|
|
output_ids = model.generate(
|
|
input_ids=input_ids,
|
|
max_new_tokens=1400,
|
|
eos_token_id=tokenizer.eos_token_id,
|
|
**gen_kwargs
|
|
)
|
|
|
|
print(tokenizer.decode(output_ids[0][len(input_ids[0]):], skip_special_tokens=True))
|
|
|
|
t2 = time.time()
|
|
|
|
print(t2 -t1)
|