- 闯关任务: 完成SSH连接与端口映射并运行
hello_world.py
创建开发机
第一步,简单地创建开发机。登录studio.intern-ai.org.cn/console/das… 点击创建开发机。
开发机名称似乎不能重名,我加上了序号。
镜像选择则随意了,我喜欢用新的。
由于第一关没涉及到GPU计算,资源配置选择最低的10%即可。时长由于要边写文章边操作,2小时基本够用了。
点击“立即创建”,将进入排队。
这时候就可以去冲杯咖啡摸摸鱼。。。
连接开发机
InternStudio提供了多种进入开发机的方式: 1、SSH连接:提供ssh连接命令和密码,在本地使用ssh客户端连接。除了系统自带的,还可以应用PuTTy、WindTerm、MobaXterm等
2、进入开发机:镜像自带的JupiterLab、CodeServer、网页版终端,可以在浏览器直接操作开发机。
为方便,先选择“进入开发机”,选择Terminal网页终端。
输入 pwd 命令显示当前目录 处于/root下
创建SSH key,配置SSH免密连接(可选)
开发机网页终端输入命令
ssh-keygen -t rsa
一路回车使用默认设置(也可使用自己的配置)
将生成一对RSA密钥(yue)文件在/root/.ssh/路径下
输入命令
cat /root/.ssh/id_rsa.pub
查看公钥内容,复制下来。
回到开发机首页。
配置ssh key
添加后保存。
开发机终端输入命令
cat /root/.ssh/id_rsa
查看私钥内容,复制下来。
本地机器Windows用户,在 用户目录/.ssh/下,新建id_rsa文件(或其它文件名),粘贴私钥,文件末尾需空一行
至此,使用InternStudio提供的ssh连接即在本地Windows可免密连接。
若私钥使用了其它文件名或路径,ssh命令加上参数:
ssh -i "ssh私钥文件路径"
使用 VSCODE 远程连接
首先复制开发机的ssh连接命令。
打开VScode,选择 连接到——连接到主机——连接到新的主机
粘贴开发机的ssh连接命令,配置免密后无须密码,也可粘贴密码。
确认连接。
在左侧资源管理器,打开文件夹/root/
创建hello_world.py文件并配置端口映射
首先/root/目录下新建hello_world.py
粘贴代码:
import socket
import re
import gradio as gr
# 获取主机名
def get_hostname():
hostname = socket.gethostname()
match = re.search(r'-(\d+)$', hostname)
name = match.group(1)
return name
# 创建 Gradio 界面
with gr.Blocks(gr.themes.Soft()) as demo:
html_code = f"""
<p align="center">
<a href="https://intern-ai.org.cn/home">
<img src="https://intern-ai.org.cn/assets/headerLogo-4ea34f23.svg" alt="Logo" width="20%" style="border-radius: 5px;">
</a>
</p>
<h1 style="text-align: center;">☁️ Welcome {get_hostname()} user, welcome to the ShuSheng LLM Practical Camp Course!</h1>
<h2 style="text-align: center;">😀 Let’s go on a journey through ShuSheng Island together.</h2>
<p align="center">
<a href="https://github.com/InternLM/Tutorial/blob/camp3">
<img src="https://oss.openmmlab.com/model-center/icamp3/posters/MTg2OTc5NjkyNDA=.png" alt="Logo" width="20%" style="border-radius: 5px;">
</a>
</p>
"""
gr.Markdown(html_code)
demo.launch()
打开终端安装gradio
pip3 install gradio
打开VSCode终端,选择“端口”,配置端口转发
启动程序hello_world.py,程序使用默认端口7860
python3 hello_world.py
即可在本地访问http://127.0.0.1:7860/ 访问到程序。
至此,完成任务。