Files
voice-chat-web/__pycache__/server.cpython-310.pyc

54 lines
5.4 KiB
Plaintext
Raw Normal View History

o
2026-04-21 18:51:08 +08:00
<00>V<EFBFBD>i<EFBFBD><00>@s<>dZddlZddlZddlmZddlmZddlZddlmZm Z m
Z
m Z m Z ddl mZddlmZe<01>dd <09>Zee<01>d
d <0B><02>Zejejd <0C>e<02>e<18>Zed ddd<10>Zejedgddgdgd<13>Gdd<15>de<10>ZGdd<17>de<10>Ze<1A>d<18>dd<1A><00>Zejded<1C>dd<1E><00>Z ej!ded<1C>e
2026-04-21 18:51:08 +08:00
d d!d"<22>e dd#d"<22>fd$e d%ee"fd&d'<27><05>Z#ej!d(ed<1C>e d d)d"<22>e dd#d"<22>fd*e"d%ee"fd+d,<2C><05>Z$e<1A>%d-<2D>d%e"fd.d/<2F><04>Z&ed0kr<>ddl'Z'e'j(ed1ed2<64>dSdS)3uC
语音交互网页后端
代理转发到 Qwen2-Audio 模型服务
<EFBFBD>N)<01>Optional)<01>datetime)<05>FastAPI<50>
UploadFile<EFBFBD>File<6C> HTTPException<6F>Form)<01>CORSMiddleware)<01> BaseModel<65>MODEL_SERVICE_URLzhttp://localhost:19018<31>PORT<52>19019)<01>levelzVoice Chat Webu语音交互网页后端z1.0.0)<03>title<6C> description<6F>version<6F>*T)<04> allow_origins<6E>allow_credentials<6C> allow_methods<64> allow_headersc@s*eZdZUdZeed<eed<eed<dS)<06> VoiceResponseu 语音响应<E5938D>reply<6C>conversation_id<69> timestampN)<06>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__<5F>str<74>__annotations__<5F>r!r!<00>C/home/xian/.openclaw/workspace-coder/works/voice-chat-web/server.pyr(<00>
 rc@s*eZdZUdZeed<eed<eed<dS)<06>StatusResponseu 状态响应<E5938D>status<75> model_service<63> model_onlineN)rrrrrr <00>boolr!r!r!r"r$/r#r$<00>/c<00>s <00>ddd<03>S)u根路径返回状态<E78AB6>okzvoice-chat-web)r%<00>servicer!r!r!r!r"<00>root6s<02>
