Skip to content

Commit ec94348

Browse files
committed
- Changed the search methods to use AsyncIterator
1 parent 951bb0e commit ec94348

25 files changed

+1064
-674
lines changed

packages/fetchcraft-core/src/examples/chroma_example.py

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,16 @@
2828
from fetchcraft.node_parser import SimpleNodeParser, HierarchicalNodeParser
2929

3030

31+
async def collect_results(async_iter, k: int = 100):
32+
"""Helper to collect results from async iterator."""
33+
results = []
34+
async for item in async_iter:
35+
results.append(item)
36+
if len(results) >= k:
37+
break
38+
return results
39+
40+
3141
async def example_basic_usage():
3242
"""Basic usage example with in-memory ChromaDB."""
3343

@@ -120,7 +130,7 @@ async def example_basic_usage():
120130
# Step 5: Index documents
121131
print("\n5. Indexing documents...")
122132

123-
await vector_index.add_nodes(DocumentNode, all_chunks, show_progress=True)
133+
await vector_index.add_nodes(None, all_chunks, show_progress=True)
124134

125135
print(f" ✓ Indexed {len(all_chunks)} chunks")
126136

@@ -135,7 +145,7 @@ async def example_basic_usage():
135145

136146
for query in queries:
137147
print(f"\n Query: '{query}'")
138-
results = await vector_index.search_by_text(query, k=2)
148+
results = await collect_results(vector_index.search_by_text_iter(query), k=2)
139149

140150
for i, (doc, score) in enumerate(results, 1):
141151
filename = doc.metadata.get('filename', 'unknown')
@@ -280,7 +290,7 @@ async def example_hierarchical_chunking():
280290
# Index all nodes
281291
print("\n3. Indexing hierarchical chunks...")
282292

283-
await vector_index.add_nodes(DocumentNode, nodes, show_progress=True)
293+
await vector_index.add_nodes(None, nodes, show_progress=True)
284294

285295
print(f" ✓ Indexed all {len(nodes)} nodes")
286296

@@ -347,8 +357,8 @@ async def example_comparison():
347357
index_id=f"index_{distance}"
348358
)
349359

350-
await vector_index.add_nodes(DocumentNode, chunks)
351-
results = await vector_index.search_by_text("AI and ML", k=1)
360+
await vector_index.add_nodes(None, chunks)
361+
results = await collect_results(vector_index.search_by_text_iter("AI and ML"), k=1)
352362

353363
if results:
354364
score = results[0][1]

packages/fetchcraft-core/src/examples/embeddings_example.py

Lines changed: 0 additions & 269 deletions
This file was deleted.

0 commit comments

Comments
 (0)