File size: 1,316 Bytes
8677815
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from hay.model import prompting_model, summarize
from haystack.pipelines import Pipeline, SearchSummarizationPipeline
from hay.retriever import retriever1

def rg_pipeline(question):
    '''
    Defines a pipeline of retriever and generator and generates output for the given question
    '''

    prompt_node = prompting_model() 
    retriever = retriever1()

    pipe = Pipeline()
    pipe.add_node(component=retriever, name="retriever", inputs=["Query"])
    pipe.add_node(component=prompt_node, name="prompt_node", inputs=["retriever"])

    output = pipe.run(query=question)

    for i in range(1, len(output['results'])):
        print("Value at  " + str(i))
        print(output["results"][i])

    return None


def rs_pipeline(question):
    '''
    Defines a pipeline of retriever and summarizer and generates output for the given question
    '''

    retriever = retriever1()
    summarizer = summarize()

    # Get top 10 results from the retriever and summarize them
    pipeline = SearchSummarizationPipeline(summarizer=summarizer, retriever=retriever)
    result = pipeline.run(query=question, params={"Retriever": {"top_k": 5}})

    output = ''
    for i in range(len(result['documents'])):
        output += result['documents'][i].meta['summary']

    # print(output)
    
    return output