Воссоздание внедрений ChromaDB: не удалось подключиться к арендатору default_tenant. Вы уверены, что оно существует?Python

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Воссоздание внедрений ChromaDB: не удалось подключиться к арендатору default_tenant. Вы уверены, что оно существует?

Сообщение Гость »


Я работаю над приложением RAG, которое предоставляет службу Custom GPT Bot. Я храню URL-адреса файлов, которые GPT использует для ответа на запрос пользователя.


Изображение


Я храню встраивание для каждого bot_id отдельно. Ниже приведены встроенные элементы для каждого бота, хранящиеся отдельно, которые извлекаются на основе используемого bot_id.


Изображение


Когда пользователь меняет URL-адреса файлов, я удаляю существующую папку ChromaDB для этого бота и заново создаю внедрения на новом URL-адресе файла, и при воссоздании внедрений появляется следующая ошибка:

Traceback (самый последний вызов — последний): Файл «/home/ubuntu/.local/lib/python3.10/site-packages/chromadb/api/client.py», строка 438, в _validate_tenant_database self._admin_client.get_tenant(имя=арендатор) Файл «/home/ubuntu/.local/lib/python3.10/site-packages/chromadb/api/client.py», строка 486, в get_tenant вернуть self._server.get_tenant(имя=имя) Файл «/home/ubuntu/.local/lib/python3.10/site-packages/chromadb/api/segment.py», строка 140, в get_tenant вернуть self._sysdb.get_tenant(имя=имя) Файл «/home/ubuntu/.local/lib/python3.10/site-packages/chromadb/db/mixins/sysdb.py», строка 125, в get_tenant с self.tx() как cur: Файл "/home/ubuntu/.local/lib/python3.10/site-packages/chromadb/db/impl/sqlite.py", строка 131, в формате tx вернуть TxWrapper(self._conn_pool, stack=self._tx_stack) Файл «/home/ubuntu/.local/lib/python3.10/site-packages/chromadb/db/impl/sqlite.py», строка 31, в __init__ self._conn = conn_pool.connect() Файл "/home/ubuntu/.local/lib/python3.10/site-packages/chromadb/db/impl/sqlite_pool.py", строка 141, в соединении новое_соединение = Соединение( Файл «/home/ubuntu/.local/lib/python3.10/site-packages/chromadb/db/impl/sqlite_pool.py», строка 20, в __init__ self._conn = sqlite3.connect( sqlite3.OperationalError: невозможно открыть файл базы данных Во время обработки вышеуказанного исключения произошло другое исключение: Traceback (последний вызов последний): Файл «/home/ubuntu/.local/lib/python3.10/site-packages/flask/app.py», строка 1463, в wsgi_app ответ = self.full_dispatch_request() Файл «/home/ubuntu/.local/lib/python3.10/site-packages/flask/app.py», строка 872, в full_dispatch_request rv = self.handle_user_Exception(e) Файл «/home/ubuntu/.local/lib/python3.10/site-packages/flask/app.py», строка 870, в full_dispatch_request рв = self.dispatch_request() Файл «/home/ubuntu/.local/lib/python3.10/site-packages/flask/app.py», строка 855, в диспетчерском запросе return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # тип: ignore[no-any-return] Файл «/home/ubuntu/chatbot/main.py», строка 460, в qa сообщение = storeEmbeddings (embedding_model, raw_text, bot_id) Файл «/home/ubuntu/chatbot/embeddings.py», строка 12, в storeEmbeddings. db = Chroma.from_documents( Файл «/home/ubuntu/.local/lib/python3.10/site-packages/langchain_community/vectorstores/chroma.py», строка 778, в from_documents вернуть cls.from_texts( Файл «/home/ubuntu/.local/lib/python3.10/site-packages/langchain_community/vectorstores/chroma.py», строка 714, в from_texts chroma_collection = cls( Файл «/home/ubuntu/.local/lib/python3.10/site-packages/langchain_community/vectorstores/chroma.py», строка 120, в __init__ self._client = chromadb.Client(_client_settings) Файл «/home/ubuntu/.local/lib/python3.10/site-packages/chromadb/__init__.py», строка 274, в клиенте вернуть ClientCreator (арендатор = арендатор, база данных = база данных, настройки = настройки) Файл «/home/ubuntu/.local/lib/python3.10/site-packages/chromadb/api/client.py», строка 144, в __init__ self._validate_tenant_database(арендатор=арендатор, база данных=база данных) Файл «/home/ubuntu/.local/lib/python3.10/site-packages/chromadb/api/client.py», строка 447, в _validate_tenant_database поднять ValueError( ValueError: Не удалось подключиться к арендатору default_tenant. Вы уверены, что оно существует? Похоже, что он все еще пытается получить доступ к старой базе данных ChromaDB для этого бота, хотя папка была успешно удалена. Я удалил по папке, используя:

импортировать Shutil Shutil.rmtree("Вложения/1001") Функция, создающая и сохраняющая внедрения:

def storeEmbeddings(embedding, text, bot_id, embedding_folder): пытаться: text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200) texts = text_splitter.create_documents([текст]) db = Chroma.from_documents( тексты, встраивание, persist_directory=embedding_folder+"//"+bot_id, client_settings = Настройки (anonymized_telemetry = False, is_persistent = True,), ) вернуть сообщение об успехе кроме исключения как e: вернуть ул (е) И самое странное то, что когда я на этом этапе останавливаю и запускаю приложение Python, оно воссоздает встроенные элементы для этого бота.

Как лучше всего удалить существующие внедрения ChromaDB и создать новые документы?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»