hf-qa-demo / api /__main__.py
KonradSzafer's picture
initial commit
c69cba4
raw
history blame
No virus
1.08 kB
import uvicorn
from fastapi import FastAPI
from qa_engine import logger, Config, QAEngine
config = Config()
app = FastAPI()
qa_engine = QAEngine(
llm_model_id=config.question_answering_model_id,
embedding_model_id=config.embedding_model_id,
index_repo_id=config.index_repo_id,
prompt_template=config.prompt_template,
use_docs_for_context=config.use_docs_for_context,
num_relevant_docs=config.num_relevant_docs,
add_sources_to_response=config.add_sources_to_response,
use_messages_for_context=config.use_messages_in_context,
debug=config.debug
)
@app.get('/')
def get_answer(question: str, messages_context: str = ''):
logger.info(
f'Received request with question: {question}' \
f'and context: {messages_context}'
)
response = qa_engine.get_response(
question=question,
messages_context=messages_context
)
return {
'answer': response.get_answer(),
'sources': response.get_sources_as_text()
}
if __name__ == '__main__':
uvicorn.run(app, host='0.0.0.0', port=8000)