ChatLiterature / hay /pipeline.py
carbonnnnn's picture
First version
8677815
raw
history blame
1.32 kB
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