溯仑智算
溯仑智算 SU.RUN开发者文档
获取接入支持
溯仑智算
溯仑智算 SU.RUN
开发者文档
开始使用
文档中心
阅读路径、接入顺序与专题总览
存储接入快速开始
第一次接入时优先阅读
存储接入总览
能力边界、使用路径与整体说明
本地配置与验证指南
在本地完成示例接口与最小验证
上传与下载
授权上传指南
浏览器、App 与客户端上传方式
授权下载指南
受控下载、权限判断与短时授权
前端直传安全规范
长期密钥保护与权限边界
大文件上传实战
大文件上传、重试与断点续传
规划与治理
文件路径命名规范
存储桶、路径、目录与归档规则
自定义域名接入
品牌化访问、证书与上线准备
接口说明
服务端接入方式、鉴权边界与返回结构
最小后端接入示例
上传下载授权与确认入库的完整串联
代码示例
JavaScript、Python 与 Go 接入示例
AI 与工作流
AI 环境接入说明
常见 AI 环境的接入说明
AI 训练数据与结果回写规范
模型、数据集、日志与输出治理
排障与帮助
错误码与问题排查
常见异常定位与恢复建议
接入常见问题总览
按角色整理的常见问题说明
支持中心
获取接入支持
获取接入支持
开始使用
文档中心存储接入快速开始存储接入总览本地配置与验证指南
上传与下载
授权上传指南授权下载指南前端直传安全规范大文件上传实战
规划与治理
文件路径命名规范自定义域名接入接口说明最小后端接入示例代码示例
AI 与工作流
AI 环境接入说明AI 训练数据与结果回写规范
排障与帮助
错误码与问题排查接入常见问题总览
当前文档
常见 AI 环境的接入说明
文档中心

AI 环境接入说明

本文档面向需要在 RunPod、Jupyter、Modal、Stable Diffusion、ComfyUI、LangChain 或自建训练容器中接入溯仑智算存储服务的团队,重点说明接入参数准备、模型与数据集目录规划、任务启动阶段的输入拉取、任务结束后的结果回写,以及训练、推理、知识库和自动化工作流的统一实施方式。

AI 环境支持
support@su.run

RunPod / Stable Diffusion / LangChain / Jupyter / Modal / 模型与数据集接入

AI 场景接入前需要先明确什么

在普通 Web 场景里,存储服务更多承担上传下载和素材归档;但在 AI 场景里,它往往同时承担模型仓、数据集仓、工作流中转站和结果归档仓的角色。只要模型目录、数据目录、结果目录和权限边界没有提前规划清楚,后续训练、推理、知识库处理和多人协作就很容易出现路径混乱、结果覆盖或回写失败的问题。

这篇文档更关注正式使用时真正会遇到的问题,例如接入参数怎么准备、不同平台怎么读取模型和数据、任务结束后怎么统一回写结果,以及如何让不同容器、不同任务和不同团队都围绕同一套文件路径与接入方式长期稳定运行。

接入原则
  • 模型、数据集、结果输出建议分开存放,至少使用不同前缀,理想情况使用不同存储桶。
  • AI 任务环境里的接入参数通过环境变量、密钥系统或任务平台注入,不写进镜像。
  • 启动脚本只负责拉取任务所需文件,结果回写逻辑统一封成一个输出函数。
  • 如果多个任务共享模型,建议引入本地缓存目录,减少重复下载。

适用场景

  • 需要在 RunPod、Jupyter、Modal、Stable Diffusion、ComfyUI 或自建容器中读取模型、数据集和结果文件的团队
  • 需要把训练任务、推理服务、知识库流程与存储接入方式统一起来的项目
  • 需要长期维护模型版本、输入输出目录、日志回写和多人协作规则的 AI 场景

文档收获

  • 知道不同 AI 平台应该怎样准备接入参数、桶名和环境变量
  • 明确模型、数据集、输入、输出和日志目录应该怎样拆分规划
  • 建立任务启动、读取输入、回写结果和正式上线时的统一实施顺序

控制台操作位置

AI 环境接入最常用的控制台位置同样是访问密钥和存储桶。先把这两块信息准备清楚,再继续配置任务环境变量、下载输入和回写结果,会更适合长期维护。

访问密钥与接入参数
控制台首页 -> 存储管理 -> 访问密钥
  • 容器启动脚本和任务环境变量会用到。
  • 建议单独创建 AI 作业专用密钥。
  • 按环境拆分,方便轮换与审计。
数据与结果桶
控制台首页 -> 存储管理 -> 存储桶
  • 建议把模型、数据集和结果输出分开。
  • 按 prefix 规划 outputs/、models/、datasets/。
  • 便于任务清理和生命周期治理。

RunPod / GPU 容器

建议把溯仑智算存储服务作为外部素材仓。容器启动时先通过环境变量加载接入参数,再从指定桶拉取数据集或模型文件,任务结束后把输出结果、日志和报表统一回写到结果桶。这样镜像更轻,环境切换和任务复跑也更方便。

