Skip to content

Commit 14413b1

Browse files
committed
knowledge working
1 parent 3b5f276 commit 14413b1

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

packages/adapter-sqlite/src/index.ts

+9-6
Original file line numberDiff line numberDiff line change
@@ -238,17 +238,18 @@ export class SqliteDatabaseAdapter extends DatabaseAdapter {
238238
match_count: number;
239239
unique: boolean;
240240
}): Promise<Memory[]> {
241+
// Build the query and parameters carefully
241242
const queryParams = [
242243
new Float32Array(params.embedding), // Ensure embedding is Float32Array
243244
params.tableName,
244245
params.roomId,
245-
params.match_count,
246246
];
247247

248248
let sql = `
249-
SELECT *, vec_distance_L2(embedding, ?) AS similarity
250-
FROM memories
251-
WHERE type = ?`;
249+
SELECT *, vec_distance_L2(embedding, ?) AS similarity
250+
FROM memories
251+
WHERE type = ?
252+
AND roomId = ?`;
252253

253254
if (params.unique) {
254255
sql += " AND `unique` = 1";
@@ -258,13 +259,14 @@ export class SqliteDatabaseAdapter extends DatabaseAdapter {
258259
sql += " AND agentId = ?";
259260
queryParams.push(params.agentId);
260261
}
261-
262262
sql += ` ORDER BY similarity ASC LIMIT ?`; // ASC for lower distance
263-
// Updated queryParams order matches the placeholders
263+
queryParams.push(params.match_count.toString()); // Convert number to string
264264

265+
// Execute the prepared statement with the correct number of parameters
265266
const memories = this.db.prepare(sql).all(...queryParams) as (Memory & {
266267
similarity: number;
267268
})[];
269+
268270
return memories.map((memory) => ({
269271
...memory,
270272
createdAt:
@@ -275,6 +277,7 @@ export class SqliteDatabaseAdapter extends DatabaseAdapter {
275277
}));
276278
}
277279

280+
278281
async searchMemoriesByEmbedding(
279282
embedding: number[],
280283
params: {

packages/core/src/runtime.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -896,12 +896,14 @@ Text: ${attachment.text}
896896

897897
async function getKnowledge(runtime: AgentRuntime, message: Memory): Promise<string[]> {
898898
const embedding = await embed(runtime, message.content.text);
899+
899900
const memories = await runtime.knowledgeManager.searchMemoriesByEmbedding(
900901
embedding,
901902
{
902-
count: 3,
903903
roomId: message.roomId,
904904
agentId: runtime.agentId,
905+
match_threshold: 0.95,
906+
count: 1,
905907
}
906908
);
907909

0 commit comments

Comments
 (0)