Files
true-recall/__pycache__/migrate_memories.cpython-312.pyc

75 lines
7.2 KiB
Plaintext
Raw Normal View History

<EFBFBD>
<00><><EFBFBD>i-<00><00><><00>dZddlZddlZddlZddlmZddlmZmZm Z dZ
dZ dZ de d e fd
<EFBFBD>Zd e d eefd <0C>Zd e d eed efd<0E>Zded efd<10>Zd<11>Zedk(re<13>yy)z<>
Migrate memories from kimi_memories to memories_tr
- Reads from kimi_memories (Qdrant)
- Cleans/strips noise (metadata, thinking tags)
- Stores to memories_tr (Qdrant)
- Keeps original kimi_memories intact
<EFBFBD>N)<01>datetime)<03>List<73>Dict<63>Anyzhttp://10.0.0.40:6333<33> kimi_memories<65> memories_tr<74>text<78>returnc<00><><00>|sy|}ddl}|jdd|<01>}|jdd|<01>}|jdd|<01>}|jdd|<01>}|j<00>}|S) zClean noise from content<6E>rNzHConversation info \(untrusted metadata\):\s*```json\s*\{[\s\S]*?\}\s*```z\[thinking:[^\]]*\]z0\[\w{3} \d{4}-\d{2}-\d{2} \d{2}:\d{2} [A-Z]{3}\]z\n{3,}z
)<03>re<72>sub<75>strip)r <00>cleanedr s <20>F/root/.openclaw/workspace/.projects/true-recall-v2/migrate_memories.py<70> clean_contentrsu<00><00> <0F><11><12>G<EFBFBD><0E><10>f<EFBFBD>f<EFBFBD>`<60>bd<62>fm<66>n<>G<EFBFBD><11>f<EFBFBD>f<EFBFBD>+<2B>R<EFBFBD><17>9<>G<EFBFBD><11>f<EFBFBD>f<EFBFBD>H<>"<22>g<EFBFBD>V<>G<EFBFBD><11>f<EFBFBD>f<EFBFBD>Y<EFBFBD><06><07>0<>G<EFBFBD><15>m<EFBFBD>m<EFBFBD>o<EFBFBD>G<EFBFBD> <12>N<EFBFBD><00>
collectionc<00><00>g}d}d}d}||k<00>r4|dz }dddd<07>}|r||d<tjjt<00>d |<00>d
<EFBFBD>t j
|<05>j <00>d d id <0A><0E>} tjj|d<0F><10>5}t j|j<00>j<00><00>}|jdi<00>jdg<00>} | s ddd<01>|S|j| <09>|jdi<00>jd<13>}|s ddd<01>|S ddd<01>||kr<02><01>4|S#1swY<00>xYw#tjj$r}
td|
<EFBFBD><00><02>Yd}
~
|Sd}
~
wwxYw)z Get all points from a collectionNi<4E>r<00><00>dT)<03>limit<69> with_payload<61> with_vector<6F>offset<65> /collections/z/points/scroll<6C> Content-Type<70>application/json<6F>POST<53><03>data<74>headers<72>method<6F><<00><01>timeout<75>result<6C>points<74>next_page_offsetzError: )<10>urllib<69>request<73>Request<73>
QDRANT_URL<EFBFBD>json<6F>dumps<70>encode<64>urlopen<65>loads<64>read<61>decode<64>get<65>extend<6E>error<6F> HTTPError<6F>print) r<00>
all_pointsr<00>max_iterations<6E>
iterations<EFBFBD> scroll_data<74>req<65>responser'r(<00>es r<00>get_all_pointsrA+s<><00><00><13>J<EFBFBD> <11>F<EFBFBD><19>N<EFBFBD><12>J<EFBFBD>
<14>~<7E>
%<25><12>a<EFBFBD><0F>
<EFBFBD><18> <20><1F>
<EFBFBD> <0B> <12>$*<2A>K<EFBFBD><08> !<21><14>n<EFBFBD>n<EFBFBD>$<24>$<24><19>l<EFBFBD>-<2D>
<EFBFBD>|<7C>><3E> B<><15><1A><1A>K<EFBFBD>(<28>/<2F>/<2F>1<>#<23>%7<>8<><19> %<25>
<EFBFBD><03> <12><17><1E><1E>'<27>'<27><03>R<EFBFBD>'<27>8<> <1A>H<EFBFBD><1D><1A><1A>H<EFBFBD>M<EFBFBD>M<EFBFBD>O<EFBFBD>$:<3A>$:<3A>$<<3C>=<3D><06><1F><1A><1A>H<EFBFBD>b<EFBFBD>1<>5<>5<>h<EFBFBD><02>C<><06><1D><19> <1A> <16><15><1B>!<21>!<21>&<26>)<29><1F><1A><1A>H<EFBFBD>b<EFBFBD>1<>5<>5<>6H<36>I<><06><1D><19> <1A> <16><15> <1E> <1A>' <15>~<7E>
%<25>F <16><15>! <1A> <1A><><16>|<7C>|<7C>%<25>%<25> <12> <11>G<EFBFBD>A<EFBFBD>3<EFBFBD>-<2D> <20> <11> <15><15><>  <12>sC<00>2!E<00>AE<03>*E<00>45E<03>)E<00>4E<00>E<07>
E<00>F<03>.F<03>Fr(c<00><00>|syd}d}tdt|<01>|<02>D]<5D>}||||z}d|i}tjj t
<00>d|<00>d<05>t j|<06>j<00>ddid<08> <09>} tjj|d
<EFBFBD> <0B>5}|jd k(r|t|<05>z }d d d <0A><00><>|S#1swY<00> xYw#tjj$r} td| <09><00><02>Yd } ~ <09><>d } ~ wwxYw)zStore points to collectionrrr(rz/pointsrr<00>PUTr r$r%<00><>NzError storing batch: )<0E>range<67>lenr*r+r,r-r.r/r0r1<00>statusr7r8r9)
rr(<00>
batch_size<EFBFBD>stored<65>i<>batch<63> points_datar>r?r@s
r<00> store_pointsrMWs<00><00> <11><10><15>J<EFBFBD> <0E>F<EFBFBD> <12>1<EFBFBD>c<EFBFBD>&<26>k<EFBFBD>:<3A> .<2E>/<2F><01><16>q<EFBFBD><11>:<3A><1C>&<26><05> <15>e<EFBFBD>
<EFBFBD> <0B><15>n<EFBFBD>n<EFBFBD>$<24>$<24><19>l<EFBFBD>-<2D>
<EFBFBD>|<7C>7<EFBFBD> ;<3B><15><1A><1A>K<EFBFBD>(<28>/<2F>/<2F>1<>#<23>%7<>8<><18> %<25>
<EFBFBD><03> /<2F><17><1E><1E>'<27>'<27><03>R<EFBFBD>'<27>8<> )<29>H<EFBFBD><1B>?<3F>?<3F>c<EFBFBD>)<29><1A>c<EFBFBD>%<25>j<EFBFBD>(<28>F<EFBFBD> )<29><>/<2F>* <12>M<EFBFBD>  )<29> )<29><><16>|<7C>|<7C>%<25>%<25> /<2F> <11>)<29>!<21><13>-<2D> .<2E> .<2E><> /<2F>s0<00>>!C<02>C <05>=C<02> C <09>C<02>D
<05>2D<05>D
<05>pointc<00>0<00>|jdi<00>}t|jdd<03><00>}t|jdd<03><00>}i|<01>||dtj<00>j <00>d<06><04>}|jd<07>|jd<08>|d <09>S)
zClean a single point<6E>payload<61> user_messager <00> ai_responser)rQrR<00> migrated_from<6F> migrated_at<61>id<69>vector)rUrVrP)r5rr<00>now<6F> isoformat)rNrP<00>user_msg<73>ai_msg<73>cleaned_payloads r<00> migrate_pointr\ws<><00><00><13>i<EFBFBD>i<EFBFBD> <09>2<EFBFBD>&<26>G<EFBFBD><1D>W<EFBFBD>[<5B>[<5B><1E><12><<3C>=<3D>H<EFBFBD> <1A>7<EFBFBD>;<3B>;<3B>}<7D>b<EFBFBD>9<> :<3A>F<EFBFBD><06>
<11><06> <20><1D>(<28><1F>|<7C>|<7C>~<7E>/<2F>/<2F>1<> <06>O<EFBFBD><14>i<EFBFBD>i<EFBFBD><04>o<EFBFBD><17>)<29>)<29>H<EFBFBD>%<25>"<22> <06>rc<00><><00>td<01>td<02>td<01>t<00>tdt<00>d<04><03>tt<00>}tdt|<00><00>d<06><03>|s td<07>ytdt|<00><00>d <09><03>|D<00>cgc] }t |<01><00><02>}}td
<EFBFBD>td t
<00>d<04><03>t t
|<02>}td |<03>d<06><03>td <0A>tt
<00>}tdt|<04><00>d<06><03>t<00>td<01>td<0F>tdt<00>dt|<00><00>d<06><05>tdt
<00>dt|<04><00>d<06><05>td|<03>d<06><03>td<01>|t|<00>k(r td<14>ytd|<03>dt|<00><00>d<06><05>ycc}w)Nz<============================================================u/Memory Migration: kimi_memories → memories_tru📥 Reading from z...z Found z pointsu❌ No points to migrateu
🧹 Cleaning z
points...u ✓ Cleanedu
💾 Storing to u ✓ Stored u
🔍 Verifying...z Target now has zMigration Summary:z
Source (z): z
Target (z Cleaned & migrated: u
✅ Migration complete!u
⚠️ Warning: Only migrated <20>/)r9<00>SOURCE_COLLECTIONrArFr\<00>TARGET_COLLECTIONrM)<05> source_points<74>p<>cleaned_pointsrI<00> target_pointss r<00>mainre<00>s<><00><00> <09>(<28>O<EFBFBD> <09>
;<3B><<3C> <09>(<28>O<EFBFBD> <09>G<EFBFBD>
<EFBFBD> <1E>0<>1<><13>
5<EFBFBD>6<>"<22>#4<>5<>M<EFBFBD> <09>I<EFBFBD>c<EFBFBD>-<2D>(<28>)<29><17>
1<EFBFBD>2<> <18> <0A>(<28>)<29><0E>
<EFBFBD> <1C>S<EFBFBD><1D>/<2F>0<>
<EFBFBD>
;<3B><<3C>0=<3D>><3E>1<EFBFBD>m<EFBFBD>A<EFBFBD>&<26>><3E>N<EFBFBD>><3E> <09>N<EFBFBD><1C>
<EFBFBD> <1E>0<>1<><13>
5<EFBFBD>6<> <19>+<2B>^<5E> <<3C>F<EFBFBD> <09>N<EFBFBD>6<EFBFBD>(<28>'<27>
*<2A>+<2B>
<EFBFBD> <1F>!<21>"<22>#4<>5<>M<EFBFBD> <09> <1E>s<EFBFBD>=<3D>1<>2<>'<27>
:<3A>;<3B>
<EFBFBD>G<EFBFBD> <09>(<28>O<EFBFBD> <09>
<1E><1F> <09>J<EFBFBD>(<28>)<29><13>S<EFBFBD><1D>-?<3F>,@<40><07>
H<EFBFBD>I<> <09>J<EFBFBD>(<28>)<29><13>S<EFBFBD><1D>-?<3F>,@<40><07>
H<EFBFBD>I<> <09> "<22>6<EFBFBD>(<28>'<27>
2<EFBFBD>3<> <09>(<28>O<EFBFBD> <0A><13>]<5D>#<23>#<23> <0A>)<29>*<2A> <0A>1<>&<26><18><11>3<EFBFBD>}<7D>;M<>:N<>g<EFBFBD>V<>W<><57>3?s<00>G<04>__main__)<15>__doc__r.<00>urllib.requestr*<00> urllib.errorr<00>typingrrrr-r_r`<00>strrrA<00>intrMr\re<00>__name__<5F>rr<00><module>ros<><00><01><04> <0C><15><13><1D>"<22>"<22> $<24>
<EFBFBD>#<23><11>!<21><11><13><03><13><03><13>.*<16>s<EFBFBD>*<16>t<EFBFBD>D<EFBFBD>z<EFBFBD>*<16>X<12>S<EFBFBD><12>$<24>t<EFBFBD>*<2A><12><13><12>@<06><14><06>$<24><06>.*X<01>X <0C>z<EFBFBD><19><08>F<EFBFBD>r