Stable Diffusion / ComfyUI

建议把 checkpoint、LoRA、VAE、ControlNet 等模型素材统一放在存储服务里。工作流容器启动后按需拉取到本地缓存目录,生成结果再回写到 outputs/ 或 results/ 前缀,既方便换模型,也方便多人协作和版本管理。

LangChain / 知识库任务

文档原件、切片结果、向量化前的中间文件都可以先放入存储服务,再由任务系统按路径读取。这样不同解析器、Embedding 服务和索引任务可以共享同一批源数据,也方便把原始文件、处理中间结果和最终索引文件拆分管理。

结果回写

无论是训练日志、推理图片、评估报表还是分片中间产物,都建议统一回写到 results/ 或 outputs/ 前缀。这样后续无论是控制台下载、业务系统展示、审计追踪还是生命周期清理,都有明确的数据落点。

RunPod / 训练或推理容器

重点是启动时同步模型和数据集、运行中按路径读取输入、结束后把结果和日志回写。最怕的问题不是下载慢,而是目录规划混乱,导致不同任务互相覆盖。

Stable Diffusion / ComfyUI

重点是模型资产管理。checkpoint、LoRA、VAE、ControlNet 建议分目录或分桶管理,容器启动时按需拉取到本地缓存,再由工作流引用。

LangChain / 知识库流程

重点是原始文档、切片结果、向量化中间文件、最终索引输入的分层管理。存储服务在这里更像一个统一素材仓和处理中转层。

Jupyter / Notebook

重点是实验数据、样本文件、导出报表和中间模型统一归档。这样单人实验与团队协作都能共用同一套输入输出路径。

Modal / 托管任务环境

重点是把一次性任务和长期存储分离。容器只负责计算,模型、数据集和结果始终回到存储服务,便于复跑和迁移。

平台接入步骤

STEP 1
启动前:准备访问密钥 ID、访问密钥、接入域名、模型桶、数据桶和结果桶。
STEP 2
启动时:通过环境变量注入接入参数,并拉取模型、数据集或工作流配置到本地运行目录。
STEP 3
运行中:从存储服务读取输入文件,把中间结果写入临时目录,并保持输入输出目录结构稳定。
STEP 4
结束后:把输出文件、日志、报表和配置快照回写到结果桶,供控制台或业务系统继续处理。

常见错误做法

  • 把模型、数据集、日志和结果文件全部写进同一个目录,导致任务之间相互覆盖。
  • 把访问密钥 ID 和访问密钥直接写进镜像或脚本仓库,而不是通过受控环境变量注入。
  • 训练、推理、知识库各自定义一套路径和回写规则,后续很难做统一治理和复盘。

正式环境建议

  • 给不同 AI 项目分配固定的文件前缀,避免多个团队写进同一目录。
  • 训练和推理任务都建议产生日志文件,并与结果一起回写到存储服务。
  • 对模型和数据集的版本号要有清晰约定,例如 models/base/v1/、datasets/project-a/2026-06/。
  • 如果结果需要在前端展示或对外分享,优先走服务端下载授权,不直接暴露长期密钥。

推荐目录模板

下面是一种常见且容易维护的目录结构。你不一定要完全照搬,但强烈建议至少把模型、数据集、输入、输出和日志分开。

models/
  base/
  lora/
  controlnet/
datasets/
  raw/
  cleaned/
inputs/
outputs/
logs/

建议统一环境变量

不管你使用 RunPod、Jupyter、Modal 还是自建训练机,建议都用统一环境变量注入存储参数。这样脚本、Notebook、任务平台和训练节点都能复用同一套读取方式。

SURUN_S3_ENDPOINT=https://your-s3-endpoint
SURUN_ACCESS_KEY_ID=your-access-key
SURUN_SECRET_ACCESS_KEY=your-secret-key
SURUN_MODELS_BUCKET=training-assets
SURUN_RESULTS_BUCKET=training-results

任务准备步骤

STEP 1
先规划三类目录:模型目录、输入目录、结果目录。
STEP 2
在任务环境变量里注入接入域名、访问密钥 ID、访问密钥与目标桶名。
STEP 3
容器启动时先做一次最小下载验证,确认能够读取模型或数据集。
STEP 4
任务结束后统一把结果、日志和报表回写到 outputs/ 或 results/ 前缀。

启动前同步模型

容器刚启动时,只下载当前任务真正需要的模型或数据集,不要一次性把全部资产拉满。

运行中读取输入

把 prompt、文档、待训练样本、控制图或素材文件放进固定输入目录,任务内部只读这个目录。

结束后统一回写

把图片、报表、日志、权重、切片结果统一回写到结果桶或指定 prefix,便于后续后台查看与审计。

Python 拉取模型示例

若当前环境不支持直接挂载,也可以通过启动脚本在任务开始前把模型或数据集同步到本地工作目录。

