Fitness 健身
Weights a few evenings a week. Nothing fancy — just so sitting all day doesn’t get the last word.
Engineer · Open source · Suzhou
SCROLL / MOVE / CLICK
我是 Peter Zhu(朱磊),在苏州做工程师。白天在 ECARX(吉利控股)里把推理和检索做成能上线的系统:模型要跑得稳,搜索在关键词和向量对不上的时候也要靠得住。
Most days go into production inference and retrieval at ECARX — serving models efficiently, and keeping search honest when keyword and vector signals disagree. I would rather talk about what shipped and what broke.
开源是正经工作的一部分。我给上游修过东西,也自己养了几个能直接跑的仓库:
Off the keyboard I lift, walk the hills around Suzhou, and cook for people I like feeding. No performance — just a life next to the work.
About
I’m Peter Zhu (朱磊), in Suzhou. The longer note is on the home card — click the hero to flip it. This page keeps the facts, hobbies, and projects in one place.
Work happens at ECARX. Outside of that I keep a few focused repositories, and I would rather ship something you can run than a long list of slogans.
Hobbies
Weights a few evenings a week. Nothing fancy — just so sitting all day doesn’t get the last word.
When the week lets go, I walk. Hills around Suzhou, or a longer trail if I can steal a weekend.
I cook for the people I like feeding. Simple pots, slow evenings, more rice than recipes.
Selected work
Inference engine adapted for NVIDIA H200 / Hopper (SM90) — tuned for real throughput on Hopper hardware, not a generic CUDA checkbox build.
Portable OpenSearch hybrid search: BM25 plus kNN, fused with RRF or weighted scores. Thin adapters so it drops into existing pipelines.
Local-first search across a workspace — ripgrep-style text, BM25, and vector search behind one interface. Fork of zvec-ai/zvec-grep with ongoing work.
Selected upstream PRs
~50 merged upstream PRs outside my own repositories. See all on GitHub →
| Project | PR | What |
|---|---|---|
| dify | #41871 | Persist Chatflow Agent V2 memory by conversation_id |
| ag2 | #3441 | Reject cross-provider files in Chat Completions messages |
| FlashRAG | #254 | Resolve BART and T5 refiner models in get_refiner |
| ragflow | #19698 | Require explicit edges for DataOperations query refs |
| qwen-code | #11925 | Drop oversized ACP notifications instead of tearing down the channel |
| SAG | #209 | Support self-hosted MinerU 4.x via the V1 API |
| agentscope | #3345 | Keep frontmatter when the closing fence ends the text |
| promptfoo | #11366 | Insert nested var values literally when they contain $ patterns |
| MNN | #4834 | Fail fast on out-of-range TFLite tensor/buffer indices |
| qdrant-client | #1599 | Ignore extra fields on formula geo points in local mode |
| ms-swift | #10048 | Preserve 2D predictions in predict_with_generate DDP eval |
| qingjian | #348 | Skip unreadable swash fonts; fix blank CJK candidates on macOS 27 |