Spaces:
Runtime error
Runtime error
from langchain.vectorstores import Chroma | |
from langchain.embeddings import OpenAIEmbeddings | |
from langchain.text_splitter import RecursiveCharacterTextSplitter | |
from langchain.llms import OpenAI | |
from langchain.chains import VectorDBQA | |
from langchain.document_loaders import TextLoader | |
from langchain.document_loaders import OnlinePDFLoader | |
def get_context(arxiv_link: str, prompt: str) -> str: | |
# Load the document | |
loader = OnlinePDFLoader(arxiv_link) | |
doc = loader.load() | |
# Split the document into sentences | |
splitter = RecursiveCharacterTextSplitter() | |
sentences = splitter.split(doc) | |
# Embed the sentences | |
embeddings = OpenAIEmbeddings() | |
embedded_sentences = embeddings.embed(sentences) | |
# Create a vector store | |
store = Chroma() | |
# Create a language model | |
lm = OpenAI() | |
# Create a QA chain | |
chain = VectorDBQA(store, lm) | |
# Add the embedded sentences to the vector store | |
for sentence, embedding in zip(sentences, embedded_sentences): | |
store.add(sentence, embedding) | |
# Ask the QA chain a question | |
return chain.ask(prompt) | |