# OmniCoder
## 论文
暂无
## 模型简介
OmniCoder-9B是由Tesslate开发的一款拥有90亿参数的代码智能体模型，它在Qwen3.5-9B的混合架构（门控Delta网络与标准注意力机制交错）之上进行了微调。该模型基于超过42.5万条精选的智能体编码轨迹进行了训练，涵盖了现实世界中的软件工程任务、工具使用、终端操作以及多步推理。训练数据专门构建自Claude Opus 4.6的智能体及编码推理轨迹，并针对性地覆盖了Claude Code、OpenCode、Codex和Droid的脚手架模式。数据集包含了来自Claude Opus 4.6、GPT-5.4、GPT-5.3-Codex 和 Gemini 3.1 Pro等模型的成功轨迹。  
该模型展现出强大的智能体行为：它能够从错误中恢复（如“先读后写”模式），响应LSP（语言服务器协议）诊断信息，并使用正确的编辑差异（diff）而非全文重写。这些模式均是直接从其训练所用的现实世界智能体轨迹中学得的。  
主要特性:  
- 基于前沿智能体轨迹训练：构建自Claude Opus 4.6、GPT-5.3-Codex、GPT-5.4 和Gemini 3.1 Pro的智能体编码轨迹，覆盖Claude Code、OpenCode、Codex和Droid脚手架。  
- 混合架构：继承了Qwen3.5的门控Delta网络与标准注意力机制交错的架构，以实现高效的长上下文处理。  
- 262K 原生上下文：拥有完整的262,144令牌上下文窗口，可扩展至100万以上。  
- 错误恢复：习得了“先读后写”模式，能够响应LSP诊断，并应用最小编辑差异而非全文重写。  
- 思考模式：支持推理链，用于复杂问题的拆解。  
- Apache 2.0协议：完全开放的权重，无任何限制。


## 环境依赖
| 软件 | 版本 |
| :------: | :------: |
| DTK | 26.04 |
| python | 3.10.12 |
| torch | 2.9.0+das.opt1.dtk2604.20260126.g22910426 |
| transformers | 5.2.0.dev0 |
| vllm | 0.15.1+das.opt1.alpha.dtk2604 |

当前仅支持定制镜像: image.sourcefind.cn:5000/dcu/admin/base/custom:pytorch2.9.1-ubuntu22.04-dtk26.04-0130-py3.10-20260204-qwen3_5

- 挂载地址`-v`根据实际模型情况修改

```bash
docker run -it \
    --shm-size 200g \
    --network=host \
    --name OmniCoder \
    --privileged \
    --device=/dev/kfd \
    --device=/dev/dri \
    --device=/dev/mkfd \
    --group-add video \
    --cap-add=SYS_PTRACE \
    --security-opt seccomp=unconfined \
    -u root \
    -v /opt/hyhal/:/opt/hyhal/:ro \
    -v /path/your_code_data/:/path/your_code_data/ \
    image.sourcefind.cn:5000/dcu/admin/base/custom:pytorch2.9.1-ubuntu22.04-dtk26.04-0130-py3.10-20260204-qwen3_5 bash
```

更多镜像可前往[光源](https://sourcefind.cn/#/service-list)下载使用，其它包安装：
```
pip uninstall vllm
pip install vllm-0.15.1+das.opt1.alpha.dtk2604-cp310-cp310-linux_x86_64.whl
pip install transformers==5.2.0
pip install numpy==1.25.0

```

## 数据集
`暂无`

## 训练
`暂无`

## 推理
### vllm
#### 单机推理
```bash
## serve启动
vllm serve Tesslate/OmniCoder-9B --trust-remote-code -tp 1   --port 8010

## client访问
curl -X POST "http://localhost:8010/v1/chat/completions"      -H "Content-Type: application/json"     --data '{
                "model": "Tesslate/OmniCoder-9B",
                "messages": [
                        {
                                "role": "user",
                                "content": "中国的首都是什么"
                        }
                ]
        }'

```

## 效果展示
<div align=center>
    <img src="./doc/result.png"/>
</div>

### 精度
`DCU与GPU精度一致，推理框架：vllm。`

## 预训练权重
| 模型名称  | 权重大小  | DCU型号  | 最低卡数需求 |下载地址|
|:-----:|:----------:|:----------:|:---------------------:|:----------:|
| OmniCoder-9B| 9B | BW1000 | 1 | [HuggingFace](https://huggingface.co/Tesslate/OmniCoder-9B) |


## 源码仓库及问题反馈
- https://developer.sourcefind.cn/codes/modelzoo/omnicoder_vllm

## 参考资料
- https://huggingface.co/Tesslate/OmniCoder-9B