Skip to content

Feature/mimo vllm asr#732

Open
yuanyp8 wants to merge 2 commits into
Open-Less:betafrom
yuanyp8:feature/mimo-vllm-asr
Open

Feature/mimo vllm asr#732
yuanyp8 wants to merge 2 commits into
Open-Less:betafrom
yuanyp8:feature/mimo-vllm-asr

Conversation

@yuanyp8

@yuanyp8 yuanyp8 commented Jun 22, 2026

Copy link
Copy Markdown

User description

摘要

Fixes #。

说明这个 PR 解决的单一目标。标题必须使用 type(scope): 中文目标,例如 docs(infra): 补齐 Windows 构建说明

修复 / 新增 / 改进

兼容

  • 不包含:
  • 对现有用户 / 本地环境 / 构建流程的影响:

测试计划

  • 命令:
  • 结果:
  • 证据路径:

PR Type

Enhancement, Documentation


Description

  • Adapt MiMo ASR provider to vLLM-Omni API (audio_url, empty API key allowed)

  • Add URL normalization for bare IP/missing path

  • Add detailed logging for each chunk and request

  • Document setup guide for self-hosted deployment


Diagram Walkthrough

flowchart LR
  PCM["PCM Audio"] --> chunk["Split into chunks (30s max)"]
  chunk --> transcribe_chunk["transcribe_chunk()"]
  transcribe_chunk --> POST["POST /v1/chat/completions"]
  POST -- "audio_url (base64 WAV), text prompt" --> vLLM["vLLM-Omni server"]
  vLLM -- "JSON choice text" --> extract["extract_mimo_text()"]
  extract --> join["join_transcript_chunks()"]
  join --> RawTranscript["RawTranscript"]
  subgraph Config
    base_url["Endpoint (IP/host)"] --> URL["normalize to /v1/chat/completions"]
    api_key["API Key (optional)"] --> auth["Authorization header only if key non-empty"]
    model["Model name"] --> body["JSON body"]
  end
  body --> POST
  URL --> POST
  auth --> POST
Loading

File Walkthrough

Relevant files
Enhancement
mimo.rs
Adapt MiMo ASR to vLLM-Omni API                                                   

openless-all/app/src-tauri/src/asr/mimo.rs

  • Switch from input_audio to audio_url payload format for vLLM-Omni
    compatibility
  • Allow empty API key; only send Authorization header when key is set
  • Add URL normalization (auto-prepend http:// and /v1/chat/completions
    path)
  • Add detailed logging for each API call (chunk index, elapsed, status)
  • Update tests to reflect new request format and add test for empty API
    key
+151/-37
Documentation
mimo-vllm-asr.md
Add self-hosted ASR setup guide                                                   

docs/mimo-vllm-asr.md

  • Document self-hosted MiMo-V2.5-ASR setup instructions
  • Explain configuration fields (Endpoint, Model, API Key)
  • List key changes: URL normalization, API key optional, new request
    body
  • Include troubleshooting tips (HTTP error codes) and verification
    commands
+93/-0   

@github-actions

github-actions Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

PR Reviewer Guide 🔍

(Review updated until commit 27c51f3)

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 PR contains tests
🔒 No security concerns identified
⚡ No major issues detected
@github-actions

Copy link
Copy Markdown
Contributor

Persistent review updated to latest commit e4c539a

@github-actions

Copy link
Copy Markdown
Contributor

Persistent review updated to latest commit 27c51f3

@appergb appergb left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review note: this should not be merged as-is without a product decision and full platform CI. The implementation changes the existing MiMo provider from the official input_audio shape to vLLM-Omni audio_url, and also permits empty API keys. That is useful for self-hosted vLLM, but it may break users of the official Xiaomi MiMo endpoint. Safer options: add an explicit self-hosted mode/provider, or keep the official request shape and gate vLLM-specific behavior by config.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

2 participants