ΠΠΎΠ΄ΡΠ»Ρ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ/Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π² S3 Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ - Minio.
ΠΠ»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π±Π°ΠΊΠ΅ΡΡ Minio ΠΈ embeding_model, ΠΊΠΎΡΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ HuggingFaceInstructEmbeddings:
famin = FaissMinio(embedding_model=embedding_model,
minio_host=HOST_MINI0,
minio_port=PORT_MINIO,
minio_bucket=BUCKET_NAME,
login_minio=LOGIN_MINIO,
password_minio=PASSWORD_MINIO,
collection_name=NAME_COLLECTION)
Π ΠΌΠΎΠ΄ΡΠ»Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
- .from_documents(docs_chunk:List[Document])
- .as_retriever(search_type:str, search_kwargs:dict)
vector_db = famin.from_documents(docs_chunk=doc_chunks)
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π΄Π°Π½Π½ΡΡ Π² Minio. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π΅Π΅ Π½Π΅Ρ, ΠΏΠ°ΠΏΠΊΠ° "db_collections" Π² Π½Π΅ΠΉ Π±ΡΠ΄ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π²ΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΠ°ΠΏΠΊΠ° Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ "NAME_COLLECTION" ΠΈ ΡΠΆΠ΅ Π² Π½Π΅ΠΉ Π±ΡΠ΄ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ "json".
ΠΡΠΈΠΌΠ΅Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π±Π°ΠΊΠ΅ΡΠ΅: "test_bucket/db_collections/test_collection/"
ΠΠ°Π½Π½ΡΠ΅ ΡΠΎΡΡΠΎΡΡ ΠΈΠ·:
- docstore_db.json
- index_db_binary.json
- index_to_docstore_id.json
retriver = famin.as_retriever(search_type="",
search_kwargs={})
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠ΅ΡΡΠΈΠ²Π΅Ρ. ΠΠ°Π½Π½ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π²ΠΈΠ΄ Π΄Π»Ρ FAISS. ΠΠ°Π»Π΅Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ FAISS ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΅Π΅ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ .as_retriever:
faiss = FAISS(embedding_function=EMBEDDING_MODEL,
index=index_db_binary,
docstore=docstore_db,
index_to_docstore_id=index_to_docstore_id,
)