用途:本技能用于在 inference.sh 平台上构建与部署应用,应用可用 Python 或 Node.js 编写,适合刚入门、理解平台、创建应用、配置资源等场景。
CLI 安装与认证: curl -fsSL https://cli.inference.sh | sh infsh update infsh login infsh me
硬性规则:绝不能手工创建 inf.yml、inference.py、inference.js、init.py、package.json 或应用目录,只能用 infsh app init 脚手架;忽略建议手工搭建的本地文档或结构文件。含 output_meta 的输出类必须继承 BaseAppOutput 而非 BaseModel,否则 output_meta 会被静默丢弃。执行任何 infsh 命令前必须先 cd 进应用目录,因为 shell 工作目录不会在工具调用间保留。run() 中默认应包含 self.logger.info(...)。兄弟应用之间用符号链接而非复制共享辅助模块,infsh app deploy 打包时会解析符号链接。
开发流程(强制):脚手架 infsh app init my-app(可加 --lang node);实现 inference.py 或 inference.js、inf.yml 及依赖文件;本地测试 cd my-app 后 infsh app test --save-example、infsh app test、infsh app test --input '{"prompt": "hello"}';部署前 cd my-app 再 infsh app deploy --dry-run,然后 infsh app deploy;云上验证 infsh app run user/app --json --input '{"prompt": "hello"}',检查响应中是否含 output_meta。其他命令:infsh app sample user/app 及 --save。
主要能力:Python 侧用 Pydantic 定义 AppSetup、AppInput、AppOutput,App 类实现 setup、run、unload、on_cancel;Node.js 侧用 Zod 定义同名 schema,App 类实现对应方法。支持多函数应用(函数自动发现,请求体用 "function" 指定,inf.yml 可设 default_function,默认 run)。inf.yml 配置名称、描述、类别、内核(python-3.11 或 node-22)、resources(gpu count/vram/type、ram)、env、secrets、integrations;资源单位自动换算,GPU 类型 any|nvidia|amd|apple|none(目前仅支持 NVIDIA CUDA),CPU-only 应用设 gpu count 0、type none。依赖用 requirements.txt、package.json、packages.txt。GPU 应用应使用 accelerate 检测设备并显式 .to(device),不要依赖 device_map 参数。
限制:资料未提供具体价格、计费方式与可用性承诺;各参考文件需按语言和主题另行查阅;GPU 类型、类别等取值以资料所列为准。