入门任务一 Linux+InternStudio 关卡
参考:
- 教程
- 任务
1 闯关任务
1.1 基于 VScode 的 SSH 链接
感谢官方教程的清晰指引,基于VS code 实现 SSH 的链接并不困难,完成公钥配之后,可以实现快速一键链接,链接后效果如下
1.2 在SSH开发机中配置开发环境和创建文件
在 VScode SSH 到开发机后,创建终端,并通过以下指令安装 Gradio 依赖:
pip install gradio==4.29.0
而后创建 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.lingkongstudy.com.cn/blog/202406301604074.jpg" alt="Logo" width="20%" style="border-radius: 5px;">
</a>
</p>
"""
gr.Markdown(html_code)
demo.launch()
1.3 端口映射
端口映射可以将外网端口映射到内网端口,实现内外网通信,从而可以从外网访问内网服务和应用。在本机的终端中输入以下指令进行端口映射
ssh -p 37367 root@ssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
其中 -p 37367
应根据实际开发机的端口号进行配置,正确配置后,可以在本机访问开发机运行的应用。这样做的意义是,有时开发机不具备完整依赖去支持特定应用的运行,比如 Web-UI,通过端口映射可以借助本机的 Web-UI 去显示开发机的 Web 应用。
进行端口映射后,在开发机运行之前创建的 hello_world.py 文件,便可运行该脚本并将其映射在本地的 127.0.0.1:7860 端口:
此时,在本地浏览器打开 127.0.0.1:7860 端口,便可实现在本机访问远程开发机中运行的Gradio 脚本: