by Anonymous » 17 Jan 2025, 10:28
Ich versuche, einen Index zu Texteinbettungen für ein RAG-System mit Milvus 2.5.x als Vektordatenbank in Python zu erstellen. Ich habe die Sammlungen bereits erstellt und gefüllt. Die Größe meines Datensatzes ist ziemlich klein, da es sich um ein Forschungsprojekt handelt: eine Sammlung mit 500 Zeilen und eine andere mit 53 Zeilen.
Mein aktueller Aufbau ist wie folgt:
Code: Select all
from pymilvus import MilvusClient
client = MilvusClient('../data/task_embeddings.db')
client.load_collection('collection')
client.drop_index('collection', 'problem_statement_embeddings') # Ensure clean precondition before trying to create index
client.describe_index('collection', 'problem_statement_embeddings') # Check whether the last statement worked as expected
index_params = MilvusClient.prepare_index_params()
index_params.add_index(
index_name='problem_statement_embeddings',
field_name="vector",
index_type="FLAT",
metric_type="COSINE",
)
client.create_index('collection', index_params, sync=True)
Dieser Code läuft einwandfrei. Wenn ich dann jedoch versuche, den Index mit client.describe_index('collection', 'problem_statement_embeddings') zu überprüfen, erhalte ich die folgende Ausgabe:
Code: Select all
{'index_type': 'FLAT',
'metric_type': 'COSINE',
'dim': '768',
'field_name': 'vector',
'index_name': 'problem_statement_embeddings',
'total_rows': 0,
'indexed_rows': 0,
'pending_index_rows': 0,
'state': 'Finished'}
Zeigt an, dass keine Zeilen indiziert wurden. Wenn ich eine Suchanfrage durchführe, erhalte ich immer noch ein Ergebnis. Ich gehe davon aus, dass es bei der Größe meines Datensatzes keine allzu große Rolle spielt, ob die Daten indiziert sind, aber ich würde trotzdem gerne verstehen, was hier vor sich geht, um sicherzustellen, dass ich später nicht auf unerwartetes Verhalten stoße.
Bearbeiten: Ich habe ein Problem im Milvus-Repo geöffnet
Ich versuche, einen Index zu Texteinbettungen für ein RAG-System mit Milvus 2.5.x als Vektordatenbank in Python zu erstellen. Ich habe die Sammlungen bereits erstellt und gefüllt. Die Größe meines Datensatzes ist ziemlich klein, da es sich um ein Forschungsprojekt handelt: eine Sammlung mit 500 Zeilen und eine andere mit 53 Zeilen.
Mein aktueller Aufbau ist wie folgt:
[code]from pymilvus import MilvusClient
client = MilvusClient('../data/task_embeddings.db')
client.load_collection('collection')
client.drop_index('collection', 'problem_statement_embeddings') # Ensure clean precondition before trying to create index
client.describe_index('collection', 'problem_statement_embeddings') # Check whether the last statement worked as expected
index_params = MilvusClient.prepare_index_params()
index_params.add_index(
index_name='problem_statement_embeddings',
field_name="vector",
index_type="FLAT",
metric_type="COSINE",
)
client.create_index('collection', index_params, sync=True)
[/code]
Dieser Code läuft einwandfrei. Wenn ich dann jedoch versuche, den Index mit client.describe_index('collection', 'problem_statement_embeddings') zu überprüfen, erhalte ich die folgende Ausgabe:
[code]{'index_type': 'FLAT',
'metric_type': 'COSINE',
'dim': '768',
'field_name': 'vector',
'index_name': 'problem_statement_embeddings',
'total_rows': 0,
'indexed_rows': 0,
'pending_index_rows': 0,
'state': 'Finished'}
[/code]
Zeigt an, dass keine Zeilen indiziert wurden. Wenn ich eine Suchanfrage durchführe, erhalte ich immer noch ein Ergebnis. Ich gehe davon aus, dass es bei der Größe meines Datensatzes keine allzu große Rolle spielt, ob die Daten indiziert sind, aber ich würde trotzdem gerne verstehen, was hier vor sich geht, um sicherzustellen, dass ich später nicht auf unerwartetes Verhalten stoße.
Bearbeiten: Ich habe ein Problem im Milvus-Repo geöffnet