书生·浦语大模型InternLM-Chat-1.8B 智能对话 Demo 第二期

news2024/10/7 4:56:21

文章目录

  • InternLM-Chat-1.8B 智能对话 Demo
    • 环境准备
    • 下载模型
    • 运行 InternLM-Chat-1.8B
  • web 运行八戒 demo
    • 下载模型
    • 执行Demo

InternLM-Chat-1.8B 智能对话 Demo

环境准备

  • 在InternStudio平台中选择 10% A100(1/4) 的配置(平台资源有限),如下图所示镜像选择 Cuda11.7-conda,如下图所示:
    在这里插入图片描述

  • 打开刚刚租用服务器的进入开发机,进入开发机后,在页面的左上角可以切换 JupyterLab、终端和 VScode
    在这里插入图片描述

在这里插入图片描述

  • 配置开发环境
    • 创建python=3.10.13,pytorch=2.0.1虚拟环境

      studio-conda -o internlm-base -t demo
      # 与 studio-conda 等效的配置方案
      # conda create -n demo python==3.10 -y
      # conda activate demo
      # conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia
      
      # 或者直接克隆一个pytorch=2.0.1的环境
      # conda create --name demo --clone=/root/share/conda_envs/internlm-base
      
    • 激活internlm-demo环境

      conda activate demo
      
    • 安装demo需要的依赖包

      # 升级pip
      python -m pip install --upgrade pip
      
      pip install huggingface-hub==0.17.3
      pip install transformers==4.34 
      pip install psutil==5.9.8
      pip install accelerate==0.24.1
      pip install streamlit==1.32.2 
      pip install matplotlib==3.8.3 
      pip install modelscope==1.9.5
      pip install sentencepiece==0.1.99
      

下载模型

  • 按路径创建文件夹,并进入到对应文件目录中:

    mkdir -p /root/demo  # 在root文件夹下创建demo文件夹
    touch /root/demo/cli_demo.py  # 在demo文件夹下创建cli_demo.py文件
    touch /root/demo/download_mini.py  # 在demo文件夹下创建download_mini.py文件
    cd /root/demo  # 进入到demo文件夹下
    
  • 通过左侧文件夹栏目,双击进入 demo 文件夹
    在这里插入图片描述

  • 双击打开 /root/demo/download_mini.py 文件,复制以下代码:

    import os
    from modelscope.hub.snapshot_download import snapshot_download
    
    # 创建保存模型目录
    os.system("mkdir /root/models")
    
    # save_dir是模型保存到本地的目录
    save_dir="/root/models"
    
    snapshot_download("Shanghai_AI_Laboratory/internlm2-chat-1_8b", 
                      cache_dir=save_dir, 
                      revision='v1.1.0')
    
    
  • 执行命令,下载模型参数文件:

    python /root/demo/download_mini.py
    

运行 InternLM-Chat-1.8B

  • 双击打开 /root/demo/cli_demo.py 文件,复制以下代码:

    import torch
    from transformers import AutoTokenizer, AutoModelForCausalLM
    
    
    model_name_or_path = "/root/models/Shanghai_AI_Laboratory/internlm2-chat-1_8b"
    
    tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True, device_map='cuda:0')
    model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype=torch.bfloat16, device_map='cuda:0')
    model = model.eval()
    
    system_prompt = """You are an AI assistant whose name is InternLM (书生·浦语).
    - InternLM (书生·浦语) is a conversational language model that is developed by Shanghai AI Laboratory (上海人工智能实验室). It is designed to be helpful, honest, and harmless.
    - InternLM (书生·浦语) can understand and communicate fluently in the language chosen by the user such as English and 中文.
    """
    
    messages = [(system_prompt, '')]
    
    print("=============Welcome to InternLM chatbot, type 'exit' to exit.=============")
    
    while True:
        input_text = input("\nUser  >>> ")
        input_text = input_text.replace(' ', '')
        if input_text == "exit":
            break
    
        length = 0
        for response, _ in model.stream_chat(tokenizer, input_text, messages):
            if response is not None:
                print(response[length:], flush=True, end="")
                length = len(response)
    
    
  • 输入命令,执行 Demo 程序:

    conda activate demo
    python /root/demo/cli_demo.py
    
  • 运行效果
    在这里插入图片描述

web 运行八戒 demo

