书生·浦语大模型第五课作业

本文指导如何在本地使用LMDeploy部署InternLM-Chat-7B模型,涉及创建conda环境、安装所需包、解决ModuleNotFoundError,以及通过对话、网页和API服务访问模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基础作业:

  • 使用 LMDeploy 以本地对话、网页Gradio、API服务中的一种方式部署 InternLM-Chat-7B 模型,生成 300 字的小故事(需截图)

这里 /share/conda_envs 目录下的环境是官方未大家准备好的基础环境,因为该目录是共享只读的,而我们后面需要在此基础上安装新的软件包,所以需要复制到我们自己的 conda 环境(该环境下我们是可写的)。

$ conda create -n CONDA_ENV_NAME --clone /share/conda_envs/internlm-base
  • 如果clone操作过慢,可采用如下操作:
$ /root/share/install_conda_env_internlm_base.sh lmdeploy

我们取 CONDA_ENV_NAME 为 lmdeploy,复制完成后,可以在本地查看环境。

$ conda env list

结果如下所示。

# conda environments:
#
base                  *  /root/.conda
lmdeploy                 /root/.conda/envs/lmdeploy

然后激活环境。

$ conda activate lmdeploy

 lmdeploy 没有安装,我们接下来手动安装一下,建议安装最新的稳定版。 如果是在 InternStudio 开发环境,需要先运行下面的命令,否则会报错。

# 解决 ModuleNotFoundError: No module named 'packaging' 问题
pip install packaging
# 使用 flash_attn 的预编译包解决安装过慢问题
pip install /root/share/wheels/flash_attn-2.4.2+cu118torch2.0cxx11abiTRUE-cp310-cp310-linux_x86_64.whl
pip install 'lmdeploy[all]==v0.1.0'

 直接启动本地的 Huggingface 模型,如下所示。

lmdeploy chat turbomind /share/temp/model_repos/internlm-chat-7b/  --model-name internlm-chat-7b

 api访问模型

web网页访问 

 

### 书生浦语大模型作业实现指南 #### 1. 环境配置与模型加载 为了完成与书生浦语大模型相关的作业,首先需要确保基础环境已正确配置。可以通过指定 `local_llm_path` 参数来加载本地模型文件夹路径或 Huggingface 上的模型名称,例如 `"internlm/internlm2-chat-7b"` 或 `"qwen/qwen-7b-chat-int8"` [^1]。此外,还需设置参数 `local_llm_max_text_length`,以定义模型可接受的最大文本长度。 对于具体操作步骤,可以参考如下 Python 示例代码: ```python from transformers import AutoTokenizer, AutoModelForCausalLM model_name_or_path = "internlm/internlm2-chat-7b" tokenizer = AutoTokenizer.from_pretrained(model_name_or_path) model = AutoModelForCausalLM.from_pretrained(model_name_or_path) max_input_length = model.config.max_position_embeddings print(f"Maximum input length supported by the model: {max_input_length}") ``` #### 2. 数据准备与微调策略 在实际应用中,可能需要对书生浦语大模型进行微调以适配特定任务需求。常见的微调方式包括 **增量预训练** 和 **指令跟随微调** [^3]。前者适用于引入新的领域知识(如行业术语、技术文档),后者则用于优化模型的对话能力。 以下是针对不同场景的数据准备建议: - 如果目标是提升模型的知识覆盖范围,则应收集相关领域的文章、书籍或其他结构化数据作为训练集; - 若旨在增强交互效果,则需构建高质量的人机对话样本集合。 #### 3. 功能开发实例——图文创作工具 利用书生浦语及其衍生版本(如浦语·灵笔2),开发者能够快速搭建具备先进图文生成能力的应用程序 [^2]。下面展示了一个简单的 CLI 接口设计思路,允许用户输入自定义主题并获得相应的文字描述及配套插图链接。 ```python def generate_article_with_images(prompt): response = model.generate( tokenizer.encode(prompt, return_tensors="pt"), max_new_tokens=500, num_beams=4, no_repeat_ngram_size=2 ) decoded_output = tokenizer.decode(response[0], skip_special_tokens=True) article_content, image_url_list = parse_response(decoded_output) # 自定义解析逻辑 return {"text": article_content, "images": image_url_list} if __name__ == "__main__": user_prompt = input("请输入您的创意方向:") result = generate_article_with_images(user_prompt) print(result["text"]) for idx, img_link in enumerate(result["images"]): print(f"[Image {idx+1}] URL: {img_link}") ``` > 注:以上仅为伪代码框架示意,请根据实际情况调整函数内部实现细节以及依赖库的选择。 #### 4. 常见问题分析与改进措施 尽管书生浦语系列表现出众,但在某些复杂查询情境下仍可能存在不足之处 [^5]。比如,当面对高度相似的信息源时,可能会倾向于优先选用最早录入的内容而忽略后续更新更优解的可能性。对此现象可通过以下方法缓解: - 扩展检索范围至整个数据库而非局限于前几条记录; - 结合外部搜索引擎动态补充实时资讯; - 定期维护知识库内容保持时效性和准确性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

查里王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值