---
title: S1-Omni
canonical_url: "https://www.modelscope.cn/models/ScienceOne-AI/S1-Omni"
md_url: "https://www.modelscope.cn/models/ScienceOne-AI/S1-Omni.md"
repository: ScienceOne-AI/S1-Omni
chinese_name: S1-Omni
last_updated: 2026-07-20
license: "Apache License 2.0"
pipeline_tag: any-to-any
tasks:
  - any-to-any
model_type:
  - qwen3_vl
architectures:
  - Qwen3VLForConditionalGeneration
base_model:
  - ScienceOne-AI/S1-VL-32B-RL
base_model_relation: finetune
parameters: 54.8B
tensor_type:
  - BF16
  - F32
  - I64
library_name:
  - safetensors
  - pytorch
frameworks:
  - Pytorch
downloads: 248
stars: 2
---

# S1-Omni

> S1-Omni - ScienceOne-AI 在 ModelScope 开源的模型。科学多模态统一基础模型

ScienceOne-AI/S1-Omni 是 ModelScope 魔搭社区上的 54.8B 参数any-to-any模型，采用 Apache License 2.0 许可，基于 ScienceOne-AI/S1-VL-32B-RL 构建。

- **Repository**: ScienceOne-AI/S1-Omni
- **License**: Apache License 2.0
- **Tasks**: any-to-any
- **Parameters**: 54.8B
- **Base model**: ScienceOne-AI/S1-VL-32B-RL
- **Downloads**: 248
- **Stars**: 2
- **Last updated**: 2026-07-20

Source: https://www.modelscope.cn/models/ScienceOne-AI/S1-Omni

---

<div align="center">

# S1-Omni

**科学多模态统一推理模型**

