File size: 856 Bytes
5a1b165
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from abc import ABC, abstractmethod


class Prompt(ABC):
    def load_prompt(path):
        with open(path) as f:
            lines = f.readlines()
            return "".join(lines)

    @abstractmethod
    def load(self, path):
        pass


class QuestionAnsweringPrompt(Prompt):
    def __init__(self, result, question):
        result = result
        question = question

    def load(self, path):
        prompt = (
            self.load_prompt(path)
            .replace("<<PASSAGE>>", self.result["index"]["content"])
            .replace("<<QUESTION>>", self.question)
        )
        return prompt


class PassageSummarizationPrompt(Prompt):
    def __init__(self, answers):
        self.answers = answers

    def load(self, path):
        prompt = self.load_prompt(path).replace("<<PASSAGE>>", "\n".join(self.answers))
        return prompt