Я обнаружил, что существует два подхода к загрузке файлов в векторное хранилище. Первый вариант — создать векторное хранилище, а затем загрузить в него файлы с помощью функций client.beta.vector_stores.files. Второй вариант — сначала загрузить файлы с помощью client.files.create, затем создать векторное хранилище и прикрепить ранее загруженные файлы.
Однако оба подхода у меня не работают. Первый выполняется без исключений, но хранилище векторов пусто и содержит 0 файлов.
Второй также выполняется без исключений, но вектор сохраняет file_count в in_progress = 2 и остается там.
Почему это происходит?
Я использую этот код для создания векторного хранилища, а затем загружаю в него файлы с помощью определенных стратегий фрагментации. В результате хранилище векторов пусто, никаких исключений не возникает.
Код: Выделить всё
vector_store = client.beta.vector_stores.create(
name="human labeled dataset",
)
client.beta.vector_stores.files.upload_and_poll(
vector_store_id=vector_store.id,
file=open("results/results_tsm_human_labeled.json", "rb"),
poll_interval_ms=1000,
chunking_strategy={
"type": "static",
"static": {"max_chunk_size_tokens": 100, "chunk_overlap_tokens": 5},
},
)
client.beta.vector_stores.files.upload_and_poll(
vector_store_id=vector_store.id,
file=open("data/sample_tsm_new.json", "rb"),
poll_interval_ms=1000,
chunking_strategy={
"type": "static",
"static": {"max_chunk_size_tokens": 1000, "chunk_overlap_tokens": 400},
},
)
для отладки я попробовал это с функциями client.files без стратегии разбиения на части:
Код: Выделить всё
human_dataset_result_json_file = client.files.create(
file=open("results/results_tsm_human_labeled.json", "rb"), purpose="assistants"
)
human_dataset_json_file = client.files.create(
file=open("data/sample_tsm_new.json", "rb"), purpose="assistants"
)
vector_store = client.beta.vector_stores.create(
name="human labeled dataset",
file_ids=[human_dataset_result_json_file.id, human_dataset_json_file.id],
)
Интересно, что загрузка файлов в векторный магазин через веб-интерфейс работает нормально.
Подробнее здесь: https://stackoverflow.com/questions/793 ... e-is-empty