Встраивание с использованием Huggingface и Pinecone

У меня есть список обобщенных PDF-файлов, и я хочу встроить их с помощью модели Huggingface. После этого я хочу сохранить их в базе данных сосновых шишек с пространством имен их исходного имени документа. Я всегда получаю какую-то ошибку ValueError, потому что вектор недействителен. Любые решения, как я могу достичь своей цели?

Это была моя попытка:

      class Embedding:
    def __init__(self):
        self.embeddings = HuggingFaceEmbeddings(model_name="paraphrase-MiniLM-L6-v2")

    def initialize_pinecone(self):
        pinecone.init(
            api_key="apikey",
            environment="environment",
        )

    def load_documents(self, folder_path):
        document_loader = DirectoryLoader(path=folder_path)
        documents = document_loader.load()
        return documents

    def split_documents(self, documents, chunk_size=1000, chunk_overlap=100):
        text_splitter = RecursiveCharacterTextSplitter(
            chunk_size=chunk_size, chunk_overlap=chunk_overlap
        )
        split_docs = text_splitter.split_documents(documents)
        return split_docs

    def embed(self):
        print()
        print("-------EMBEDDING-------")
        self.initialize_pinecone()

        summarizedTextsPath = os.path.join(os.path.dirname(__file__), "summarizedTexts")

        summarizedDocs = self.load_documents(summarizedTextsPath)
        summarizedDocsSplit = self.split_documents(summarizedDocs)


        index_name = "lecture-index"

        # Embed and store each document with its filename as namespace
        for i, doc in enumerate(summarizedDocsSplit):
            text = doc.page_content
            vector = self.embeddings.embed_query(text)
            doc_name = os.path.splitext(os.path.basename(doc.metadata["source"]))[0]
            index = pinecone.Index(index_name)
            index.upsert(ids=[i], vectors=vector, namespaces=[doc_name])

        print("Database access successful.")```

0 ответов

Другие вопросы по тегам