[![arXiv](https://img.shields.io/badge/arXiv-2607.15686-b31b1b?logo=arxiv)](https://arxiv.org/abs/2607.15686)
[![Blog](https://img.shields.io/badge/Blog-S1--Omni-blue)](https://scienceone-ai.github.io/S1-Omni)
[![GitHub](https://img.shields.io/badge/GitHub-S1--Omni-181717?logo=github)](https://github.com/ScienceOne-AI/S1-Omni)
[![Hugging Face](https://img.shields.io/badge/Hugging%20Face-S1--Omni-yellow)](https://huggingface.co/ScienceOne-AI/S1-Omni)
[![ModelScope](https://img.shields.io/badge/ModelScope-S1--Omni-624aff)](https://modelscope.cn/models/ScienceOne-AI/S1-Omni)
[![许可证](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](代码仓库/S1-Omni-pro/LICENSE)


</div>


## 🧬 模型介绍

S1-Omni 是由中国科学院 “磐石·科学基础大模型”（ScienceOne AI）团队研发的科学多模态统一推理模型，面向科学理解、预测与生成。

S1-Omni 将自然语言指令与不同模态的科学对象组织为统一表征，覆盖材料 CIF、化学 SMILES、蛋白质序列、光谱数据、科学图像等模态；将科学规律、实验事实和专家经验融入数据构建、校验与训练，使模型基于科学证据形成中间推理过程；并根据任务目标连接相应解码器，支持材料与化学性质预测、谱图到分子结构重建、蛋白质功能位点和结构预测、科学图像生成与编辑等任务。

S1-Omni 围绕三项核心能力构建：

- **科学数据统一编码**：将自然语言指令与文本、材料 CIF、化学 SMILES、蛋白质序列、谱图、科学图像等对象共同组织为统一任务表述，同时保留不同对象的类型边界、表示结构和编码路径。
- **自然世界知识对齐**：在数据构建、样本校验和训练过程中融入科学规律、实验事实与专家经验，使模型能够依据当前任务中的科学证据形成中间判断，增强科学推理能力和可解释性。
- **领域任务定向解码**：在共享任务理解与科学推理基础上，根据任务目标连接到对应结果表达与生成模块，使统一模型能够在各领域原生结果空间中输出可验证结果。

<div align="center">
  <img src="assets/s1-omni-architecture.png" alt="S1-Omni 模型架构" width="95%">
  <br>
</div>


## 🤗 模型开源

模型权重可从以下平台获取：

| 平台 | 地址 |
| --- | --- |
| Hugging Face | `https://huggingface.co/ScienceOne-AI/S1-Omni` |
| ModelScope | `https://modelscope.cn/models/ScienceOne-AI/S1-Omni` |

模型权重目录主要包含以下内容：

| 类型 | 文件/目录 |
| --- | --- |
| 模型权重 | `model-00001-of-00021.safetensors` 到 `model-00021-of-00021.safetensors` |
| 权重索引 | `model.safetensors.index.json` |
| 模型配置 | `config.json`, `configuration.json`, `generation_config.json` |
| Tokenizer | `tokenizer.json`, `tokenizer_config.json`, `vocab.json`, `added_tokens.json`, `special_tokens_map.json`, `chat_template.jinja` |
| 输入预处理配置 | `processor_config.json`, `preprocessor_config.json`, `video_preprocessor_config.json` |
| 图像解码器配置 | `s1_omni_image_config.json` |
| 蛋白任务相关配置 | `esm2/`, `s1_protein_config.json`, `simplefold_config.json`, `simplefold.safetensors.index.json` |

## 📚 数据开源

**S1-Omni-Corpus** 是面向统一科学多模态推理构建的大规模训练语料，围绕“异质科学数据统一 + 专家经验对齐推理 + 领域原生监督”组织样本。语料覆盖数学、物理、化学、生物、材料、医学、地理、天文和计算机科学等学科，包含科学问答、文献推理、分子与材料性质预测、蛋白质功能与结合位点预测、蛋白结构相关任务、谱图到分子结构预测、科学图像生成与编辑等任务。


<div align="center">
  <img src="assets/s1-omni-corpus.png" alt="S1-Omni-Corpus 数据分布" width="95%">
  <br>
</div>

完整语料 S1-Omni-Corpus 覆盖超过 200 个科学任务，包含百万级科学推理样本。我们同步开源代表性数据子集 **S1-Omni-Corpus-10K**，该子集从 S1-Omni 训练语料中整理得到，共 **10,468** 条完整训练样本，主要用于数据管线分析、任务协议研究和社区复现。

开源数据可以从以下平台获取：

| 平台 | 地址 |
| --- | --- |
| Hugging Face | `https://huggingface.co/datasets/ScienceOne-AI/S1-Omni-Corpus-10K` |
| ModelScope | `https://modelscope.cn/datasets/ScienceOne-AI/S1-Omni-Corpus-10K` |


每条 JSONL 记录字段包含 `data_id`、`messages`、`images`、`meta`：

```json
{
  "data_id": "XXXXXX",
  "messages": [
    {
      "role": "user",
      "content": "用户问题及科学对象上下文"
    },
    {
      "role": "assistant",
      "content": "<think>...推理过程...</think>\n\n模型回答及任务专用Token"
    }
  ],
  "images": [],
  "meta": {
    "subject": "...",
    "task_type": "...",
    "language": "zh",
    "turns": 1,
    "label": null
  }
}
```

字段说明：

- `data_id`：数据唯一ID。
- `messages`：数据内容，`role` 包含 `user` 和 `assistant` 角色。`content` 为用户输入的提示词及科学对象。
- `images`：用户输入图像的相对路径列表，缺失时为 `[]`。图像和谱图子集使用 `assets/...` 路径，纯文本记录为 `[]`。
- `meta`：元数据对象，仅包含 `subject`、`task_type`、`language`、`turns`、`label` 五个键。

`meta` 字段说明：

| 字段 | 类型 / 取值 | 说明 |
| --- | --- | --- |
| `subject` | 学科 | `Chemistry`、`Biology`、`Medicine`、`Materials`、`CS`、`Physics`、`Geography`、`Math`、`Astronomy` |
| `task_type` | 任务类型 | 例如 `IR spectrum to SMILES prediction`、`Protein PPI binding site prediction`、`Image editing` 等 |
| `language` | 样本语种 | `en` / `zh` |
| `turns` | int | user 轮数，`1` 表示单轮 |
| `label` | object / null | 标注信息；非空时包含 `type` 和 `value`，`value` 为当前科学任务对应的解码器输出对象 |

任务专用 token 如下：

- `<image_edit>` / `<image_gen>`：图像编辑与图像生成任务
- `<prot_st>` / `<prot_cla>`：蛋白结构与蛋白分类任务
- `<linear_pre>` / `<linear_cla>`：线性预测与分类任务
- `<spectra_st>`：谱到分子结构预测任务

## 🚀 快速开始

### 1. 推理环境搭建

进入推理代码目录：

```bash
cd S1-Omni/code
```

下载结构预测相关引用文件：

```bash
# 按目录内 txt 说明将 pt 文件下载到该文件夹下
cd simplefold_inference_pt
```

安装推理环境（建议使用 Python 3.10）：

```bash
cd S1-Omni/code
bash install.sh
```

### 2. 下载权重

从 Hugging Face 或 ModelScope 下载模型权重，并放置到本地 checkpoint 目录：

```bash
mkdir -p checkpoints/S1-Omni
```

可参考“模型开源”部分，下载模型完整权重。模型服务默认按合并权重目录加载，如果权重放在其他路径，请在启动服务时通过 `--checkpoint_dir` 指定。也可以在 `s1_omni_infer/infer_s1_omni_checkpoint.py` 中修改默认模型地址。

### 3. 启动模型服务

启动 S1-Omni 需要约 `2 * 80G` GPU 显存。推荐在项目目录启动 OpenAI 兼容服务：

```bash
python s1_omni_infer/serve_s1_omni_openai.py \
  --checkpoint_dir checkpoints/S1-Omni \
  --host 0.0.0.0 \
  --port 8009 \
  --model_name s1-omni
```

默认服务地址为 `http://<host>:8009`。可通过健康检查确认服务状态：

```bash
curl http://<host>:8009/health
```

主要接口：

| 接口 | 说明 |
| --- | --- |
| `POST /v1/chat/completions` | OpenAI 兼容聊天接口，测试脚本默认使用该接口 |
| `GET /health` | 服务状态检查 |

### 4. 请求与响应格式

请求格式与 OpenAI Chat Completions 基本兼容：

```json
{
  "model": "s1-omni",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "用户问题"
        }
      ]
    }
  ],
  "max_new_tokens": 8192,
  "temperature": 0.2
}
```

响应格式：

```jsonc
{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "created": 1760000000,
  "model": "s1-omni",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "最终返回给用户的文本或生成文件路径"
      },
      "finish_reason": "stop"
    }
  ],
  "final_text": "最终返回给用户的文本或生成文件路径",
  "result": {
    "question": "...",
    "generation_question": "...",
    "llm_output": "...<route_token>",
    "final_special_token": "<route_token>",
    "selected_by": "classification | regression | protein | simplefold | image_gen | image_edit | spectra | unknown",
    "prediction": {
      "...": "..."
    },
    "final_text": "最终返回给用户的文本或生成的科学对象文件路径"
  }
}
```

业务侧优先读取 `final_text` 字段；`result` 保留路由、原始 LLM 输出和各任务 decoder 的结构化结果。

### 5. 调用测试脚本

列出内置任务示例：

```bash
python s1_omni_infer/test_s1_omni_openai_client.py \
  --url http://<host>:8009/v1/chat/completions \
  --list
```

运行指定任务：

```bash
python s1_omni_infer/test_s1_omni_openai_client.py \
  --url http://<host>:8009/v1/chat/completions \
  --task protein_site
```

启动 Gradio 可视化界面：

```bash
python s1_omni_infer/s1_omni_openai_gradio.py
```


### 6. 任务调用示例

#### 6.1 蛋白质结合位点预测：`protein_site`

请求：

```jsonc
{
  "model": "s1-omni",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Given protein sequence <PROT>KETAAAKFERQHMDSSTSAASSSNYCNQMMKSRNLTKDRCKPVNTFVHESLADVQAVCSQKNVACKNGQTNCYQSYSTMSITDCRETGSSKYPNCAYKTTQANKHIIVACEGNPYVPVHFDASV</PROT>, predict the residues that form protein-protein interaction (PPI) binding sites."
        }
      ]
    }
  ],
  "max_new_tokens": 8192,
  "temperature": 0.2
}
```

#### 6.2 蛋白结构预测：`protein_fold`

请求：

```jsonc
{
  "model": "s1-omni",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "你是一名面向蛋白质建模的助手。用户给出序列后，请说明这些功能和结构域线索如何影响结构预测。\n\n<PROT>MLNGISNAASTLGRQLVGIASRVSSAGGTGFSVAPQAVRLTPVRVHSPFSPGSSNVNARTIFNVSSQVTSFTPSRPAPPPPTSGQASGASRPLPPIAQALKDHLAAYELSKASETVNFKPTRPAPPPPTSGQASGASRPLPPIAQALKDHLAAYELSKASETVSFKPTRQAPPPPTSGQASGPGGLPPLAQALKDHLAAYEQSKKG</PROT>"
        }
      ]
    }
  ],
  "max_new_tokens": 8192
}
```

#### 6.3 小分子性质分类：`property_classification`

请求：

```jsonc
{
  "model": "s1-omni",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "<SMILES>CCOP(=O)(OCC)C12CC(C)C=CC1COC2=O</SMILES> 是否可被认为具有抗 HIV 复制活性？"
        }
      ]
    }
  ],
  "max_new_tokens": 8192
}
```

#### 6.4 小分子/材料性质回归预测：`property_regression`

请求：

```jsonc
{
  "model": "s1-omni",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "请评估<SMILES>C1=CC2=CC=C3C=CC4=CC=C5C=CC6=CC=C1C1=C2C3=C4C5=C61</SMILES>在水中的溶解能力，并报告ESOL log S数值。"
        }
      ]
    }
  ],
  "max_new_tokens": 8192
}
```

#### 6.5 文生图：`image_generation`

请求：

```jsonc
{
  "model": "s1-omni",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "生成一张人体细胞内部剖面，线粒体、DNA 双螺旋、核糖体漂浮，水润半透明细胞膜，淡青、薄荷绿、浅粉柔和配色，液态流动细胞质，柔和柔光，纯白极简实验室背景，干净通透，生物医学科普插画，扁平细腻质感，高清晰度，文字采用英文，高清"
        }
      ]
    }
  ],
  "max_new_tokens": 8192
}
```

#### 6.6 图像编辑：`image_edit`

请求：

```jsonc
{
  "model": "s1-omni",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "image_url",
          "image_url": "/path/to/your_image.png"
        },
        {
          "type": "text",
          "text": "请把图片背景颜色改为浅棕色"
        }
      ]
    }
  ],
  "max_new_tokens": 8192
}
```

#### 6.7 谱图到分子生成：`spectra`

请求：

```jsonc
{
  "model": "s1-omni",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "jdx_files",
          "jdx_files": [
            "/path/to/000010_ir.jdx",
            "/path/to/000010_raman.jdx",
            "/path/to/000010_uv.jdx"
          ]
        },
        {
          "type": "text",
          "text": "请你基于给出的红外、拉曼和UV谱，预测可能的分子结构"
        }
      ]
    }
  ],
  "max_new_tokens": 8192,
  "force_spectra": true
}
```

## 📄 开源协议

本项目的代码、模型权重和数据集均采用 Apache License 2.0。

S1-Omni 面向科研场景开放，由于科学任务可能涉及实验条件、测量误差、任务协议差异和领域知识边界，模型输出不应直接作为实验决策、临床判断、材料筛选或工程部署的唯一依据。对于关键科学结论，应结合专业工具、实验验证和领域专家复核。

## 📖 引用

如果 S1-Omni 对你的研究有帮助，请引用我们的技术报告。正式引用格式将在论文或技术报告发布后更新。

```bibtex
@misc{s1omni2026,
  title  = {S1-Omni: A Unified Multimodal Reasoning Model for Scientific Understanding, Prediction, and Generation},
  author = {ScienceOne AI and Wenge AI},
  year   = {2026},
  url    = {https://arxiv.org/abs/2607.15686}
}
```
