File size: 1,219 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
37
38
39
40
41
42
import os
import openai
from dotenv import load_dotenv
from index import IndexSearchEngine
from gpt_3_manager import Gpt3Manager
from prompt import QuestionAnsweringPrompt, PassageSummarizationPrompt


load_dotenv()

OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")

openai.api_key = OPENAI_API_KEY


class ChatBot:
    def __init__(self, index_search_engine: IndexSearchEngine):
        self.index_search_engine = index_search_engine

    def ask(self, question):
        search_result = self.index_search_engine.search(question=question)

        answers = []
        for result in search_result:
            print("iterating over answering questions")

            question_answering_prompt = QuestionAnsweringPrompt.load(
                "prompts\question_answering.txt"
            )

            answer = Gpt3Manager.get_completion(
                prompt=question_answering_prompt, max_tokens=80, model="text-curie-001"
            )
            answers.append(answer)

        passage_summarization_prompt = PassageSummarizationPrompt.load(
            "prompts\passage_summarization.txt"
        )

        final_answer = Gpt3Manager.get_completion(prompt=passage_summarization_prompt)
        return final_answer