Files
ai-chat-system/services/__pycache__/ai_service.cpython-310.pyc

47 lines
2.5 KiB
Plaintext
Raw Normal View History

o
h<><68>i<EFBFBD>
<00>@s@dZddlZddlmZmZmZddlZGdd<05>d<05>Ze<07>ZdS)u
AI服务 - 调用大模型API
<EFBFBD>N)<03>List<73>Dict<63>Optionalc@sReZdZddededefdd<08>Zdd
eed ed efd d<0E>Zd
eefdd<10>Z dS)<14> AIService<63>http://192.168.2.17:19007/v1<76>sk-local<61>
qwen3.5-4b<34>api_base<73>api_key<65>modelcCs||_||_||_dS)N)r r
r )<04>selfr r
r <00>r <00>I/home/xian/.openclaw/workspace-coder/works/ai-chat/services/ai_service.py<70>__init__
s
zAIService.__init__F<5F>messages<65>stream<61>returnc <00>s<><00>|j<00>d<01>}d|j<01><00>dd<04>}|j||ddd<07>}tjdd <09>4Id
H<00>(}|j|||d <0B>Id
H}|<07><06>|<07><07>}|d d ddWd
<00>Id
HS1Id
HsQwYd
S)u<>
调用AI模型进行对话
Args:
messages: 对话历史 [{"role": "user", "content": "..."}]
stream: 是否流式输出
Returns:
AI回复内容
<20>/chat/completions<6E>Bearer <20>application/json<6F><02> Authorizationz Content-Type<70>ffffff<66>?<3F><><00>r rr<00> temperature<72>
max_tokens<EFBFBD>N@<40><01>timeoutN<74><02>headers<72>json<6F>choicesr<00>message<67>content)r r
r <00>httpx<70> AsyncClient<6E>post<73>raise_for_statusr") r rr<00>urlr!<00>payload<61>client<6E>response<73>datar r r<00>chats"<02>
<06><06>0<>zAIService.chatc CsZ<00>|j<00>d<01>}d|j<01><00>dd<04>}|j|dddd<08>}tjd d
<EFBFBD>4Id H<00>}}|jd |||d <0A>4Id H<00>Y}|<06><06>2zH3d HW}|<07>d<0E>r~|dd <0B>}|dkrMn3z&t<08> |<08>} d| vrrt
| d<00>dkrr| dd<00> di<00>}
d|
vrr|
dVWq6tj y}Yq6wq66Wd <00>Id Hn 1Id Hs<>wYWd <00>Id Hd S1Id Hs<>wYd S)u&
流式调用AI模型
rrrrTrrrrrN<>POSTr zdata: <20>z[DONE]r#r<00>deltar%) r r
r r&r'r<00> aiter_lines<65>
startswithr"<00>loads<64>len<65>get<65>JSONDecodeError) r rr*r!r+r,r-<00>line<6E>data_strr.r2r r r<00> chat_stream-s@<02> 
<06><06>
 

<04><02><02><04>*<2A>.<2E>zAIService.chat_streamN)rrr)F)
<EFBFBD>__name__<5F>
__module__<EFBFBD> __qualname__<5F>strrrr<00>boolr/r;r r r rr sr) <09>__doc__r&<00>typingrrrr"r<00>
ai_servicer r r r<00><module>s 
G