import os
import boto3
from pathlib import Path

client = boto3.client(
    's3',
    endpoint_url=os.environ['SURUN_S3_ENDPOINT'],
    aws_access_key_id=os.environ['SURUN_ACCESS_KEY_ID'],
    aws_secret_access_key=os.environ['SURUN_SECRET_ACCESS_KEY'],
    region_name='auto',
)

Path('/workspace/models').mkdir(parents=True, exist_ok=True)
client.download_file('training-assets', 'models/base/model.safetensors', '/workspace/models/model.safetensors')

Jupyter / Notebook 示例

适合实验、数据清洗和分析验证。建议在 notebook 启动后先同步数据集,再把清洗结果、分析报表和中间文件统一上传回存储服务。

import os
import boto3
from pathlib import Path

session = boto3.session.Session()
client = session.client(
    's3',
    endpoint_url=os.environ['SURUN_S3_ENDPOINT'],
    aws_access_key_id=os.environ['SURUN_ACCESS_KEY_ID'],
    aws_secret_access_key=os.environ['SURUN_SECRET_ACCESS_KEY'],
    region_name='auto',
)

Path('./datasets').mkdir(exist_ok=True)
client.download_file(
    'training-assets',
    'datasets/project-a/train.csv',
    './datasets/train.csv',
)

print('dataset ready')

Modal 托管任务示例

适合按函数或任务执行训练、推理和批处理。核心原则是:计算环境短生命周期,模型、数据集和结果长期保存在存储服务。

import modal
import os
import boto3

app = modal.App('surun-training-job')
image = modal.Image.debian_slim().pip_install('boto3')

@app.function(image=image, timeout=60 * 60)
def run_training():
    client = boto3.client(
        's3',
        endpoint_url=os.environ['SURUN_S3_ENDPOINT'],
        aws_access_key_id=os.environ['SURUN_ACCESS_KEY_ID'],
        aws_secret_access_key=os.environ['SURUN_SECRET_ACCESS_KEY'],
        region_name='auto',
    )

    client.download_file(
        'training-assets',
        'models/base/model.safetensors',
        '/tmp/model.safetensors',
    )

    # 这里执行训练或推理逻辑

    client.upload_file(
        '/tmp/output.json',
        'training-results',
        'outputs/modal/job-001/output.json',
    )

自建训练机脚本示例

适合长期运行的 GPU 节点或内网训练服务器。建议把下载输入、运行任务、上传结果拆成三个明确阶段,便于复跑和问题定位。

#!/usr/bin/env bash
set -euo pipefail

python scripts/download_inputs.py   --bucket training-assets   --prefix datasets/project-a   --target /srv/jobs/current/datasets

python scripts/run_training.py   --config /srv/jobs/current/config.yaml

python scripts/upload_outputs.py   --source /srv/jobs/current/outputs   --bucket training-results   --prefix outputs/self-hosted/job-001

结果回写示例

推理完成后,建议把图片、日志、报表统一回写到结果桶,方便后续在业务后台查看、下载和审计。

client.upload_file(
    '/workspace/outputs/final.png',
    'training-results',
    'outputs/2026/06/final.png',
)
SECURITY NOTICE

AI 任务环境安全说明

  • AI 容器里的接入参数建议通过环境变量或密钥注入,不要写死在镜像里。
  • 模型、数据集和结果输出建议使用不同桶或不同前缀,避免权限混用。
  • 批量训练和长任务建议把结果回写逻辑做成统一函数,防止任务异常时遗漏产物。
  • 如需给前端展示任务结果,优先由业务服务端生成下载授权,不让浏览器直接接触长期密钥。

接入常见问题

RunPod 这类环境一定要做文件挂载吗?

不一定。很多场景直接在启动时同步模型或数据集就够了,关键是把输入和输出路径收口统一,便于容器切换与结果回写。

Stable Diffusion 的模型文件适合怎么管理?

建议按模型类型和版本拆目录,例如 models/base/、models/lora/、models/controlnet/,并在容器启动时按需同步到本地缓存。

LangChain 的原始文档和中间产物要不要分开?

建议分开。原始文档、切片结果、向量化前中间文件最好使用不同前缀,这样做调试、重跑和清理都更方便。

上一篇
代码示例
JavaScript、Python 与 Go 接入示例
下一篇
AI 训练数据与结果回写规范
模型、数据集、日志与输出治理
更多帮助

你可能还需要这些帮助入口

文档中心帮助你完成接入,客户服务页帮助你了解采购、支持与服务信息。

邮件支持

需要迁移协助或接入支持时,可以直接进入邮件支持入口。

进入支持中心

客户常见问题

采购、测试申请、迁移安排与售后问题,可先查看这份常见问题说明。

查看常见问题

价格与采购说明

需要确认容量区间、采购方式、续费与对账说明时,可从这里继续查看。

查看价格说明