Spaces:
Runtime error
Runtime error
import tempfile | |
import os | |
from langchain.document_loaders import PyPDFLoader | |
from langchain.embeddings.openai import OpenAIEmbeddings | |
from langchain.text_splitter import RecursiveCharacterTextSplitter | |
from langchain.document_loaders import DirectoryLoader, TextLoader | |
from langchain.vectorstores import Pinecone | |
from PyPDF2 import PdfReader | |
import pinecone | |
from config import config | |
def create_indexes(file: tempfile, pinecone_api_key: str, pinecone_environment: str, pinecone_index_name: str, openai_api_key: str) -> str: | |
try: | |
file_path = file.name | |
reader = PyPDFLoader(file_path) | |
documents = reader.load_and_split() | |
embeddings = OpenAIEmbeddings( | |
openai_api_key=openai_api_key | |
) | |
pinecone.init( | |
api_key=pinecone_api_key, | |
environment=pinecone_environment | |
) | |
indexes_list = pinecone.list_indexes() | |
if pinecone_index_name not in indexes_list: | |
pinecone.create_index( | |
name=pinecone_index_name, | |
dimension=1536 | |
) | |
Pinecone.from_documents( | |
documents=documents, | |
embedding=embeddings, | |
index_name=pinecone_index_name | |
) | |
return 'Document uploaded and index created successfully. You can chat now.' | |
except Exception as e: | |
return e | |
def clear_indexes(pinecone_api_key: str, pinecone_environment: str, pinecone_index_name: str) -> str: | |
try: | |
pinecone.init( | |
api_key=pinecone_api_key, | |
environment=pinecone_environment | |
) | |
indexes_list = pinecone.list_indexes() | |
if pinecone_index_name in indexes_list: | |
pinecone.delete_index(name=pinecone_index_name) | |
return 'Indexes cleared.', None | |
except Exception as e: | |
return e, None | |