Как я могу сопоставить каждое возвращенное встраивание с текстом, который я ему дал, чтобы сохранить их в базе данных?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу сопоставить каждое возвращенное встраивание с текстом, который я ему дал, чтобы сохранить их в базе данных?

Сообщение Anonymous »

Я создал этот скрипт, который читает текст из pdf и для каждого абзаца вычисляет встраивания с помощью API Cohere Embeddings:

Код: Выделить всё

import os
import cohere
import time

from pypdf import PdfReader
from dotenv import load_dotenv
from qdrant_client import QdrantClient
from qdrant_client.models import Distance, VectorParams

load_dotenv()

docsFolder='./docs'

def getTextFromPDF(fileName):
text = ""
reader = PdfReader(fileName)
for page in reader.pages:
text += page.extract_text() + "\n"
return text

def getPhrases(docsFolder):
phrases=[]

with os.scandir(docsFolder) as it:
for entry in it:
if not entry.name.startswith('.') and entry.is_file():
text=getTextFromPDF(docsFolder+"/"+entry.name)
passages = [p.strip() for p in text.split("\n\n") if p.strip()]
phrases.extend(passages)

return phrases

start = time.perf_counter()
phrases = getPhrases(docsFolder)
end = time.perf_counter()

print("Passage Extraction time "+str(end-start)+" seconds")

co = cohere.ClientV2(api_key=os.getenv("COHERE_KEY"))

start = time.perf_counter()
res = co.embed(texts=phrases,model="embed-multilingual-v3.0", input_type="search_document",embedding_types=['float'])
end = time.perf_counter()

print("Embeddings generation time: "+str(end-start)+" seconds")

print(len(res.texts),len(res.embeddings.float),len(phrases))

# Save results here
Я хочу сопоставить входные тексты с их встраиванием, возвращенным из API-интерфейса Cohere, чтобы я мог их сохранить. Причина в том, чтобы использовать их позже, а не пересчитывать.
Но что мне трудно, так это то, что каждый элемент res.embeddings.float для того, чтобы в качестве входных данных были заданы фразы.

Подробнее здесь: https://stackoverflow.com/questions/791 ... -i-can-sav
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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