import os import readpdf import extractdata from qdrant_client import QdrantClient from langchain.callbacks.manager import CallbackManager from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler from langchain_community.chat_models import ChatOllama from langchain_community.document_loaders import TextLoader from langchain.chains import RetrievalQA from langchain.schema.document import Document from qdrant_client.http.models import Distance, VectorParams from langchain_community.vectorstores import Qdrant from langchain.text_splitter import RecursiveCharacterTextSplitter, CharacterTextSplitter from langchain_community.embeddings import OllamaEmbeddings import sys def sendFile(filename,hash): text= readpdf.returnTextFromFile("./"+filename) pages=[] # define the text splitter r_splitter = RecursiveCharacterTextSplitter( chunk_size=2048, chunk_overlap=100, #separators=["\n\n", "\n", " ", ""] ) pages = r_splitter.split_text(text) docs = [Document(page_content=x) for x in pages] # set up Ollama Embeddings: https://python.langchain.com/docs/integrations/text_embedding/ollama embeddings = OllamaEmbeddings(model='llama3',base_url="http://10.128.0.3:11434") #url="http://localhost:6333" #client = QdrantClient(url=url) #client.create_collection( # collection_name="C834_DSC_TEST", # vectors_config=VectorParams(size=3072, distance=Distance.COSINE), #) # set up the qdrant database qdrant = Qdrant.from_documents( docs, embeddings, path="./vectLlama3", collection_name=hash, force_recreate=True, ) del qdrant print ("FINE EMBEDDING") #os.remove("./"+filename) #print(f"File '{filename}' file rimosso.") result = extractdata.extractDataFromDoc(hash) return result