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

59 lines
4.9 KiB
Plaintext
Raw Normal View History

o
SÛiþã@sdZddlmZmZddlmZddlmZddlZzddlm Z m
Z
m Z m Z dZ
Wney?ddlm Z m
Z
m Z d Z
YnwGd
d d ƒZdS) uR
会è¯ç®¡ç†æœåŠ¡ - v2.0 兼容版
æ”¯æŒæ€è€ƒå†…容ã€Agent追踪等新字段
é)ÚListÚOptional)Údatetime)ÚSessionN)ÚUserÚ ConversationÚMessageÚAgentT)rrrFc@seZdZdefddZd*dededed ed
ef
d d Zd+ded
eded
e fddZ
ded
e e fddZ ded
e
e fddZ     d,dedededededededed
efddZd-ded ed
e
efd!d"„Zd.ded ed
e
efd$d%„Zdefd&d'„Zdedefd(d)„ZdS)/ÚConversationServiceÚdbcCs||_t|_dS)N)r ÚUSE_V2Úuse_v2)Úselfr ©rúS/home/xian/.openclaw/workspace-coder/works/ai-chat/services/conversation_service.pyÚ__init__s
zConversationService.__init__NÚwebÚuser_idÚ display_nameÚ user_typeÚmatrix_user_idÚreturncCsr|j t¡ tj|k¡ ¡}|s-t||p|||d}|j |¡|j ¡|j |¡|St  
¡|_ |j ¡|S)uèŽ·å–æˆ–创建用户)rrrr) r ÚqueryrÚfilterrÚfirstÚaddÚcommitÚrefreshrÚutcnowÚlast_active_at)rrrrrÚuserrrrÚget_or_create_usersü 
 
þ
z&ConversationService.get_or_create_userÚtitleÚ
channel_idcCsddt ¡jdd}|jrt||||d}nt|||d}|j |¡|j ¡|j |¡|S)u创建新会è¯Úconv_Né )Úconversation_idrr"r#)r&rr") ÚuuidÚuuid4Úhexr
rr rrr)rrr"r#r&Ú conversationrrrÚcreate_conversation*s"üý 
 z'ConversationService.create_conversationr&cCs|j t¡ tj|k¡ ¡S)u 获å–会è¯)r rrrr&r)rr&rrrÚget_conversationAs
ÿþz$ConversationService.get_conversationcCs0|j t¡ tj|ktjdk¡ tj ¡¡  ¡S)u获å–用户的所有会è¯T)
r rrrrÚ is_activeÚorder_byÚ
updated_atÚdescÚall)rrrrrÚget_user_conversationsGs þýz*ConversationService.get_user_conversationsÚroleÚcontentÚsourceÚ
extra_dataÚthinking_contentÚagent_idÚ
model_usedc
C|jrt||||||||d} n t|||||d} |j | ¡|j t¡ tj|k¡ ¡}
|
rTt  
¡|
_ |
j sL|dkrL|ddt
|ƒdkrHdnd|
_ |jrT|rT||
_|j ¡|j | ¡| S)u 添加消æ¯)r&r3r4r5r6r7r8r9)r&r3r4r5r6r Né2z...Ú)r
rr rrrrÚidrrrr/r"ÚlenÚcurrent_agent_idrr) rr&r3r4r5r6r7r8r9Úmessager*rrrÚ add_messageNs:
ø û 
"

 zConversationService.add_messager:ÚlimitcCs.|j t¡ tj|k¡ tj ¡¡ |¡  ¡S)u获å–ä¼šè¯æ¶ˆæ¯)
r rrrr&r.Ú
created_atÚascrAr1)rr&rArrrÚ get_messagess
ÿþz ConversationService.get_messagesécCsf| |¡}|s gS|j t¡ tj|jktj gd¢¡¡  tj
  ¡¡  |¡ 
¡}| ¡dd|DƒS)u)获å–会è¯åކå²ï¼ˆç”¨äºŽAI上下文))r Ú assistantÚsystemcSsg|] }|j|jdœqS)©r3r4rH)Ú.0ÚmrrrÚ
<listcomp>•sz@ConversationService.get_conversation_history.<locals>.<listcomp>)r,r rrrr&r<r3Úin_r.rBr0rAr1Úreverse)rr&rAr*ÚmessagesrrrÚget_conversation_history‡s