Spaces:
Runtime error
Runtime error
from typing import List | |
class Response: | |
def __init__(self): | |
self.answer = '' | |
self.sources = [] | |
def set_answer(self, answer: str) -> None: | |
self.answer = answer | |
def set_sources(self, sources: List) -> None: | |
self.sources = list(set(map(str, sources))) | |
def get_sources(self) -> List[str]: | |
return self.sources | |
def get_sources_as_text(self) -> str: | |
if not self.sources: | |
return '' | |
sources_text = '\n\nSources:' | |
for i, (source) in enumerate(self.sources): | |
sources_text += f'\n [{i+1}] {source}' | |
return sources_text | |
def get_answer(self, include_sources: bool = False) -> str: | |
answer = self.answer | |
if include_sources: | |
answer += self.get_sources_as_text() | |
return answer | |
def __str__(self): | |
return self.get_answer(include_sources=True) | |