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

52 lines
2.9 KiB
Plaintext
Raw Normal View History

o
G<><47>i<EFBFBD> <00>@s^dZddlZddlmZmZmZddlZddlZe<07>e <09>Z
dZ dZ dZ Gdd<08>d<08>Ze<0E>ZdS) u
AI服务 - 调用大模型API
<EFBFBD>N)<03>List<73>Dict<63>Optionalzhttp://192.168.2.17:19007/v1<76>xxxx<78>autoc@sheZdZddededefdd<06>Zdededefdd<08>Zdd
eed ed efd d<0E>Z d
eefdd<10>Z
dS)<13> AIServiceN<65>api_base<73>api_key<65>modelcCs"|pt|_|pt|_|p t|_dS)N)<06>DEFAULT_API_BASEr<00>DEFAULT_API_KEYr <00> DEFAULT_MODELr
<00><04>selfrr r
<00>r<00>I/home/xian/.openclaw/workspace-coder/works/ai-chat/services/ai_service.py<70>__init__s

zAIService.__init__cCs>||_||_||_t<03>d|<01>d|<03><00><04>||_||_||_dS)u 更新配置uAI配置已更新: z, model=N)rr r
<00>logger<65>inforrrr<00> update_configs
zAIService.update_configF<67>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)rr r
<00>httpx<70> AsyncClient<6E>post<73>raise_for_statusr() rrr<00>urlr'<00>payload<61>client<6E>response<73>datarrr<00>chat!s"<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模型
rrrrTrrr r#r$N<>POSTr&zdata: <20>z[DONE]r)r<00>deltar+) rr r
r,r-r<00> aiter_lines<65>
startswithr(<00>loads<64>len<65>get<65>JSONDecodeError) rrr0r'r1r2r3<00>line<6E>data_strr4r8rrr<00> chat_stream?s@<02> 
<06><06>
 

<04><02><02><04>*<2A>.<2E>zAIService.chat_stream)NNN)F) <0B>__name__<5F>
__module__<EFBFBD> __qualname__<5F>strrrrr<00>boolr5rArrrrrs

r)<10>__doc__r,<00>typingrrrr(<00>logging<6E> getLoggerrBrr r r r<00>
ai_servicerrrr<00><module>s

Q