更新用法
This commit is contained in:
69
usage.md
69
usage.md
@@ -25,8 +25,23 @@ macOS系统(Apple Silicon)
|
|||||||
1. 准备环境
|
1. 准备环境
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# 安装Xcode并完成初始化验证
|
||||||
xcode-select --install
|
xcode-select --install
|
||||||
|
xcrun -find metal || echo "metal not found"
|
||||||
|
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
|
||||||
|
# 打开 xcode 安装 macos sdk,命令行安装不成功在图形化界面安装即可
|
||||||
|
sudo xcodebuild -license accept
|
||||||
|
xcodebuild -runFirstLaunch
|
||||||
|
# 安装着色器的工具链
|
||||||
|
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
|
||||||
|
xcodebuild -downloadComponent MetalToolchain
|
||||||
|
# 验证是否安装成功
|
||||||
|
xcrun --sdk macosx --find metal
|
||||||
|
xcrun --sdk macosx --show-sdk-path
|
||||||
|
# 创建虚拟环境
|
||||||
micromamba create -n gptoss python=3.12 -y
|
micromamba create -n gptoss python=3.12 -y
|
||||||
|
micromamba activate gptoss
|
||||||
|
micromamba install pybind11 -c conda-forge -y
|
||||||
```
|
```
|
||||||
|
|
||||||
2. 手动运行CMake构建
|
2. 手动运行CMake构建
|
||||||
@@ -34,6 +49,7 @@ micromamba create -n gptoss python=3.12 -y
|
|||||||
```bash
|
```bash
|
||||||
git clone https://github.com/hotwa/openharmony-mlx.git
|
git clone https://github.com/hotwa/openharmony-mlx.git
|
||||||
cd openharmony-mlx
|
cd openharmony-mlx
|
||||||
|
|
||||||
# 自动安装cmake安装
|
# 自动安装cmake安装
|
||||||
GPTOSS_BUILD_METAL=1 pip install -e ".[metal]"
|
GPTOSS_BUILD_METAL=1 pip install -e ".[metal]"
|
||||||
# 手动编译cmake安装
|
# 手动编译cmake安装
|
||||||
@@ -41,7 +57,15 @@ cd gpt_oss/metal
|
|||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DGPTOSS_BUILD_PYTHON=ON
|
cmake .. -DCMAKE_BUILD_TYPE=Release -DGPTOSS_BUILD_PYTHON=ON
|
||||||
|
export pybind11_DIR=$(python -c "import pybind11; print(pybind11.get_cmake_dir())")
|
||||||
|
cmake -S .. -B . \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DGPTOSS_BUILD_PYTHON=ON \
|
||||||
|
-DPYBIND11_FINDPYTHON=ON \
|
||||||
|
-Dpybind11_DIR="$(python -c 'import pybind11;print(pybind11.get_cmake_dir())')"
|
||||||
|
cmake --build . --config Release --parallel
|
||||||
make -j$(nproc)
|
make -j$(nproc)
|
||||||
|
ctest --output-on-failure
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Metal着色器编译
|
3. Metal着色器编译
|
||||||
@@ -52,14 +76,27 @@ CMake会自动编译Metal源文件: CMakeLists.txt:16-28
|
|||||||
4. Python扩展模块构建
|
4. Python扩展模块构建
|
||||||
CMake会创建名为_metal的Python扩展模块:
|
CMake会创建名为_metal的Python扩展模块:
|
||||||
|
|
||||||
|
## python 安装包
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# 手动安装
|
||||||
# 安装扩展模块
|
# 安装扩展模块
|
||||||
cp _metal.so /path/to/your/python/site-packages/gpt_oss/metal/
|
cp _metal.so /path/to/your/python/site-packages/gpt_oss/metal/
|
||||||
|
|
||||||
# 安装Metal库文件
|
# 安装Metal库文件
|
||||||
cp default.metallib /path/to/your/python/site-packages/gpt_oss/metal/
|
cp default.metallib /path/to/your/python/site-packages/gpt_oss/metal/
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 在 gpt_oss 仓库根目录(不是 metal/build)
|
||||||
|
cd /path/to/gpt_oss
|
||||||
|
|
||||||
|
# 确保环境中 pybind11、Xcode 都就绪
|
||||||
|
export GPTOSS_BUILD_METAL=1
|
||||||
|
python -m pip install -e ".[metal]" # 开发模式安装(可改代码即时生效)
|
||||||
|
# 或者正式安装
|
||||||
|
# python -m pip install ".[metal]"
|
||||||
|
```
|
||||||
|
|
||||||
5. 验证metal模块是否正确安装
|
5. 验证metal模块是否正确安装
|
||||||
|
|
||||||
```python
|
```python
|
||||||
@@ -93,3 +130,33 @@ API 地址:http://localhost:8080
|
|||||||
密钥:无
|
密钥:无
|
||||||
|
|
||||||
请求虽然是gpt-oss-120b,但是实际使用的是gpt-oss-20b。由于后台写死的是120b,所以请求使用gpt-oss-120b
|
请求虽然是gpt-oss-120b,但是实际使用的是gpt-oss-20b。由于后台写死的是120b,所以请求使用gpt-oss-120b
|
||||||
|
|
||||||
|
## codex 使用
|
||||||
|
|
||||||
|
```bash
|
||||||
|
vim .codex/config.toml
|
||||||
|
```
|
||||||
|
|
||||||
|
```toml
|
||||||
|
disable_response_storage = true
|
||||||
|
show_reasoning_content = true
|
||||||
|
model = "gpt-5-codex"
|
||||||
|
|
||||||
|
[model_providers.local]
|
||||||
|
name = "local"
|
||||||
|
base_url = "http://100.64.0.4:8080/v1"
|
||||||
|
wire_api = "responses"
|
||||||
|
include_apply_patch_tool = false
|
||||||
|
|
||||||
|
[profiles.oss]
|
||||||
|
model = "gpt-oss-120b"
|
||||||
|
model_provider = "local"
|
||||||
|
include_apply_patch_tool = false
|
||||||
|
|
||||||
|
[mcp_servers.web-mcp]
|
||||||
|
url = "https://web-mcp.koyeb.app/sse/04824d01-60c3-4f20-9340-65b60d3e8344"
|
||||||
|
# 如果需要认证,可以添加 bearer_token
|
||||||
|
# bearer_token = "your-token-here"
|
||||||
|
startup_timeout_sec = 60
|
||||||
|
tool_timeout_sec = 120
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user