Spaces:
Paused
Paused
| 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 | |
| ) | |
| 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) | |