zinoubm's picture
refactoring the code on the SOLID principles
5a1b165
raw
history blame
1.22 kB
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