{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "initial_id",
"metadata": {
"ExecuteTime": {
"end_time": "2025-04-02T06:42:56.681032Z",
"start_time": "2025-04-02T06:42:19.346090Z"
},
"collapsed": true
},
"outputs": [],
"source": [
"from transformers import AutoModelForCausalLM, AutoTokenizer\n",
"from peft import PeftModel\n",
"# 1. 加载基础模型和LoRA适配器\n",
"base_model = AutoModelForCausalLM.from_pretrained(\"deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B\")#您也可以使用GPU推理\n",
"model = PeftModel.from_pretrained(base_model, \"../DS_RL_model\") # .to(\"cuda\")使用GPU加速推理\n",
"tokenizer = AutoTokenizer.from_pretrained(\"deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B\")\n",
"tokenizer.pad_token = tokenizer.eos_token\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "c805805aeaabd6a8",
"metadata": {
"ExecuteTime": {
"end_time": "2025-04-02T07:41:36.715675Z",
"start_time": "2025-04-02T07:41:27.640736Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"模型输出: 根据以下关键词生成一首歌词,歌词中包含多个句子,确保句子通顺,诗意,格式正确.让我们一步一步的思考(思考过程包含在和之间):月光,欢乐,伊甸园,月光下的欢乐,小猪们、小羊们,月光下的欢乐。月光下的欢乐,小猪们、小羊们,月光下的欢乐,小猪们、小羊们,月光下的欢乐,月光下的欢乐,小猪们、小羊们,月光下的欢乐。月光,小猪们、小羊们,月光下的欢乐,月光下的欢乐,月光下的欢乐,月光下的欢乐,月光下的欢乐,月光下的欢乐,月光下的欢乐,月光下的欢乐,月光下的欢乐。\n",
"\n",
"嗯,我现在需要帮用户生成一首关于月光、欢乐、伊甸园的歌词。用户给了一个比较长的查询,里面有很多重复的句子,可能想要更简洁或者更流畅的歌词。我得先理解用户的需求,可能他们是在做一个儿童文学作品,或者是在学习如何创作歌词。\n",
"\n",
"首先,关键词有月光、欢乐、伊甸园、小猪、小羊。所以歌词里要包含这些元素。用户给出的回复里有很多重复,可能是因为想通过多个句子来强调主题,让读者更容易理解和记忆。\n",
"\n",
"我需要确保歌词结构合理,有起承转合,句子通顺。可能用户希望歌词有一定的押韵和节奏感,这样读起来更顺口。同时,格式要正确,可能需要遵循中文诗歌的格式,比如分句、押韵等。\n",
"\n",
"另外,用户提供的回复是多次重复的句子,可能是因为想强调月光下的欢乐,让读者感受到那种温馨和欢乐。我需要在生成歌词时,把这些元素自然地融入进去,而不是单纯地重复。\n",
"\n",
"我还得考虑歌词的情感基调,是欢快的还是带有感慨的。用户没有特别说明,但关键词中提到“欢乐”和“月光”,感觉偏向于积极向上的情感。\n",
"\n",
"可能需要避免过于复杂的结构,保持歌词简洁明了,同时有足够的意象来传达主题。比如,用“月光下的欢乐”这样的词句,可以增强画面感,让读者有身临其境的感觉。\n",
"\n",
"另外,用户提到了小猪和小羊,可能是在描绘一个小动物们的场景,或者是在描述一个充满欢乐的小世界。可能需要把这些元素融合在歌词中,让读者感受到那种温暖和快乐。\n",
"\n",
"我还需要注意押韵,虽然中文诗歌不一定严格押韵,但要有一定的节奏感。选择合适的结尾词来增强主题的表达。\n",
"\n",
"总的来说,我需要把月光、欢乐、小猪、小羊、伊甸园这几个元素有机地融入歌词中,确保结构合理,情感流畅,同时保持格式正确。可能需要多试几遍,调整用词和句式,直到满意为止。\n",
"\n",
"\n",
"## 《月光下的欢乐》\n",
"\n",
"月光如水般温柔,\n",
"在掌心流淌着幸福的泪。\n",
"\n",
"小猪们、小羊们,\n",
"在伊甸园里跳跃舞。\n",
"月光下欢声笑语,\n",
"欢声笑语映照着我们的脸。\n",
"\n",
"月光下欢声笑语,\n",
"月光下欢声笑语,\n",
"月光下欢声笑语,\n",
"月光下欢声笑语。\n",
"\n",
"月光下欢声笑语,\n",
"月光下欢声笑语,\n",
"月光下欢声笑语,\n",
"月光下欢声笑语。\n",
"\n",
"月光下欢声笑语,\n",
"月光下欢声笑语,\n",
"月光下欢声笑语,\n",
"月光下欢声笑语。\n",
"\n",
"月光下欢声笑语,\n",
"月光下欢声笑语,\n",
"月光下欢声笑语,\n",
"月光下欢声笑语。\n",
"\n",
"月光下欢声笑语,\n",
"月光下欢声笑语,\n",
"月光下欢声笑语,\n",
"月光下欢声笑语。\n"
]
}
],
"source": [
"# 2. 准备提示词\n",
"prompt = \"根据以下关键词生成一首歌词,歌词中包含多个句子,确保句子通顺,诗意,格式正确.让我们一步一步的思考(思考过程包含在和之间):月光,欢乐,伊甸园\" \n",
"\n",
"# 3. 编码并生成回复\n",
"inputs = tokenizer(prompt, return_tensors=\"pt\")\n",
"\n",
"# 4. 生成参数设置\n",
"outputs = model.generate(\n",
" input_ids=inputs[\"input_ids\"],\n",
" attention_mask=inputs[\"attention_mask\"],\n",
" max_new_tokens=2048, # 生成的最大token数\n",
" do_sample=True, # 启用随机采样\n",
" temperature=0.9, # 控制随机性 (0.1-1.0)\n",
" top_p=0.9, # nucleus sampling参数\n",
" pad_token_id=tokenizer.eos_token_id\n",
")\n",
"\n",
"# 5. 解码并打印结果\n",
"generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)\n",
"print(\"模型输出:\", generated_text)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".venv",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}