Files
obsidian/Config for Ali.md

1026 lines
27 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## config files
### tmux
```
bind-key b send-prefix
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",xterm-256color:RGB"
set -g status-right ""
unbind '%'
bind '|' split-window -h -c "#{pane_current_path}"
unbind '"'
bind '-' split-window -v -c "#{pane_current_path}"
bind -r m resize-pane -Z
set -g base-index 1
set-window-option -g mode-keys vi
bind-key -T copy-mode-vi 'v' send -X begin-selection
bind-key -T copy-mode-vi 'y' send -X copy-selection
unbind -T copy-mode-vi MouseDragEnd1Pane
```
### .bashrc
```bash
# export HOME=/mnt/debugger/wjh
[ -z "$PS1" ] && return
export TERM=xterm-256color
if [ -f ~/.dircolors ]; then
eval "$(dircolors -b ~/.dircolors)"
else
eval "$(dircolors -b)"
fi
alias ls='ls --color=auto -F'
alias ll='ls -lh --color=auto'
alias la='ll -a'
alias grep='grep --color=auto'
alias df='df -h'
alias du='du -h'
export PS1='\[\e[01;32m\]\u@\h\[\e[00m\]:\[\e[01;34m\]\w\[\e[00m\]\$ '
HISTSIZE=10000
HISTFILESIZE=20000
shopt -s histappend
export HISTCONTROL=ignoredups:erasedups
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
unset color_prompt force_color_prompt
use() {
source /mnt/debugger/wjh/.venv/$1/bin/activate
}
proxyOn() {
p="http://ipads:ipads123@127.0.0.1:11235"
export http_proxy=$p https_proxy=$p all_proxy=$p
}
proxyOff() {
unset http_proxy https_proxy all_proxy
}
```
### create user
```bash
#!/bin/bash
# 使用方法: sudo ./create_user.sh <用户名> <密码> <home目录路径>
# 检查是否以root权限运行
if [ "$(id -u)" != "0" ]; then
echo "此脚本必须以root权限运行。请使用sudo执行。" 1>&2
exit 1
fi
# 检查参数数量
if [ $# -lt 3 ]; then
echo "错误: 需要提供至少三个参数 - 用户名、密码和home目录路径"
echo "用法: $0 <用户名> <密码> <home目录路径> [<uid>]"
exit 1
fi
USERNAME=$1
PASSWORD=$2
HOME_DIR=$3
USER_ID=$4
# 创建用户并指定home目录
useradd -m -d "$HOME_DIR" -s /bin/bash "$USERNAME" -u $USER_ID
echo "用户 $USERNAME 已创建home目录为 $HOME_DIR"
# 设置用户密码
echo "$USERNAME:$PASSWORD" | chpasswd
echo "用户 $USERNAME 的密码已设置"
# 赋予sudo权限 (适用于Ubuntu/Debian系统)
usermod -aG sudo "$USERNAME"
echo "用户 $USERNAME 已添加到sudo组拥有管理员权限"
# 对于CentOS/RHEL系统应使用以下命令代替上面的命令
# usermod -aG wheel "$USERNAME"
echo "用户创建完成!可以使用以下命令验证:"
echo "su - $USERNAME"
echo "sudo -l"
```
## AIBank
申请理由:
```
服务百炼在线模型推理任务,缩短推理服务的 TTFT 与 TPOT节省推理资源。
1. 基于 vLLM 测试 MoE 的 expert 负载不均衡特性
2. 优化 vLLM 的 MoE 部分的性能
3. 测试 MoE 的性能,分析 MoE 部分的提升效果
```
```
服务百炼在线模型推理任务,实现动态的模型资源池切换,节省推理资源。
1. 在异构硬件H20、H800、5090 等)上测试 vLLM serve 不同模型30B、235B 等)的性能并分析
2. 依据性能分析结果,在异构硬件上做模型推理的服务配置调优,让任一模型在任一硬件上能够得到最优的推理配置
3. 为异构资源池上模型流量的切换与动态调整做指导,为不同模型在给定流量需求下分配最优的硬件资源池,让不同模型的总资源需求量尽可能减少,从而优化整体的资源利用率
```
### setup
```
curl -LsSf https://astral.sh/uv/install.sh | sh
```
```
IdentityFile ~/.ssh/gahow_main
ServerAliveInterval 180
ServerAliveCountMax 3
Host ali
HostName 47.83.188.3
User gahow
```
```
ssh -f -N -D 1080 ali
curl --socks5 127.0.0.1:1080 https://ifconfig.me
export SSL_CERT_FILE=$(python -m certifi)
curl http://ipinfo.io
```
``` bash
cd "$HOME/.vscode-server/extensions/openai.chatgpt-0.4.15/bin/linux-x86_64"
# keep the original
mv codex codex.real
# wrapper that forces a proxy and then calls the original
cat > codex <<'EOF'
#!/usr/bin/env bash
export HTTPS_PROXY="http://localhost:7890"
export HTTP_PROXY="http://localhost:7890"
export NO_PROXY="http://localhost:7890"
# ------------------------------------------------
HERE="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
exec "$HERE/codex.real" "$@"
EOF
chmod +x codex
```
```
networksetup -setv6off Wi-Fi
curl ipinfo.io
<html><body><p align="center"><a href="http://portal.wifi.alibaba-inc.com/loginPage-custom?random=c9ca5299-e5cf-4750-8a97-93010063568b&ap_mac=40%3A1A%3A58%3A2A%3A81%3A70&sign_method=hmac_sha256&ssid=alibaba-guest&sta_mac=9A%3A89%3A66%3ABB%3A08%3A5A&timestamp=1761019558780&version=1.0&sign=5C396F5000AA6AF0CCC4EE9C0BC0F95B68E208D9522F23CA97AC3FA4AE56C8CF">如果浏览器不能自动跳转,请点击这里.</a><br><a href="http://portal.wifi.alibaba-inc.com/loginPage-custom?random=c9ca5299-e5cf-4750-8a97-93010063568b&ap_mac=40%3A1A%3A58%3A2A%3A81%3A70&sign_method=hmac_sha256&ssid=alibaba-guest&sta_mac=9A%3A89%3A66%3ABB%3A08%3A5A&timestamp=1761019558780&version=1.0&sign=5C396F5000AA6AF0CCC4EE9C0BC0F95B68E208D9522F23CA97AC3FA4AE56C8CF">If the browser cannot be redirected automatically, please click here.</a></body></html>
```
```
pmset -g
sudo pmset -a sleep 0
sudo pmset -a disablesleep 1
sudo pmset -a disablesleep 0
sudo pmset -a sleep 10
pmset displaysleepnow
```
```bash
sudo apt install rclone
rclone config
rclone lsf mydav:
rclone mkdir mydav:/newfoler/xx
rclone copy /path/to/file mydav:/folder/
rclone sync /path/to/localdir mydav:/folder
```
# Dash vllm
`unset VLLM_CACHE_ROOT`
```json
{
"memory_cache": "100G",
"rdma": "1",
"enable-nvidia-ibgda": "true",
"enable-nvidia-gdrcopy": "true",
"global_dynamic_batching": {
"enabled": true,
"scheduler_type": "cache-aware-batching",
"scheduler_config": {
"max_batch_size": 128,
"max_token_num": 1000000,
"request_seize_threshold": 20,
"prefix_match_weight": 10,
"load_weight": 20,
"prefill_concurrency": 2,
"long_context": {
"long_context_threshold": 30000,
"long_context_proportion": 0.1,
"max_long_context_proportion": 0.3
},
"enable_global_batching_optimization": true
},
"request_transmission": "grpc",
"response_transmission": "grpc",
"preferred_batch_size": 0,
"token_capacity": 0,
"max_queue_delay": 100,
"bucket_strategy": "",
"bucket_count": 1,
"bucket_thresholds": []
},
"turbo": {
"env": {
"DashScope_Service_GracefulShutdown_WaitSeconds": 300,
"DashScope_Api_Cache_Aware_EnableLengthIsolated": true
}
},
"termination_grace_period": 300
}
```
# Trace
Some Observations
- 很多请求在 tool call 之后,携带 tool response 的 content 作为 input
```
<|im_start|>system\n{user_sys}{bailian_sys_prompt}<|im_end|>
<|im_start|>user\n{user_content}<|im_end|>
<|im_start|>assistant\n<think><|im_end|>
<|im_start|>user\n<tool_response>\n{tool_content}<\tool_response><|im_end|>
```
- thinking 下 input_length < 8k但 input_length + output_length > 8k 的占比不小,多轮对话少(因为只从一个 cluster 内采集)
```
thinking: cnt=1845, cnt / len(data)=0.16394170961435933
coder: cnt=1871, cnt / len(data)=0.012262580450654747
```
字段:
- thinking
```
__tag__:__hostname__
__tag__:__pack_id__
__tag__:__path__
__tag__:__receive_time__
__tag__:__service_name__
__tag__:__user_defined_id__
__tag__:_container_ip_
__tag__:_container_name_
__tag__:_image_name_
__tag__:_namespace_
__tag__:_pod_name_
__tag__:_pod_uid_
__tag__:eci_id
__time__
__topic__
cluster_name
cluster_type
data_name
data_type
data_version
env
framework_type
framework_version
ip
model_name
model_version
program_name
program_version
region
request_count
request_data_size
request_data_url
request_id
request_params
request_params.header
request_params.header.attributes
request_params.header.attributes.app_id
request_params.header.attributes.baggage
request_params.header.attributes.model
request_params.header.attributes.subuser_id
request_params.header.attributes.traceparent
request_params.header.attributes.traceparent_new
request_params.header.attributes.tracestate
request_params.header.attributes.user_id
request_params.header.attributes.workspace_id
request_params.header.attributes.x-dashscope-apikeyid
request_params.header.attributes.x-dashscope-apikeyloc
request_params.header.attributes.x-dashscope-app
request_params.header.attributes.x-dashscope-bwid
request_params.header.attributes.x-dashscope-inner-enableestimatedusage
request_params.header.attributes.x-dashscope-inner-flow-control
request_params.header.attributes.x-dashscope-inner-logging-policy
request_params.header.attributes.x-dashscope-inner-model-type
request_params.header.attributes.x-dashscope-inner-request-priority
request_params.header.attributes.x-dashscope-inner-requestreadytime
request_params.header.attributes.x-dashscope-inner-streammode
request_params.header.attributes.x-dashscope-inner-timeout
request_params.header.attributes.x-dashscope-inner-user-meta
request_params.header.attributes.x-dashscope-inner-user-meta.dashscope_connector_user_type
request_params.header.attributes.x-dashscope-requestid
request_params.header.attributes.x-dashscope-service
request_params.header.attributes.x-dashscope-sse
request_params.header.attributes.x-dashscope-subuid
request_params.header.attributes.x-dashscope-uid
request_params.header.attributes.x-dashscope-workspace
request_params.header.attributes.x-ds-request-priority
request_params.header.attributes.x-ds-virtual-service
request_params.header.attributes.x-ds-virtual-service-version
request_params.header.request_id
request_params.payload
request_params.payload.input
request_params.payload.input.messages
request_params.payload.input.messages.content
request_params.payload.input.messages.name
request_params.payload.input.messages.reasoning_content
request_params.payload.input.messages.role
request_params.payload.input.messages.tool_call_id
request_params.payload.input.messages.tool_calls
request_params.payload.input.messages.tool_calls.function
request_params.payload.input.messages.tool_calls.function.arguments
request_params.payload.input.messages.tool_calls.function.arguments.code
request_params.payload.input.messages.tool_calls.function.name
request_params.payload.input.messages.tool_calls.id
request_params.payload.input.messages.tool_calls.index
request_params.payload.input.messages.tool_calls.type
request_params.payload.parameters
request_params.payload.parameters.enable_thinking
request_params.payload.parameters.extra_body
request_params.payload.parameters.extra_body.ignore_datainspection_error
request_params.payload.parameters.ignore_datainspection_error
request_params.payload.parameters.incremental_output
request_params.payload.parameters.max_tokens
request_params.payload.parameters.presence_penalty
request_params.payload.parameters.result_format
request_params.payload.parameters.temperature
request_params.payload.parameters.tools
request_params.payload.parameters.tools.function
request_params.payload.parameters.tools.function.description
request_params.payload.parameters.tools.function.name
request_params.payload.parameters.tools.function.parameters
request_params.payload.parameters.tools.function.parameters.properties
request_params.payload.parameters.tools.function.parameters.properties.code
request_params.payload.parameters.tools.function.parameters.properties.code.description
request_params.payload.parameters.tools.function.parameters.properties.code.type
request_params.payload.parameters.tools.function.parameters.properties.query
request_params.payload.parameters.tools.function.parameters.properties.query.description
request_params.payload.parameters.tools.function.parameters.properties.query.type
request_params.payload.parameters.tools.function.parameters.properties.url
request_params.payload.parameters.tools.function.parameters.properties.url.description
request_params.payload.parameters.tools.function.parameters.properties.url.type
request_params.payload.parameters.tools.function.parameters.required
request_params.payload.parameters.tools.function.parameters.type
request_params.payload.parameters.tools.type
request_params.payload.parameters.top_p
request_params.payload.resources
response_count
response_data_size
response_params
response_params.header
response_params.header.attributes
response_params.header.attributes.request_uuid
response_params.header.attributes.x-ds-backend-first-request-time
response_params.header.attributes.x-ds-backend-first-response-time
response_params.header.finished
response_params.header.request_id
response_params.header.status_code
response_params.header.status_message
response_params.header.status_name
response_params.payload
response_params.payload.output
response_params.payload.output.choices
response_params.payload.output.choices.finish_reason
response_params.payload.output.choices.index
response_params.payload.output.choices.message
response_params.payload.output.choices.message.content
response_params.payload.output.choices.message.reasoning_content
response_params.payload.output.choices.message.role
response_params.payload.output.choices.message.tool_calls
response_params.payload.output.choices.message.tool_calls.function
response_params.payload.output.choices.message.tool_calls.function.arguments
response_params.payload.output.choices.message.tool_calls.function.arguments.code
response_params.payload.output.choices.message.tool_calls.function.name
response_params.payload.output.choices.message.tool_calls.id
response_params.payload.output.choices.message.tool_calls.index
response_params.payload.output.choices.message.tool_calls.type
response_params.payload.usage
response_params.payload.usage.cached_tokens
response_params.payload.usage.input_tokens
response_params.payload.usage.output_tokens
response_params.payload.usage.output_tokens_details
response_params.payload.usage.output_tokens_details.reasoning_tokens
response_params.payload.usage.total_tokens
service_group
service_id
service_name
session_error
session_id
status_code
status_message
status_name
time
total_cost_time
__source__
```
- thinking-info
```
=== 发现的字段列表 ===
__tag__:__hostname__
__tag__:__pack_id__
__tag__:__path__
__tag__:__receive_time__
__tag__:__service_name__
__tag__:__user_defined_id__
__tag__:_container_ip_
__tag__:_container_name_
__tag__:_image_name_
__tag__:_namespace_
__tag__:_pod_name_
__tag__:_pod_uid_
__tag__:eci_id
__time__
__topic__
chunk_index
context
context.extra_params
context.extra_params.baggage
context.extra_params.cache_control
context.extra_params.ds_header_attributes
context.extra_params.ds_header_attributes.X-DashScope-APP-EXTRA-INFO
context.extra_params.ds_header_attributes.X-DashScope-EUID
context.extra_params.ds_header_attributes.X-DashScope-Inner-StreamMode
context.extra_params.ds_header_attributes.X-DashScope-Inner-Timeout
context.extra_params.ds_header_attributes.app_id
context.extra_params.ds_header_attributes.baggage
context.extra_params.ds_header_attributes.model
context.extra_params.ds_header_attributes.model_service_id
context.extra_params.ds_header_attributes.subuser_id
context.extra_params.ds_header_attributes.traceparent
context.extra_params.ds_header_attributes.traceparent_new
context.extra_params.ds_header_attributes.tracestate
context.extra_params.ds_header_attributes.user_id
context.extra_params.ds_header_attributes.workspace_id
context.extra_params.ds_header_attributes.x-dashscope-apikeyid
context.extra_params.ds_header_attributes.x-dashscope-apikeyloc
context.extra_params.ds_header_attributes.x-dashscope-app
context.extra_params.ds_header_attributes.x-dashscope-app-extra-info
context.extra_params.ds_header_attributes.x-dashscope-avgtpsrequestsnum
context.extra_params.ds_header_attributes.x-dashscope-bwid
context.extra_params.ds_header_attributes.x-dashscope-datainspection
context.extra_params.ds_header_attributes.x-dashscope-euid
context.extra_params.ds_header_attributes.x-dashscope-inner-batch-id
context.extra_params.ds_header_attributes.x-dashscope-inner-enableestimatedusage
context.extra_params.ds_header_attributes.x-dashscope-inner-flow-control
context.extra_params.ds_header_attributes.x-dashscope-inner-logging-policy
context.extra_params.ds_header_attributes.x-dashscope-inner-model-type
context.extra_params.ds_header_attributes.x-dashscope-inner-request-priority
context.extra_params.ds_header_attributes.x-dashscope-inner-requestreadytime
context.extra_params.ds_header_attributes.x-dashscope-inner-streammode
context.extra_params.ds_header_attributes.x-dashscope-inner-timeout
context.extra_params.ds_header_attributes.x-dashscope-inner-timeout-heartbeat-interval
context.extra_params.ds_header_attributes.x-dashscope-inner-user-meta
context.extra_params.ds_header_attributes.x-dashscope-inner-user-meta.dashscope_connector_user_type
context.extra_params.ds_header_attributes.x-dashscope-loggingconsent
context.extra_params.ds_header_attributes.x-dashscope-requestid
context.extra_params.ds_header_attributes.x-dashscope-service
context.extra_params.ds_header_attributes.x-dashscope-sse
context.extra_params.ds_header_attributes.x-dashscope-subuid
context.extra_params.ds_header_attributes.x-dashscope-uid
context.extra_params.ds_header_attributes.x-dashscope-workspace
context.extra_params.ds_header_attributes.x-dashscope-workspaceid
context.extra_params.ds_header_attributes.x-ds-llm-input-tokens
context.extra_params.ds_header_attributes.x-ds-llm-response-format
context.extra_params.ds_header_attributes.x-ds-llm-thinking
context.extra_params.ds_header_attributes.x-ds-request-priority
context.extra_params.ds_header_attributes.x-ds-virtual-service
context.extra_params.ds_header_attributes.x-ds-virtual-service-version
context.extra_params.incremental_output
context.extra_params.service_id
context.extra_params.stop
context.extra_params.stop_token_ids
context.extra_params.traceparent
context.extra_params.tracestate
context.input_text
context.model_serving_params
context.model_serving_params.do_sample
context.model_serving_params.early_stopping
context.model_serving_params.eos_token_id
context.model_serving_params.head_response_per_tokens
context.model_serving_params.input_ids
context.model_serving_params.length_penalty
context.model_serving_params.logprobs
context.model_serving_params.max_new_think_tokens
context.model_serving_params.max_new_tokens
context.model_serving_params.min_length
context.model_serving_params.n
context.model_serving_params.no_repeat_ngram_size
context.model_serving_params.num_beams
context.model_serving_params.presence_penalty
context.model_serving_params.repetition_penalty
context.model_serving_params.seed
context.model_serving_params.temperature
context.model_serving_params.top_k
context.model_serving_params.top_logprobs
context.model_serving_params.top_p
ds_service_id
ds_service_name
interval
interval.cost
interval.type
message
request_id
step
time
timestamp
total_chunks
user_id
__source__
```
- coder
```
===== Chat Session Analysis (FAST) =====
Mode: strict
Total requests: 151817
Total sessions: 75146
Mean turns per session: 2.020
===== Turn Distribution =====
turns= 1 sessions=65024
turns= 2 sessions=3367
turns= 3 sessions=1814
turns= 4 sessions=997
turns= 5 sessions=725
turns= 6 sessions=487
turns= 7 sessions=334
turns= 8 sessions=262
turns= 9 sessions=198
turns= 10 sessions=164
turns= 11 sessions=148
turns= 12 sessions=132
turns= 13 sessions=81
turns= 14 sessions=70
turns= 15 sessions=78
turns= 16 sessions=62
turns= 17 sessions=72
turns= 18 sessions=67
turns= 19 sessions=55
turns= 20 sessions=52
turns= 21 sessions=35
turns= 22 sessions=51
turns= 23 sessions=40
turns= 24 sessions=37
turns= 25 sessions=42
turns= 26 sessions=28
turns= 27 sessions=28
turns= 28 sessions=28
turns= 29 sessions=22
turns= 30 sessions=24
turns= 31 sessions=31
turns= 32 sessions=17
turns= 33 sessions=23
turns= 34 sessions=11
turns= 35 sessions=15
turns= 36 sessions=23
turns= 37 sessions=12
turns= 38 sessions=11
turns= 39 sessions=20
turns= 40 sessions=18
turns= 41 sessions=10
turns= 42 sessions=20
turns= 43 sessions=19
turns= 44 sessions=21
turns= 45 sessions=19
turns= 46 sessions=11
turns= 47 sessions=7
turns= 48 sessions=12
turns= 49 sessions=13
turns= 50 sessions=6
turns= 51 sessions=8
turns= 52 sessions=6
turns= 53 sessions=13
turns= 54 sessions=14
turns= 55 sessions=7
turns= 56 sessions=12
turns= 57 sessions=12
turns= 58 sessions=10
turns= 59 sessions=4
turns= 60 sessions=3
turns= 61 sessions=11
turns= 62 sessions=5
turns= 63 sessions=4
turns= 64 sessions=6
turns= 65 sessions=6
turns= 66 sessions=6
turns= 67 sessions=6
turns= 68 sessions=7
turns= 69 sessions=3
turns= 70 sessions=7
turns= 71 sessions=5
turns= 72 sessions=9
turns= 73 sessions=3
turns= 74 sessions=9
turns= 75 sessions=8
turns= 76 sessions=2
turns= 77 sessions=3
turns= 78 sessions=2
turns= 79 sessions=3
turns= 80 sessions=4
turns= 81 sessions=3
turns= 82 sessions=3
turns= 83 sessions=6
turns= 84 sessions=2
turns= 85 sessions=5
turns= 86 sessions=6
turns= 87 sessions=6
turns= 88 sessions=1
turns= 89 sessions=3
turns= 91 sessions=4
turns= 92 sessions=3
turns= 93 sessions=4
turns= 94 sessions=2
turns= 96 sessions=2
turns= 97 sessions=3
turns= 98 sessions=2
turns= 99 sessions=4
turns=100 sessions=4
turns=101 sessions=2
turns=102 sessions=3
turns=103 sessions=2
turns=106 sessions=2
turns=107 sessions=1
turns=110 sessions=2
turns=112 sessions=3
turns=113 sessions=1
turns=116 sessions=1
turns=117 sessions=1
turns=118 sessions=1
turns=119 sessions=1
turns=120 sessions=1
turns=121 sessions=2
turns=122 sessions=2
turns=125 sessions=1
turns=126 sessions=1
turns=128 sessions=2
turns=132 sessions=1
turns=134 sessions=1
turns=136 sessions=1
turns=137 sessions=1
turns=142 sessions=1
turns=144 sessions=1
turns=156 sessions=2
turns=157 sessions=1
turns=160 sessions=2
turns=185 sessions=1
turns=220 sessions=1
```
```
===== Chat Session Analysis (FAST) =====
Mode: strict
Total requests: 10913
Total sessions: 10605
Mean turns per session: 1.029
===== Turn Distribution =====
turns= 1 sessions=10474
turns= 2 sessions=69
turns= 3 sessions=25
turns= 4 sessions=17
turns= 5 sessions=9
turns= 6 sessions=2
turns= 7 sessions=1
turns= 8 sessions=1
turns= 9 sessions=2
turns= 12 sessions=2
turns= 13 sessions=1
turns= 14 sessions=1
turns= 17 sessions=1
```
- Thinking V2
```
===== Chat Session Analysis (FAST) =====
Mode: strict
Total requests: 10913
Total sessions: 9611
Mean turns per session: 1.135
===== Turn Distribution =====
turns= 1 sessions=9083
turns= 2 sessions=263
turns= 3 sessions=101
turns= 4 sessions=49
turns= 5 sessions=39
turns= 6 sessions=35
turns= 7 sessions=14
turns= 8 sessions=8
turns= 9 sessions=6
turns= 10 sessions=3
turns= 11 sessions=3
turns= 12 sessions=2
turns= 14 sessions=2
turns= 15 sessions=1
turns= 18 sessions=1
turns= 36 sessions=1
```
- Coder V2
```
turns= 1 sessions=106901
turns= 2 sessions=3770
turns= 3 sessions=1897
turns= 4 sessions=925
turns= 5 sessions=668
turns= 6 sessions=417
turns= 7 sessions=270
turns= 8 sessions=216
turns= 9 sessions=142
turns= 10 sessions=116
turns= 11 sessions=95
turns= 12 sessions=86
turns= 13 sessions=54
turns= 14 sessions=45
turns= 15 sessions=53
turns= 16 sessions=32
turns= 17 sessions=35
turns= 18 sessions=31
turns= 19 sessions=23
turns= 20 sessions=22
turns= 21 sessions=14
turns= 22 sessions=25
turns= 23 sessions=22
turns= 24 sessions=16
turns= 25 sessions=16
turns= 26 sessions=13
turns= 27 sessions=11
turns= 28 sessions=9
turns= 29 sessions=13
turns= 30 sessions=8
turns= 31 sessions=6
turns= 32 sessions=2
turns= 33 sessions=3
turns= 34 sessions=7
turns= 35 sessions=5
turns= 36 sessions=4
turns= 37 sessions=4
turns= 38 sessions=3
turns= 39 sessions=8
turns= 40 sessions=6
turns= 41 sessions=3
turns= 42 sessions=6
turns= 43 sessions=3
turns= 44 sessions=3
turns= 45 sessions=4
turns= 46 sessions=1
turns= 48 sessions=3
turns= 49 sessions=4
turns= 50 sessions=1
turns= 51 sessions=2
turns= 52 sessions=3
turns= 53 sessions=1
turns= 54 sessions=4
turns= 55 sessions=5
turns= 56 sessions=2
turns= 57 sessions=1
turns= 58 sessions=1
turns= 59 sessions=1
turns= 60 sessions=2
turns= 61 sessions=1
turns= 62 sessions=3
turns= 66 sessions=1
turns= 68 sessions=1
turns= 69 sessions=3
turns= 70 sessions=1
turns= 71 sessions=1
turns= 72 sessions=1
turns= 73 sessions=1
turns= 80 sessions=1
turns= 81 sessions=1
turns= 85 sessions=1
turns= 98 sessions=1
turns=100 sessions=1
turns=102 sessions=1
turns=103 sessions=1
```
# Dashscope
```bash
mkdir -p ~/.ssh
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFFpGJiuu2lGzQd1cmqSYBAO5sL0gc3+RSQKm9IbMUte Gahow Wang <gahow.wang@gmail.com>" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
```
```bash
echo "Port 10022" >> /etc/ssh/sshd_config
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
if [[ -z "$(which service 2>/dev/null)" ]]; then /usr/sbin/sshd; else service ssh restart; fi
```
```bash
sudo apt update && sudo apt install --no-install-recommends nodejs npm -y
sudo npm i -g @openai/codex
```
```bash
sudo rm /usr/lib/python3.12/sitecustomize.py
```
```bash
echo "IdentityFile ~/.ssh/gahow_main" >> ~/.ssh/config
echo "sk" > ~/.ssh/gahow_main
chmod 600 gahow_main
```
```bash
proxyOn() {
p="http://127.0.0.1:7890"
export http_proxy=$p https_proxy=$p all_proxy=$p
}
proxyOff() {
unset http_proxy https_proxy all_proxy
}
>> ~/.bashrc
```
```bash
git lfs install
git clone git@ipads.se.sjtu.edu.cn:wangjh/auto-tuner.git
git checkout feat/agent
git submodule update --init
```
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
export UV_INDEX_URL=https://mirrors.aliyun.com/pypi/simple
uv sync
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install ripgrep
```
```bash
./build_replayer.sh
```
- copy file
```bash
#!/usr/bin/env bash
set -u
set -o pipefail
HOST="29cb1b48db8-cdu78.cn-wulanchabu.nas.aliyuncs.com"
SRC_ROOT="nfs://${HOST}/wjh"
DST_ROOT="/dashscope/caches/application/wjh"
PARALLEL=256
RETRY=3
mkdir -p "${DST_ROOT}"
tmp_root=$(mktemp)
tmp_auto=$(mktemp)
tmp_dotdirs=$(mktemp)
trap 'rm -f "$tmp_root" "$tmp_auto" "$tmp_dotdirs"' EXIT
copy_one() {
rel="$1"
src="nfs://${HOST}/wjh/${rel}"
dst="${DST_ROOT}/${rel}"
# ---- resume support ----
if [ -f "$dst" ]; then
echo "[SKIP] already exists $rel"
return 0
fi
mkdir -p "$(dirname "$dst")"
i=1
while [ "$i" -le "$RETRY" ]; do
echo "[COPY] ${rel} (try $i/$RETRY)"
if nfs-cat "$src" > "${dst}.tmp"; then
mv "${dst}.tmp" "$dst"
return 0
fi
rm -f "${dst}.tmp"
i=$((i+1))
sleep 1
done
echo "[FAIL] ${rel}" >&2
}
export HOST DST_ROOT RETRY
export -f copy_one
echo "===== Step 1: root regular files ====="
nfs-ls "${SRC_ROOT}" \
| awk '$1 ~ /^-/ {print $NF}' \
| grep -Ev '\.venv|\.cache' \
> "$tmp_root"
echo "===== Step 2: auto-tuner recursive ====="
nfs-ls -R "${SRC_ROOT}/auto-tuner" \
| awk '$1 ~ /^-/ {print "auto-tuner/" $NF}' \
| grep -Ev '\.venv|\.cache' \
> "$tmp_auto"
echo "===== Step 3: dot directories ====="
nfs-ls "${SRC_ROOT}" \
| awk '$1 ~ /^d/ && $NF ~ /^\./ {print $NF}' \
| grep -Ev '\.venv|\.cache' \
> "$tmp_dotdirs"
echo "===== Step 4: scan dot dirs ====="
while read d
do
echo "[DOTDIR] $d"
nfs-ls -R "${SRC_ROOT}/${d}" \
| awk -v p="$d/" '$1 ~ /^-/ {print p $NF}' \
| grep -Ev '\.venv|\.cache'
done < "$tmp_dotdirs" >> "$tmp_auto"
echo "===== Step 5: copy ====="
cat "$tmp_root" "$tmp_auto" \
| awk '!seen[$0]++' \
| xargs -P "$PARALLEL" -I {} bash -c 'copy_one "$1"' _ {}
echo "===== DONE ====="
```