r,z/status)<01>response_modelc
<00>s&<00>zpt<00><01>4IdH<00>[}|jt<03>d<02>tjdd<04>d<05>4IdH<00>3}|jdkrF|<01><06>IdH}tdtdd <09>Wd<00>IdHWd<00>IdHWSWd<00>IdHn 1IdHsVwYWd<00>IdHn 1IdHskwYWnty<>}zt <09>
d
|<03><00><02>WYd}~nd}~wwtd td d <09>S) u检查服务状态Nr)<00><00><01>total<61><01>timeout<75><74>r*T)r%r&r'zModel service check failed: <20>partialF) <0B>aiohttp<74> ClientSession<6F>getr <00> ClientTimeoutr%<00>jsonr$<00> Exception<6F>logger<65>warning)<04>session<6F>resp<73>data<74>er!r!r"<00>
get_status<s4<02>&
<04><14><18>*<2A>(<28><04> <08><02><06>rAz /voice/chat.u 音频文件)ru对话ID<49>audiorc
<00>s<><00>z<>|<00><00>IdH}t<01><02>4IdH<00><>}t<01><03>}|jd||jpd|jp"dd<05>|r-|<04>d|<01>|jt<08>d<07>|tj dd <09>d
<EFBFBD>4IdH<00>K}|j
d kr\|<05> <0B>IdH}t <0C> d |<06><00><02>t|j
|d <0A><02>|<05><0F>IdH}t|d|d|<07>dt<12><13><00><14><00>d<10>Wd<00>IdHWd<00>IdHWS1IdHs<>wYWd<00>IdHWdS1IdHs<>wYWdStjy<>}zt <0C> d|<08><00><02>tddd <0A><02>d}~wty<>}zt j d|<08><00>dd<16>tdt|<08>d <0A><02>d}~ww)u6
语音聊天接口
转发到模型服务
2026-04-21 18:51:08 +08:00
NrBz audio.wavz audio/wav)<02>filename<6D> content_typerz/api/voice/inference<63>xr/<00>r?r2r3<00>Model service error: <20><02> status_code<64>detailrr<00>rrr<00>Connection error: <20><><00>模型服务连接失败zVoice chat error: T<><01>exc_info<66><6F>)<18>readr5r6<00>FormData<74> add_fieldrCrD<00>postr r8r%<00>textr;<00>errorrr9rr7r<00>now<6F> isoformat<61> ClientErrorr:r) rBr<00> audio_bytesr=<00>formr><00>
error_textr?r@r!r!r"<00>
voice_chatSsT<02> <06> 
<0E>
2026-04-21 18:51:08 +08:00
<04><14><18> 2<> <08><08><02>r^z /voice/textu 文本消息rVc
<00>s<><00>z<>t<00><01>4IdH<00><>}t<00><02>}|<03>d|<00>|r|<03>d|<01>|jt<05>d<04>|tjdd<06>d<07>4IdH<00>K}|jdkrL|<04><08>IdH}t <09>
d |<05><00><02>t |j|d
<EFBFBD><02>|<04> <0C>IdH}t |d |d|<06>d t<0F><10><00><11><00>d <0A>Wd<00>IdHWd<00>IdHWS1IdHs<>wYWd<00>IdHWdS1IdHs<>wYWdStjy<>}zt <09>
d|<07><00><02>t ddd
<EFBFBD><02>d}~wty<>}zt j
d|<07><00>dd<13>t dt|<07>d
<EFBFBD><02>d}~ww)u6
文字聊天接口
转发到模型服务
NrVrz/api/voice/textrEr/rFr3rGrHrrrKrLrMrNzText chat error: TrOrQ)r5r6rSrTrUr r8r%rVr;rWrr9rr7rrXrYrZr:r)rVrr=r\r>r]r?r@r!r!r"<00> text_chat<61>sH<02>   
<0E>
<04><14><18>2<> <08><08><02>r_z/conversation/{conversation_id}c
<00>s<><00>z_t<00><01>4IdH<00>I}|jt<03>d|<00><00>tjdd<04>d<05>4IdH<00>}|<02><05>IdHWd<00>IdHWd<00>IdHWS1IdHsBwYWd<00>IdHWdS1IdHsYwYWdSty|}zt<07>d|<03><00><02>t dt
|<03>d<08><02>d}~ww) u 删除对话Nz/api/voice/conversation/<2F>
2026-04-21 18:51:08 +08:00
r/r1zDelete conversation error: rQrH) r5r6<00>deleter r8r9r:r;rWrr)rr=r>r@r!r!r"<00>delete_conversation<6F>s$<02> 
<0E> <14><18>2<><08><02>rb<00>__main__z0.0.0.0)<02>host<73>port))r<00>os<6F>logging<6E>typingrrr5<00>fastapirrrrr<00>fastapi.middleware.corsr <00>pydanticr
<00>getenvr <00>intr <00> basicConfig<69>INFO<46> getLoggerrr;<00>app<70>add_middlewarerr$r7r,rArUrr^r_rarb<00>uvicorn<72>runr!r!r!r"<00><module>sj     
<06><06> 
 
 

2026-04-21 18:51:08 +08:00
<04><02> <0C> 1

<04><02> <0C>(<04>