Spaces:
Runtime error
Runtime error
| import chainlit as cl | |
| import logging | |
| import sys | |
| _logger = logging.getLogger("lang-chat") | |
| from langchain_core.prompts import ChatPromptTemplate | |
| from langchain_core.vectorstores import VectorStore | |
| from langchain_core.runnables.base import RunnableSequence | |
| from globals import ( | |
| DEFAULT_QUESTION1, | |
| DEFAULT_QUESTION2, | |
| gpt35_model, | |
| gpt4_model | |
| ) | |
| from semantic import ( | |
| SemanticRAGChainFactory | |
| ) | |
| _semantic_rag_chain: RunnableSequence = None | |
| async def main(message: cl.Message): | |
| content = "" | |
| try: | |
| response = _semantic_rag_chain.invoke({"question": message.content}) | |
| content += response["response"].content | |
| except Exception as e: | |
| _logger.error(f"chat error: {e}: {vars(_semantic_rag_chain)}") | |
| # Send a response back to the user | |
| await cl.Message( | |
| content=f"{content}", | |
| ).send() | |
| async def start(): | |
| global _semantic_rag_chain | |
| _semantic_rag_chain = SemanticRAGChainFactory.get_semantic_rag_chain() | |
| await cl.Avatar( | |
| name="Chatbot", | |
| url="https://cdn-icons-png.flaticon.com/512/8649/8649595.png" | |
| ).send() | |
| await cl.Avatar( | |
| name="User", | |
| url="https://media.architecturaldigest.com/photos/5f241de2c850b2a36b415024/master/w_1600%2Cc_limit/Luke-logo.png" | |
| ).send() | |
| cl.user_session.set("message_history", [{"role": "system", "content": "You are a helpful assistant. "}]) | |
| await cl.Message( | |
| content="How can I help you with Meta's 2023 10K?" | |
| ).send() | |
| _logger.info(f"{20 * '*'}") | |
| # --------- For testing --------- | |
| # content = "" | |
| # if _semantic_rag_chain is not None: | |
| # try: | |
| # response1 = _semantic_rag_chain.invoke({"question": DEFAULT_QUESTION1}) | |
| # response2 = _semantic_rag_chain.invoke({"question": DEFAULT_QUESTION2}) | |
| # content = ( | |
| # f"**Question**: {DEFAULT_QUESTION1}\n\n" | |
| # f"{response1['response'].content}\n\n" | |
| # f"**Question**: {DEFAULT_QUESTION2}\n\n" | |
| # f"{response2['response'].content}\n\n" | |
| # ) | |
| # except Exception as e: | |
| # _logger.error(f"init error: {e}") |