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

49 lines
4.0 KiB
Plaintext
Raw Normal View History

o
<00><><EFBFBD>i<EFBFBD><00>@sZdZddlmZmZddlmZddlmZddlZddlm Z m
Z
m Z Gdd<08>d<08>Z dS) u
会话管理服务
<EFBFBD>)<02>List<73>Optional)<01>datetime)<01>SessionN)<03>User<65> Conversation<6F>Messagec @s<>eZdZdefdd<03>Zd$dededed ed
ef
d d <0C>Zd%ded ed
e fdd<0F>Z
ded
e e fdd<12>Z ded
e e fdd<14>Zd&dededededed
ef dd<1A>Zd'deded
e efdd<1E>Zd(deded
e efd d!<21>Zdefd"d#<23>ZdS))<29>ConversationService<63>dbcCs
||_dS<00>N)r
)<02>selfr
<00>r <00>S/home/xian/.openclaw/workspace-coder/works/ai-chat/services/conversation_service.py<70>__init__ s
zConversationService.__init__N<5F>web<65>user_id<69> display_name<6D> user_type<70>matrix_user_id<69>returncCsr|j<00>t<02><01>tj|k<02><01><05>}|s-t||p|||d<01>}|j<00>|<05>|j<00><07>|j<00>|<05>|St <09>
<EFBFBD>|_ |j<00><07>|S)u获取或创建用户)rrrr) r
<00>queryr<00>filterr<00>first<73>add<64>commit<69>refreshr<00>utcnow<6F>last_active_at)r rrrr<00>userr r r<00>get_or_create_users<06> 
 
<EFBFBD>
z&ConversationService.get_or_create_user<65>titlecCsLdt<00><01>jdd<03><00><00>}t|||d<04>}|j<04>|<04>|j<04><06>|j<04>|<04>|S)u创建新会话<E4BC9A>conv_N<5F> )<03>conversation_idrr )<08>uuid<69>uuid4<64>hexrr
rrr)r rr r#<00> conversationr r r<00>create_conversation"s<06> 
 z'ConversationService.create_conversationr#cCs|j<00>t<02><01>tj|k<02><01><05>S)u 获取会话)r
rrrr#r)r r#r r r<00>get_conversation/s
<02><02>z$ConversationService.get_conversationcCs0|j<00>t<02><01>tj|ktjdk<02><02>tj<07><08><00><01> <09>S)u获取用户的所有会话T)
r
rrrr<00> is_active<76>order_by<62>
updated_at<EFBFBD>desc<73>all)r rr r r<00>get_user_conversations5s <02><02>z*ConversationService.get_user_conversations<6E>role<6C>content<6E>source<63>
extra_datacCs<>t|||||d<01>}|j<01>|<06>|j<01>t<04><01>tj|k<02><01><07>}|r<t<08> <09>|_
|j s<|dkr<|dd<04>t |<03>dkr8dnd|_ |j<01> <0A>|j<01>|<06>|S)u 添加消息)r#r0r1r2r3rN<>2z...<2E>)rr
rrrr<00>idrrrr,r <00>lenrr)r r#r0r1r2r3<00>messager'r r r<00> add_message<s <06> 
"
 zConversationService.add_messager4<00>limitcCs.|j<00>t<02><01>tj|k<02><01>tj<06><07><00><01>|<02><01> <09>S)u获取会话消息)
r
rrrr#r+<00>
created_at<EFBFBD>ascr:r.)r r#r:r r r<00> get_messagesSs
<02><02>z ConversationService.get_messages<65>cCsX|<00>|<01>}|s gS|j<01>t<03><01>tj|jk<02><01>tj<08> <09><00><01>
|<02><01> <0B>}|<04> <0C>dd<02>|D<00>S)u)获取会话历史用于AI上下文cSsg|] }|j|jd<00><02>qS)<01>r0r1r?)<02>.0<EFBFBD>mr r r<00>
<listcomp>fsz@ConversationService.get_conversation_history.<locals>.<listcomp>) r)r
rrrr#r6r+r;r-r:r.<00>reverse)r r#r:r'<00>messagesr r r<00>get_conversation_historyYs
 
<02><02>z,ConversationService.get_conversation_historycCs&|<00>|<01>}|rd|_|j<02><03>dSdS)u删除会话软删除FT)r)r*r
r)r r#r'r r r<00>delete_conversationhs

z'ConversationService.delete_conversation)NrNr )rN)r4)r>)<15>__name__<5F>
__module__<EFBFBD> __qualname__rr<00>strrr<00>intrr(rr)rr/<00>dictrr9r=rErFr r r rr s  $r ) <0A>__doc__<5F>typingrrr<00>sqlalchemy.ormrr$<00>modelsrrrr r r r r<00><module>s