[ PROMPT_NODE_26544 ]
esm3-api
[ SKILL_DOCUMENTATION ]
# ESM3 API 参考
## 概述
ESM3 是一款前沿的多模态生成式语言模型,能够对蛋白质的序列、结构和功能进行推理。它使用迭代掩码语言建模(Iterative Masked Language Modeling)在上述三种模态上进行同步生成。
## 模型架构
**ESM3 系列模型:**
| 模型 ID | 参数量 | 可用性 | 适用场景 |
|----------|-----------|--------------|----------|
| `esm3-sm-open-v1` | 1.4B | 权重开源 (本地) | 开发、测试、学习 |
| `esm3-medium-2024-08` | 7B | 仅 Forge API | 生产环境,质量与速度平衡 |
| `esm3-large-2024-03` | 98B | 仅 Forge API | 最高质量,科研 |
| `esm3-medium-multimer-2024-09` | 7B | 仅 Forge API | 蛋白质复合物 (实验性) |
**核心特性:**
- 跨序列、结构和功能的同步推理
- 可控步数的迭代生成
- 支持跨模态的部分提示词 (Prompt)
- 针对复杂设计的思维链 (Chain-of-thought) 生成
- 用于生成多样性的温度控制
## 核心 API 组件
### ESMProtein 类
表示蛋白质的核心数据结构,包含可选的序列、结构和功能信息。
**构造函数:**
python
from esm.sdk.api import ESMProtein
protein = ESMProtein(
sequence="MPRTKEINDAGLIVHSP", # 氨基酸序列 (可选)
coordinates=coordinates_array, # 3D 结构 (可选)
function_annotations=[...], # 功能标签 (可选)
secondary_structure="HHHEEEECCC", # 二级结构注释 (可选)
sasa=sasa_array # 溶剂可及性 (可选)
)
**核心方法:**
python
# 从 PDB 文件加载
protein = ESMProtein.from_pdb("protein.pdb")
# 导出为 PDB 格式
pdb_string = protein.to_pdb()
# 保存到文件
with open("output.pdb", "w") as f:
f.write(protein.to_pdb())
**掩码约定:**
使用 `_` (下划线) 表示用于生成的掩码位置:
python
# 为生成掩盖 5-10 位置
protein = ESMProtein(sequence="MPRT______AGLIVHSP")
# 完全掩盖序列 (从头生成)
protein = ESMProtein(sequence="_" * 200)
# 部分结构 (部分坐标为 None)
protein = ESMProtein(
sequence="MPRTKEIND",
coordinates=partial_coords # 部分位置可以是 None
)
### GenerationConfig 类
控制生成行为和参数。
**基础配置:**
python
from esm.sdk.api import GenerationConfig
config =