def embed_with_chroma(persist_directory=r'./vector_db/',
db_directory=r'./sql/sop_database.sqlite',
collection_name='sop_vectorstore',
batch_size=200):
"""
Reads all data from an SQLite database, converts it to embeddings, and saves to disk in batches.
"""
# Initialize the embedding model
embedding_model = HuggingFaceEmbeddings(model_name="source_data/BAAI",
model_kwargs={'device': 'cpu'})
# Query to get all data
query = """
SELECT m.model_name AS "model", m.brand AS "brand", m.product_line AS "product_line", g.group_name AS "group", s.step_name AS "step", s.detail
FROM Steps s
JOIN Groups g ON s.group_id = g.group_id
JOIN Models m ON g.model_id = m.model_id
ORDER BY m.model_name, g.group_name, s.step_id;
"""
conn = sqlite3.connect(db_directory)
df = pd.read_sql_query(query, conn)
conn.close()
# Prepare data in batches to manage memory usage
vectorstore = None
total_epochs = (len(df) // batch_size) + 1
epoch = 1
for start in range(0, len(df), batch_size):
print(f'epoch {epoch}/{total_epochs}')
batch_df = df.iloc[start:start + batch_size].copy()
batch_df['merge'] = batch_df.apply(lambda row: f"Model: {row['model']}, Group: {row['group']}, Step: {row['step']}", axis=1)
# Load documents and split into chunks
loader = DataFrameLoader(batch_df, page_content_column='merge')
documents = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=512, chunk_overlap=128)
documents_chunks = text_splitter.split_documents(documents)
# Initialize or append to vectorstore
if vectorstore is None:
vectorstore = Chroma.from_documents(documents_chunks,
embedding_model,
collection_name=collection_name,
persist_directory=persist_directory)
else:
vectorstore.add_documents(documents_chunks)
# Free up memory
del batch_df, loader, documents, documents_chunks
gc.collect()
epoch += 1
return vectorstore
Код аварийно завершает работу при запуске Chroma.from_documents со следующим сообщением об ошибке:
Process finished with exit code -1073741819 (0xC0000005)
Я пробовал настроить память и размер пакета, но сбой не прекращается без дополнительных сообщений об ошибках. Вот некоторые подробности, которые могут иметь значение:
Моя среда имеет 8 ГБ ОЗУ.
Я использую LangChain и Chroma для встраивания.
DataFrame имеет 1350 строк и 10 столбцов.
Любая информация о том, почему это может быть происходит или как отладить эту проблему дальше будем очень признательны.
Спасибо!
Я работаю с LangChain и Chroma над внедрением в DataFrame. Моя форма DataFrame – (1350, 10), а код для встраивания следующий: [code]def embed_with_chroma(persist_directory=r'./vector_db/', db_directory=r'./sql/sop_database.sqlite', collection_name='sop_vectorstore', batch_size=200): """ Reads all data from an SQLite database, converts it to embeddings, and saves to disk in batches. """ # Initialize the embedding model embedding_model = HuggingFaceEmbeddings(model_name="source_data/BAAI", model_kwargs={'device': 'cpu'})
# Query to get all data query = """ SELECT m.model_name AS "model", m.brand AS "brand", m.product_line AS "product_line", g.group_name AS "group", s.step_name AS "step", s.detail FROM Steps s JOIN Groups g ON s.group_id = g.group_id JOIN Models m ON g.model_id = m.model_id ORDER BY m.model_name, g.group_name, s.step_id; """ conn = sqlite3.connect(db_directory) df = pd.read_sql_query(query, conn) conn.close()
# Prepare data in batches to manage memory usage vectorstore = None total_epochs = (len(df) // batch_size) + 1 epoch = 1 for start in range(0, len(df), batch_size): print(f'epoch {epoch}/{total_epochs}') batch_df = df.iloc[start:start + batch_size].copy() batch_df['merge'] = batch_df.apply(lambda row: f"Model: {row['model']}, Group: {row['group']}, Step: {row['step']}", axis=1)
# Initialize or append to vectorstore if vectorstore is None: vectorstore = Chroma.from_documents(documents_chunks, embedding_model, collection_name=collection_name, persist_directory=persist_directory) else: vectorstore.add_documents(documents_chunks)
# Free up memory del batch_df, loader, documents, documents_chunks gc.collect() epoch += 1
return vectorstore [/code] Код аварийно завершает работу при запуске Chroma.from_documents со следующим сообщением об ошибке: [code]Process finished with exit code -1073741819 (0xC0000005) [/code] Я пробовал настроить память и размер пакета, но сбой не прекращается без дополнительных сообщений об ошибках. Вот некоторые подробности, которые могут иметь значение: [list] [*]Моя среда имеет 8 ГБ ОЗУ. [*]Я использую LangChain и Chroma для встраивания. [*]DataFrame имеет 1350 строк и 10 столбцов. [/list] Любая информация о том, почему это может быть происходит или как отладить эту проблему дальше будем очень признательны. Спасибо!
Я работаю с LangChain и Chroma над внедрением в DataFrame. Моя форма DataFrame – (1350, 10), а код для встраивания следующий:
def embed_with_chroma(persist_directory=r'./vector_db/',
db_directory=r'./sql/sop_database.sqlite',...
Я озадачен этой проблемой
chunks = []
for path in file_paths: # path is a string filepath to a csv
chunks.extend(self.chunk_data(path))
chunks = filter_complex_metadata(chunks)
# add all relevant documents to chunks
# creates a unique cache for...
Я озадачен этой проблемой
chunks = []
for path in file_paths: # path is a string filepath to a csv
chunks.extend(self.chunk_data(path))
chunks = filter_complex_metadata(chunks)
# add all relevant documents to chunks
# creates a unique cache for...
Я пытаюсь подключить Mysql к Pycharm.
С помощью этого кода:
import mysql.connector
db = mysql.connector.connect(
host= localhost ,
user= root ,
passwd= password ,
database= test
Но я получил следующее: Процесс завершен с кодом завершения...
Я пытаюсь подключить MySQL к Pycharm.
С помощью этого кода:
import mysql.connector
db = mysql.connector.connect(
host= localhost ,
user= root ,
passwd= password ,
database= test
Но я получил следующее: Процесс завершен с кодом завершения...