下载模型

  • 使用 git 命令来获得仓库内的 Demo 文件

    conda activate demo
    cd /root/
    git clone https://gitee.com/InternLM/Tutorial -b camp2
    # git clone https://github.com/InternLM/Tutorial -b camp2
    cd /root/Tutorial
    
  • 在Terminal中执行 bajie_download.py,下载模型

    python /root/Tutorial/helloworld/bajie_download.py
    

执行Demo

  • 端口映射到本地,在本地浏览器才可浏览

    • 在本地打开Power Shell终端,SSH公钥默认存储在 ~/.ssh/id_rsa.pub,可以通过系统自带的 cat 工具查看文件内容
      在这里插入图片描述

    • 将公钥复制到剪贴板中,然后回到 InternStudio 控制台,点击配置 SSH Key
      在这里插入图片描述

    • 将刚刚复制的公钥添加进入即可
      在这里插入图片描述

    • 在本地终端输入以下指令 .6006 是在服务器中打开的端口,而 33090 是根据开发机的端口进行更改

      ssh -CNg -L 6006:127.0.0.1:6006 root@ssh.intern-ai.org.cn -p 33854
      

      在这里插入图片描述
      在这里插入图片描述

      这样就映射成功了
      在这里插入图片描述

  • 在InternStudio终端运行以下代码:

    bash
    conda activate demo  # 首次进入 vscode 会默认是 base 环境,所以首先切换环境
    streamlit run /root/Tutorial/helloworld/bajie_chat.py --server.address 127.0.0.1 --server.port 6006
    
  • 测试结果
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1566195.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【微服务】——Nacos注册中心

这里写自定义目录标题 1.认识和安装Nacos2.服务注册到nacos1)引入依赖2)配置nacos地址3)重启 3.服务分级存储模型3.1.给user-service配置集群3.2.同集群优先的负载均衡 4.权重配置5.环境隔离5.1.创建namespace5.2.给微服务配置namespace 6.Na…

PS从入门到精通视频各类教程整理全集,包含素材、作业等(7)

PS从入门到精通视频各类教程整理全集,包含素材、作业等 最新PS以及插件合集,可在我以往文章中找到 由于阿里云盘有分享次受限制和文件大小限制,今天先分享到这里,后续持续更新 PS敬伟01——90集等文件 https://www.alipan.com/s…

Typecho自媒体博客Spimes主题 X7.2

主题介绍 spimes主题专为博客、自媒体、资讯类的网站设计开发,自适应兼容手机、平板设备。一款简约新闻自媒体类的 typecho 主题,设计上简约、干净、精致、响应式,后台设置更是强大而且实用的新闻自媒体类主题。 已经更新到7.2,删…

优于五大先进模型,浙江大学杜震洪团队提出 GNNWLR 模型:提升成矿预测准确性

卡塔尔世界杯自 2010 年荣膺举办权,直至 2022 年辉煌成功举办,累计投入资金高达约 2,290 亿美元。相较之下,此前七届世界杯的总花费仅约 400 多亿美元。这场体育盛事展现出奢华无度的风采,归根结底源于卡塔尔这个国度的深厚底蕴。…

官宣!一文掌握2024百度CreateAI开发者大会最新议程

4月16日上午9:00,以“创造未来”为主题的2024百度Create AI开发者大会将在深圳国际会展中心(宝安)开幕。此次大会将是近十年来,粤港澳大湾区规格最高的AI大会,将聚焦炙手可热的AI话题,在大会主论坛、分论坛…

回溯算法|46.全排列

