使用 ObjectBox 作为 Vectorstore 时出现此错误:“CoreException: 10001 (ILLEGAL_STATE) - 无法打开商店”我该怎么办?

问题描述 投票:0回答:0

我试图使用 RAG 和 ObjectBox 作为矢量存储来制作一个简单的问答应用程序。 我有 这是我曾经使用的代码:

import streamlit as st
import os
from langchain_groq import ChatGroq
from langchain_community.document_loaders import PyPDFDirectoryLoader
from langchain_community.embeddings import OllamaEmbeddings
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.chains.combine_documents import create_stuff_documents_chain
from langchain_core.prompts import ChatPromptTemplate
from langchain.chains import create_retrieval_chain
from langchain_objectbox.vectorstores import ObjectBox
import time

groq_api_key = "The Groq API Key"

st.title("Objectbox VectorsstoreDB with Llama3")

llm = ChatGroq(groq_api_key=groq_api_key, model_name="Llama3-8b-8192")

prompt = ChatPromptTemplate.from_template(
    """
    Answer the questions based on the provided context only.
    Please provide te most accurate response based on the question
    <<context>>
    {context}
    <<context>>
    Questions: {input}
"""
)

if "vector" not in st.session_state:
        st.session_state.embeddings=OllamaEmbeddings()
        st.session_state.loader = PyPDFDirectoryLoader("./us_census") # Data Ingestion
        st.session_state.docs = st.session_state.loader.load() # Document loading
        st.session_state.text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000,chunk_overlap=200) # Chunk Creation
        st.session_state.final_documents = st.session_state.text_splitter.split_documents(st.session_state.docs[:20]) # Splitting
        st.session_state.vectors = ObjectBox.from_documents(st.session_state.final_documents,st.session_state.embeddings,embedding_dimensions=768) # Vector Ollama embeddings
        print("hi")

input_prompt = st.text_input("Input Prompt")

if st.button("Documents Embedding"):
    #vector_embedding()
    st.write("Vector Store DB is Ready")

if input_prompt:
    document_chain = create_stuff_documents_chain(llm,prompt)
    retriever = st.session_state.vectors.as_retriever()
    retrieval_chain = create_retrieval_chain(retriever,document_chain)
    start = time.process_time()
    response = retrieval_chain.invoke({"input":input_prompt})
    print("Response time:",time.process_time()-start)
    st.write(response['answer'])

    # Streamlit expander
    with st.expander("Doc similarity search"):
        # finding relevant chunks
        for i, doc in enumerate(response["context"]):
            st.write(doc.page_content)
            st.write("-------------------------")

错误信息

通过 Streamlit 输入文本框输入输入后,这是我得到的错误:

CoreException:10001(ILLEGAL_STATE)-无法打开商店:另一个商店仍在使用相同的路径打开:“C:\ Users \ RISHAV BHATTACHARJEE \ Desktop \ RB Workbase \ Generative-AI \ Langchain \ ObjectBox \ objectbox” 追溯: 文件“C:\Users\RISHAV BHATTACHARJEE naconda3\Lib\site-packages\streamlit untime\scriptrunner\script_runner.py",第 584 行,在 _run_script 中 exec(代码,模块。dict) 文件“C:\Users\RISHAV BHATTACHARJEE\Desktop\RB Workbase\Generative-AI\Langchain\ObjectBox pp.py”,第 38 行,位于 st.session_state.vectors = ObjectBox.from_documents(st.session_state.final_documents,st.session_state.embeddings,embedding_dimensions=768) # 矢量 Ollama 嵌入 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ 文件“C:\Users\RISHAV BHATTACHARJEE naconda3\Lib\site-packages\langchain_core ectorstores.py”,第 550 行,在 from_documents 中 返回 cls.from_texts(文本、嵌入、元数据=元数据、**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ 文件“C:\Users\RISHAV BHATTACHARJEE naconda3\Lib\site-packages\langchain_objectbox ectorstores.py”,第 215 行,在 from_texts 中 ob = cls(嵌入, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ 文件“C:\Users\RISHAV BHATTACHARJEE naconda3\Lib\site-packages\langchain_objectbox ectorstores.py”,第 52 行,位于 init self._db = self._create_objectbox_db() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 文件“C:\ Users \ RISHAV BHATTACHARJEE naconda3 \ Lib \ site-packages \ langchain_objectbox ectorstores.py”,第252行,在_create_objectbox_db中 返回 objectbox.Store(model=model,directory=db_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 文件“C:\Users\RISHAV BHATTACHARJEE naconda3\Lib\site-packages\objectbox\store.py”,第 168 行,位于 init self._c_store = c.obx_store_open(选项._c_handle) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 文件“C:\Users\RISHAV BHATTACHARJEE naconda3\Lib\site-packages\objectbo

large-language-model objectbox retrieval-augmented-generation
© www.soinside.com 2019 - 2024. All rights reserved.