File size: 1,398 Bytes
231c41d
 
 
 
 
 
 
 
b9c182b
 
 
 
 
231c41d
b9c182b
231c41d
 
 
 
b9c182b
 
231c41d
 
b9c182b
231c41d
b9c182b
231c41d
 
b9c182b
231c41d
 
b9c182b
231c41d
b9c182b
231c41d
 
b9c182b
231c41d
 
 
b9c182b
231c41d
 
 
 
 
 
 
 
 
 
 
b9c182b
231c41d
b9c182b
231c41d
b9c182b
231c41d
b9c182b
 
 
 
231c41d
 
b9c182b
 
 
231c41d
 
b9c182b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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)