Skip to content

Commit 11e7db1

Browse files
committed
fix recall by agent id
1 parent d9aeb80 commit 11e7db1

File tree

5 files changed

+23
-13
lines changed

5 files changed

+23
-13
lines changed

core/src/adapters/postgres.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -269,15 +269,16 @@ export class PostgresDatabaseAdapter extends DatabaseAdapter {
269269

270270
await client.query(
271271
`INSERT INTO memories (
272-
id, type, content, embedding, "userId", "roomId", "unique", "createdAt"
273-
) VALUES ($1, $2, $3, $4::vector, $5::uuid, $6::uuid, $7, to_timestamp($8/1000.0))`,
272+
id, type, content, embedding, "userId", "roomId", "agentId", "unique", "createdAt"
273+
) VALUES ($1, $2, $3, $4::vector, $5::uuid, $6::uuid, $7::uuid, $8, to_timestamp($9/1000.0))`,
274274
[
275275
memory.id ?? v4(),
276276
tableName,
277277
JSON.stringify(memory.content),
278278
`[${memory.embedding.join(",")}]`,
279279
memory.userId,
280280
memory.roomId,
281+
memory.agentId,
281282
memory.unique ?? isUnique,
282283
Date.now(),
283284
]
@@ -365,7 +366,7 @@ export class PostgresDatabaseAdapter extends DatabaseAdapter {
365366
}
366367

367368
if (params.agentId) {
368-
sql += " AND userId = $3";
369+
sql += " AND agentId = $3";
369370
values.push(params.agentId);
370371
}
371372

@@ -638,9 +639,8 @@ export class PostgresDatabaseAdapter extends DatabaseAdapter {
638639
sql += ` AND "unique" = true`;
639640
}
640641

641-
// TODO: Test this
642642
if (params.agentId) {
643-
sql += " AND userId = $3";
643+
sql += " AND agentId = $3";
644644
values.push(params.agentId);
645645
}
646646

core/src/adapters/sqlite.ts

+11-5
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ export class SqliteDatabaseAdapter extends DatabaseAdapter {
162162
let queryParams = [params.tableName, ...params.roomIds];
163163

164164
if (params.agentId) {
165-
sql += ` AND userId = ?`;
165+
sql += ` AND agentId = ?`;
166166
queryParams.push(params.agentId);
167167
}
168168

@@ -219,14 +219,15 @@ export class SqliteDatabaseAdapter extends DatabaseAdapter {
219219
const createdAt = memory.createdAt ?? Date.now();
220220

221221
// Insert the memory with the appropriate 'unique' value
222-
const sql = `INSERT OR REPLACE INTO memories (id, type, content, embedding, userId, roomId, \`unique\`, createdAt) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`;
222+
const sql = `INSERT OR REPLACE INTO memories (id, type, content, embedding, userId, roomId, agentId, \`unique\`, createdAt) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`;
223223
this.db.prepare(sql).run(
224224
memory.id ?? v4(),
225225
tableName,
226226
content,
227227
new Float32Array(memory.embedding ?? embeddingZeroVector), // Store as Float32Array
228228
memory.userId,
229229
memory.roomId,
230+
memory.agentId,
230231
isUnique ? 1 : 0,
231232
createdAt
232233
);
@@ -235,6 +236,7 @@ export class SqliteDatabaseAdapter extends DatabaseAdapter {
235236
async searchMemories(params: {
236237
tableName: string;
237238
roomId: UUID;
239+
agentId?: UUID;
238240
embedding: number[];
239241
match_threshold: number;
240242
match_count: number;
@@ -256,6 +258,11 @@ export class SqliteDatabaseAdapter extends DatabaseAdapter {
256258
sql += " AND `unique` = 1";
257259
}
258260

261+
if (params.agentId) {
262+
sql += " AND agentId = ?";
263+
queryParams.push(params.agentId);
264+
}
265+
259266
sql += ` ORDER BY similarity ASC LIMIT ?`; // ASC for lower distance
260267
// Updated queryParams order matches the placeholders
261268

@@ -297,9 +304,8 @@ export class SqliteDatabaseAdapter extends DatabaseAdapter {
297304
if (params.unique) {
298305
sql += " AND `unique` = 1";
299306
}
300-
// TODO: Test this
301307
if (params.agentId) {
302-
sql += " AND userId = ?";
308+
sql += " AND agentId = ?";
303309
queryParams.push(params.agentId);
304310
}
305311

@@ -413,7 +419,7 @@ export class SqliteDatabaseAdapter extends DatabaseAdapter {
413419
}
414420

415421
if (params.agentId) {
416-
sql += " AND userId = ?";
422+
sql += " AND agentId = ?";
417423
queryParams.push(params.agentId);
418424
}
419425

core/src/adapters/sqljs.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ export class SqlJsDatabaseAdapter extends DatabaseAdapter {
236236
}
237237

238238
// Insert the memory with the appropriate 'unique' value
239-
const sql = `INSERT INTO memories (id, type, content, embedding, userId, roomId, \`unique\`, createdAt) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`;
239+
const sql = `INSERT INTO memories (id, type, content, embedding, userId, roomId, agentId, \`unique\`, createdAt) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`;
240240
const stmt = this.db.prepare(sql);
241241

242242
const createdAt = memory.createdAt ?? Date.now();
@@ -248,6 +248,7 @@ export class SqlJsDatabaseAdapter extends DatabaseAdapter {
248248
JSON.stringify(memory.embedding),
249249
memory.userId,
250250
memory.roomId,
251+
memory.agentId,
251252
isUnique ? 1 : 0,
252253
createdAt,
253254
]);
@@ -461,7 +462,7 @@ export class SqlJsDatabaseAdapter extends DatabaseAdapter {
461462
}
462463

463464
if (params.agentId) {
464-
sql += " AND userId = ?";
465+
sql += " AND agentId = ?";
465466
}
466467

467468
sql += " ORDER BY createdAt DESC";

core/src/clients/direct/index.ts

-1
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,6 @@ class DirectClient {
166166

167167
const memory: Memory = {
168168
id: messageId,
169-
...userMessage,
170169
agentId: runtime.agentId,
171170
userId,
172171
roomId,

core/src/core/generation.ts

+4
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ export async function generateText({
7474
prettyConsole.log("Initializing OpenAI model.");
7575
const openai = createOpenAI({ apiKey });
7676

77+
console.log('****** CONTEXT\n', context)
78+
7779
const { text: openaiResponse } = await aiGenerateText({
7880
model: openai.languageModel(model),
7981
prompt: context,
@@ -83,6 +85,8 @@ export async function generateText({
8385
presencePenalty: presence_penalty,
8486
});
8587

88+
console.log("****** RESPONSE\n", openaiResponse);
89+
8690
response = openaiResponse;
8791
prettyConsole.log("Received response from OpenAI model.");
8892
break;

0 commit comments

Comments
 (0)