OpenWormLLM / corpus_query.py
pgleeson's picture
Black formatting; adds GPT4o
b9c182b
Raw
History Blame
1.4 kB
from paperqa import Docs
import pickle
from ring import LLM_GPT35
from ring import LLM_GPT4
from ring import LLM_LLAMA2
from ring import get_llm
my_docs = [
"corpus/MirzakhaliliEtAl2018.pdf",
"corpus/NicollettiEtAl2019.pdf",
"corpus/ATributetoSydneyBrenner.pdf",
]
# my_docs = ['corpus/ATributetoSydneyBrenner.pdf']
llm_to_use = LLM_GPT4
llm = get_llm(llm_to_use, 0.1)
CORPUS_PICKLE = "corpus.pkl"
def generate_pickle():
docs = Docs(llm="langchain", client=llm)
print("Initialised Docs with LLM: %s" % llm_to_use)
for d in my_docs:
print("Adding %s" % d)
docs.add(d)
print("Saving pickle of docs to: %s" % CORPUS_PICKLE)
f = open(CORPUS_PICKLE, "wb")
pickle.dump(docs, f)
f.close()
def run_query(query, llm_ver):
f = open(CORPUS_PICKLE, "rb")
docs = pickle.load(f)
llm = get_llm(llm_ver, 0)
docs.set_client(llm)
answer = docs.query(query)
return answer
if __name__ == "__main__":
# generate_pickle()
print("Running queries")
queries = [
"Where did John Sulston do his postdoc?",
"What types of potassium channels are expressed in C. elegans neurons?",
]
for query in queries:
print("-------------------")
print("Q: %s" % query)
# answer = docs.query(query)
answer = run_query(query, LLM_GPT4)
print("A: %s" % answer)