力扣题目链接 class Solution { public:vector<vector<int>> result;vector<int> path;void backtracking (vector<int>& nums, vector<bool>& used) {// 此时说明找到了一组if (path.size() nums.size()) {result.push_back(path);re…

阿里云数据库服务器价格表查询_一张表精准报价

阿里云数据库服务器价格表&#xff0c;优惠99元一年起&#xff0c;ECS云服务器2核2G、3M固定带宽、40G ESSD Entry云盘&#xff0c;优惠价格99元一年&#xff1b;阿里云数据库MySQL版2核2G基础系列经济版99元1年、2核4GB 227.99元1年&#xff0c;云数据库PostgreSQL、SQL Serve…

9.动态规划——4.最长公共子序列(动态规划类的算法题该如何解决?)

例题——最长公共子序列(一) 分析 设最长公共子序列 d p [ i ] [ j ] dp[i][j] dp[i][j]是 S 1 S_1 S1​的前 i i i个元素&#xff0c;是 S 2 S_2 S2​的前 j j j个元素&#xff0c;那么有&#xff1a; 若 S 1 [ i − 1 ] S 2 [ i − 1 ] S_1[i-1]S_2[i-1] S1​[i−1]S2​[…

基于深度学习的吸烟行为检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)

摘要&#xff1a;本文深入研究了基于深度学习的吸烟行为检测系统&#xff0c;核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法&#xff0c;进行性能指标对比&#xff1b;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码&#xff0c;及基于Streamlit的交互式…

某音a_bogus 流程vmp分析

声明 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 仅研究。网站链接自己去找。 前言 这里a_bogus 又是个vmp。 还是个多层嵌套…

小红数组操作(结构体模拟链表详细解析)(双向链表)c/c++

题目描述: 小红拿到了一个数组&#xff0c;初始数组为空&#xff0c;她希望你实现以下两种操作&#xff1a; 1. 输入x,y&#xff0c;将x插入在元素y的右边。保证此时数组中没有元素等于x&#xff0c;且数组中存在一个y。特殊的&#xff0c;如果将x插入在数组的最左边&#xff0…

微生物群落关键种识别:一种不依赖于网络的自上而下的方法

微生物群落在促进养分循环、协助植物生长、维持人体健康等方面发挥着重要的作用。群落关键种对维持微生物群落稳定性具有重要影响&#xff0c;识别关键种一直是微生物生态学中的热点话题。识别关键种主要有两种框架&#xff1a;数据驱动的方法&#xff08;data driven method&a…

用ENIGMA-toolbox作图

之前一直使用ggseg呈现结果&#xff0c;最近想试一试其他绘图工具。ENIGMA-toolbox有所了解&#xff0c;绘图功能看起来门槛不高&#xff0c;所以就试着用它呈现一些结果。Matlab版本的ENIGMA-toolbox直接使用就是SurfStat的功能绘图&#xff0c;Python版本的绘图功能应该是根据…

详解k8s集群内外的访问方式

文章目录 1、集群内访问2、集群外访问2.1、Ingress转发外网请求2.2、LoadBanlancer接入外网请求2.3、NodePort接入外网请求 3、总结和对比3.1、Ingress、NodePort和LoadBalancer总结3.2、Ingress和网关的区别 1、集群内访问 在k8s中创建的微服务&#xff0c;大部分都是在集群内…

手搓 Docker Image Creator(DIC)工具(02):预备知识

此节主要简单介绍一下 Docker、Dockerfile 的基本概念&#xff0c;Dockerfile 对的基本语法&#xff0c;Windows 和 macOS 下 Docker 桌面的安装&#xff0c;Docker 镜像的创建和运行测试等。 1 关于 Docker Docker 是一个开源的应用容器引擎&#xff0c;它允许开发者打包应用…

非关系型数据库-----------Redis的主从复制、哨兵模式

目录 一、redis群集有三种模式 1.1主从复制、哨兵、集群的区别 1.1.1主从复制 1.1.2哨兵 1.1.3集群 二、主从复制 2.1主从复制概述 2.2主从复制的作用 ①数据冗余 ②故障恢复 ③负载均衡 ④高可用基石 2.3主从复制流程 2.4搭建redis主从复制 2.4.1环境准备 2.4…

hadoop在linux上启动成功了,但是浏览器访问不了

根据网上的资料进行安装hadoop的伪集群 都安装成功&#xff0c;并且启动也成功了&#xff0c;如下图所示&#xff1a; 2、但是在浏览器上确是怎么也访问不了&#xff0c; 解决思路&#xff0c; 2.1、根据网上的一些文章处理解决是关闭防火墙&#xff0c; 2.1.1、我根据操作步骤…

unity工程输出的log在哪里?

在编辑器里进行活动输出的log位置&#xff1a; C:\Users\username\AppData\Local\Unity\Editor\Editor.log ------------------------------------ 已经打包完成&#xff0c;形成的exe运行后的log位置&#xff1a; C:\Users\xxx用户\AppData\LocalLow\xx公司\xx项目

manga-ocr漫画日文ocr

github 下载 解压 anaconda新建环境 conda create -n manga_ocr python3.8 激活环境 conda activate manga_ocr cd到解压目录 cd /d manga-ocr-master 安装依赖包 pip install -r requirements.txt pip3 install manga-ocr 下载离线model huggingface 123云盘 解压到一个目录…

Python爬虫详解:原理、常用库与实战案例

前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff1a;https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言引言&#xff1a;一、爬虫原理1. HTTP请求与响应过程2. 常用爬虫技术 二、P…