Commit 9b2e4d2
committed
fix: enable ChromaDB as vector memory backend for agent chat
Fixes integration issue preventing ChromaDB from being used as
VectorMemory backend. The root cause is that VectorMemory stores
sub_dicts as a list in node metadata, which is rejected by vector
stores that require flat metadata values (ChromaDB, SingleStoreDB, etc.).
Changes:
- In _commit_node(): serialize sub_dicts to JSON string before
insert_nodes, restore list form after for in-memory operations
- In get(): handle both serialized JSON string and raw list forms
of sub_dicts for backward compatibility
Fixes #156811 parent 9aa5ee5 commit 9b2e4d2
1 file changed
Lines changed: 27 additions & 6 deletions
Lines changed: 27 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
| |||
144 | 145 | | |
145 | 146 | | |
146 | 147 | | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
152 | 162 | | |
153 | 163 | | |
154 | 164 | | |
| |||
172 | 182 | | |
173 | 183 | | |
174 | 184 | | |
175 | | - | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
176 | 197 | | |
177 | 198 | | |
178 | 199 | | |
| |||
0 commit comments