papers_rag.app ============== .. py:module:: papers_rag.app .. autoapi-nested-parse:: Streamlit query chat over the local papers Chroma index. Attributes ---------- .. autoapisummary:: papers_rag.app.MESSAGES_STATE_KEY papers_rag.app.STRATEGY_STATE_KEY Classes ------- .. autoapisummary:: papers_rag.app.ChatRole papers_rag.app.ChatMessageKey Functions --------- .. autoapisummary:: papers_rag.app.main papers_rag.app.run Module Contents --------------- .. py:class:: ChatRole Bases: :py:obj:`enum.StrEnum` Roles stored in the Streamlit chat transcript. .. py:attribute:: USER :value: 'user' .. py:attribute:: ASSISTANT :value: 'assistant' .. py:class:: ChatMessageKey Bases: :py:obj:`enum.StrEnum` Keys on each message dict in ``st.session_state``. .. py:attribute:: ROLE :value: 'role' .. py:attribute:: CONTENT :value: 'content' .. py:attribute:: CITATIONS :value: 'citations' .. py:data:: MESSAGES_STATE_KEY :type: Final :value: 'messages' .. py:data:: STRATEGY_STATE_KEY :type: Final :value: 'rag_strategy' .. py:function:: main() -> None Render the Papers RAG chat UI. .. py:function:: run() -> None Launch Streamlit for the papers chat (console script ``papers-rag``). Extra CLI args after ``papers-rag`` are forwarded to ``streamlit run``.