aiagents4pharma 1.39.0__tar.gz → 1.39.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/PKG-INFO +58 -105
  2. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/README.md +57 -104
  3. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/agents/main_agent.py +7 -7
  4. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/main_agent/default.yaml +98 -0
  5. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/paper_download_agent/default.yaml +5 -0
  6. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/pdf_agent/default.yaml +5 -0
  7. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/s2_agent/default.yaml +5 -0
  8. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/zotero_agent/default.yaml +9 -0
  9. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/configs/tools/download_arxiv_paper/default.yaml +4 -0
  10. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/configs/tools/download_biorxiv_paper/default.yaml +2 -0
  11. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/configs/tools/download_medrxiv_paper/default.yaml +2 -0
  12. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/configs/tools/question_and_answer/default.yaml +22 -0
  13. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_main_agent.py +20 -2
  14. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tests/test_nvidia_nim_reranker_utils.py +28 -0
  15. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_paper_download_tools.py +107 -29
  16. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_pdf_agent.py +2 -3
  17. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tests/test_question_and_answer_tool.py +529 -0
  18. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_s2_agent.py +2 -2
  19. aiagents4pharma-1.39.0/aiagents4pharma/talk2scholars/tests/test_s2_display.py → aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tests/test_s2_display_dataframe.py +2 -3
  20. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tests/test_s2_query_dataframe.py +201 -0
  21. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_s2_retrieve.py +7 -6
  22. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tests/test_s2_utils_ext_ids.py +413 -0
  23. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tests/test_tool_helper_utils.py +140 -0
  24. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_zotero_agent.py +0 -1
  25. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_zotero_read.py +16 -18
  26. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tools/paper_download/download_arxiv_input.py +177 -0
  27. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tools/pdf/question_and_answer.py +140 -0
  28. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tools/pdf/utils/__init__.py +10 -0
  29. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tools/pdf/utils/generate_answer.py +97 -0
  30. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tools/pdf/utils/nvidia_nim_reranker.py +77 -0
  31. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tools/pdf/utils/retrieve_chunks.py +83 -0
  32. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tools/pdf/utils/tool_helper.py +125 -0
  33. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tools/pdf/utils/vector_store.py +162 -0
  34. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/s2/display_dataframe.py +33 -10
  35. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tools/s2/multi_paper_rec.py +107 -0
  36. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tools/s2/query_dataframe.py +189 -0
  37. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tools/s2/retrieve_semantic_scholar_paper_id.py +111 -0
  38. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tools/s2/search.py +101 -0
  39. aiagents4pharma-1.39.2/aiagents4pharma/talk2scholars/tools/s2/single_paper_rec.py +100 -0
  40. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/s2/utils/multi_helper.py +49 -16
  41. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/s2/utils/search_helper.py +51 -16
  42. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/s2/utils/single_helper.py +50 -17
  43. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma.egg-info/PKG-INFO +58 -105
  44. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma.egg-info/SOURCES.txt +17 -4
  45. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/pyproject.toml +9 -3
  46. aiagents4pharma-1.39.2/release_version.txt +1 -0
  47. aiagents4pharma-1.39.0/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/main_agent/default.yaml +0 -22
  48. aiagents4pharma-1.39.0/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/s2_agent/default.yaml +0 -24
  49. aiagents4pharma-1.39.0/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/zotero_agent/default.yaml +0 -34
  50. aiagents4pharma-1.39.0/aiagents4pharma/talk2scholars/tests/test_llm_main_integration.py +0 -89
  51. aiagents4pharma-1.39.0/aiagents4pharma/talk2scholars/tests/test_question_and_answer_tool.py +0 -878
  52. aiagents4pharma-1.39.0/aiagents4pharma/talk2scholars/tests/test_routing_logic.py +0 -74
  53. aiagents4pharma-1.39.0/aiagents4pharma/talk2scholars/tests/test_s2_query.py +0 -95
  54. aiagents4pharma-1.39.0/aiagents4pharma/talk2scholars/tools/paper_download/download_arxiv_input.py +0 -122
  55. aiagents4pharma-1.39.0/aiagents4pharma/talk2scholars/tools/pdf/question_and_answer.py +0 -642
  56. aiagents4pharma-1.39.0/aiagents4pharma/talk2scholars/tools/s2/multi_paper_rec.py +0 -84
  57. aiagents4pharma-1.39.0/aiagents4pharma/talk2scholars/tools/s2/query_dataframe.py +0 -75
  58. aiagents4pharma-1.39.0/aiagents4pharma/talk2scholars/tools/s2/retrieve_semantic_scholar_paper_id.py +0 -79
  59. aiagents4pharma-1.39.0/aiagents4pharma/talk2scholars/tools/s2/search.py +0 -78
  60. aiagents4pharma-1.39.0/aiagents4pharma/talk2scholars/tools/s2/single_paper_rec.py +0 -82
  61. aiagents4pharma-1.39.0/release_version.txt +0 -1
  62. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/LICENSE +0 -0
  63. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/__init__.py +0 -0
  64. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2aiagents4pharma/__init__.py +0 -0
  65. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2aiagents4pharma/agents/__init__.py +0 -0
  66. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2aiagents4pharma/agents/main_agent.py +0 -0
  67. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2aiagents4pharma/configs/__init__.py +0 -0
  68. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2aiagents4pharma/configs/agents/__init__.py +0 -0
  69. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2aiagents4pharma/configs/agents/main_agent/default.yaml +0 -0
  70. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2aiagents4pharma/configs/config.yaml +0 -0
  71. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2aiagents4pharma/states/__init__.py +0 -0
  72. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2aiagents4pharma/states/state_talk2aiagents4pharma.py +0 -0
  73. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2aiagents4pharma/tests/__init__.py +0 -0
  74. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2aiagents4pharma/tests/test_main_agent.py +0 -0
  75. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/__init__.py +0 -0
  76. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/agents/__init__.py +0 -0
  77. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/agents/t2b_agent.py +0 -0
  78. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/api/__init__.py +0 -0
  79. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/api/kegg.py +0 -0
  80. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/api/ols.py +0 -0
  81. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/api/uniprot.py +0 -0
  82. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/configs/__init__.py +0 -0
  83. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/configs/agents/__init__.py +0 -0
  84. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/configs/agents/t2b_agent/__init__.py +0 -0
  85. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/configs/agents/t2b_agent/default.yaml +0 -0
  86. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/configs/config.yaml +0 -0
  87. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/configs/tools/__init__.py +0 -0
  88. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/configs/tools/ask_question/__init__.py +0 -0
  89. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/configs/tools/ask_question/default.yaml +0 -0
  90. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/configs/tools/custom_plotter/__init__.py +0 -0
  91. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/configs/tools/custom_plotter/default.yaml +0 -0
  92. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/configs/tools/get_annotation/__init__.py +0 -0
  93. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/configs/tools/get_annotation/default.yaml +0 -0
  94. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/models/__init__.py +0 -0
  95. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/models/basico_model.py +0 -0
  96. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/models/sys_bio_model.py +0 -0
  97. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/states/__init__.py +0 -0
  98. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/states/state_talk2biomodels.py +0 -0
  99. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tests/__init__.py +0 -0
  100. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tests/test_api.py +0 -0
  101. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tests/test_ask_question.py +0 -0
  102. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tests/test_basico_model.py +0 -0
  103. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tests/test_get_annotation.py +0 -0
  104. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tests/test_getmodelinfo.py +0 -0
  105. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tests/test_integration.py +0 -0
  106. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tests/test_load_biomodel.py +0 -0
  107. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tests/test_param_scan.py +0 -0
  108. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tests/test_query_article.py +0 -0
  109. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tests/test_search_models.py +0 -0
  110. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tests/test_simulate_model.py +0 -0
  111. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tests/test_steady_state.py +0 -0
  112. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tests/test_sys_bio_model.py +0 -0
  113. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tools/__init__.py +0 -0
  114. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tools/ask_question.py +0 -0
  115. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tools/custom_plotter.py +0 -0
  116. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tools/get_annotation.py +0 -0
  117. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tools/get_modelinfo.py +0 -0
  118. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tools/load_arguments.py +0 -0
  119. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tools/load_biomodel.py +0 -0
  120. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tools/parameter_scan.py +0 -0
  121. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tools/query_article.py +0 -0
  122. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tools/search_models.py +0 -0
  123. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tools/simulate_model.py +0 -0
  124. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tools/steady_state.py +0 -0
  125. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2biomodels/tools/utils.py +0 -0
  126. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2cells/__init__.py +0 -0
  127. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2cells/agents/__init__.py +0 -0
  128. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2cells/agents/scp_agent.py +0 -0
  129. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2cells/states/__init__.py +0 -0
  130. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2cells/states/state_talk2cells.py +0 -0
  131. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2cells/tests/scp_agent/test_scp_agent.py +0 -0
  132. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2cells/tools/__init__.py +0 -0
  133. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2cells/tools/scp_agent/__init__.py +0 -0
  134. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2cells/tools/scp_agent/display_studies.py +0 -0
  135. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2cells/tools/scp_agent/search_studies.py +0 -0
  136. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/__init__.py +0 -0
  137. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/agents/__init__.py +0 -0
  138. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/agents/t2kg_agent.py +0 -0
  139. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/configs/__init__.py +0 -0
  140. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/configs/agents/t2kg_agent/__init__.py +0 -0
  141. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/configs/agents/t2kg_agent/default.yaml +0 -0
  142. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/configs/app/__init__.py +0 -0
  143. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/configs/app/frontend/__init__.py +0 -0
  144. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/configs/app/frontend/default.yaml +0 -0
  145. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/configs/config.yaml +0 -0
  146. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/configs/tools/__init__.py +0 -0
  147. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/configs/tools/graphrag_reasoning/__init__.py +0 -0
  148. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/configs/tools/graphrag_reasoning/default.yaml +0 -0
  149. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/configs/tools/multimodal_subgraph_extraction/__init__.py +0 -0
  150. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/configs/tools/subgraph_extraction/__init__.py +0 -0
  151. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/configs/tools/subgraph_extraction/default.yaml +0 -0
  152. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/configs/tools/subgraph_summarization/__init__.py +0 -0
  153. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/configs/tools/subgraph_summarization/default.yaml +0 -0
  154. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/datasets/__init__.py +0 -0
  155. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/datasets/biobridge_primekg.py +0 -0
  156. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/datasets/dataset.py +0 -0
  157. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/datasets/primekg.py +0 -0
  158. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/datasets/starkqa_primekg.py +0 -0
  159. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/states/__init__.py +0 -0
  160. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/states/state_talk2knowledgegraphs.py +0 -0
  161. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/__init__.py +0 -0
  162. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_agents_t2kg_agent.py +0 -0
  163. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_datasets_biobridge_primekg.py +0 -0
  164. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_datasets_dataset.py +0 -0
  165. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_datasets_primekg.py +0 -0
  166. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_datasets_starkqa_primekg.py +0 -0
  167. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_tools_graphrag_reasoning.py +0 -0
  168. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_tools_multimodal_subgraph_extraction.py +0 -0
  169. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_tools_subgraph_extraction.py +0 -0
  170. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_tools_subgraph_summarization.py +0 -0
  171. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_embeddings_embeddings.py +0 -0
  172. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_embeddings_huggingface.py +0 -0
  173. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_embeddings_nim_molmim.py +0 -0
  174. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_embeddings_ollama.py +0 -0
  175. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_embeddings_sentencetransformer.py +0 -0
  176. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_enrichments.py +0 -0
  177. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_ollama.py +0 -0
  178. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_ols.py +0 -0
  179. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_pubchem.py +0 -0
  180. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_reactome.py +0 -0
  181. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_uniprot.py +0 -0
  182. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_kg_utils.py +0 -0
  183. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_pubchem_utils.py +0 -0
  184. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tools/__init__.py +0 -0
  185. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tools/graphrag_reasoning.py +0 -0
  186. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tools/load_arguments.py +0 -0
  187. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tools/multimodal_subgraph_extraction.py +0 -0
  188. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tools/subgraph_extraction.py +0 -0
  189. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/tools/subgraph_summarization.py +0 -0
  190. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/__init__.py +0 -0
  191. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/embeddings/__init__.py +0 -0
  192. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/embeddings/embeddings.py +0 -0
  193. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/embeddings/huggingface.py +0 -0
  194. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/embeddings/nim_molmim.py +0 -0
  195. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/embeddings/ollama.py +0 -0
  196. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/embeddings/sentence_transformer.py +0 -0
  197. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/enrichments/__init__.py +0 -0
  198. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/enrichments/enrichments.py +0 -0
  199. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/enrichments/ollama.py +0 -0
  200. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/enrichments/ols_terms.py +0 -0
  201. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/enrichments/pubchem_strings.py +0 -0
  202. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/enrichments/reactome_pathways.py +0 -0
  203. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/enrichments/uniprot_proteins.py +0 -0
  204. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/extractions/__init__.py +0 -0
  205. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/extractions/multimodal_pcst.py +0 -0
  206. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/extractions/pcst.py +0 -0
  207. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/kg_utils.py +0 -0
  208. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2knowledgegraphs/utils/pubchem_utils.py +0 -0
  209. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/__init__.py +0 -0
  210. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/agents/__init__.py +0 -0
  211. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/agents/paper_download_agent.py +0 -0
  212. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/agents/pdf_agent.py +0 -0
  213. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/agents/s2_agent.py +0 -0
  214. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/agents/zotero_agent.py +0 -0
  215. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/__init__.py +0 -0
  216. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/agents/__init__.py +0 -0
  217. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/__init__.py +0 -0
  218. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/main_agent/__init__.py +0 -0
  219. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/paper_download_agent/__init__.py +0 -0
  220. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/pdf_agent/__init__.py +0 -0
  221. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/s2_agent/__init__.py +0 -0
  222. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/zotero_agent/__init__.py +0 -0
  223. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/app/__init__.py +0 -0
  224. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/app/frontend/__init__.py +0 -0
  225. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/app/frontend/default.yaml +0 -0
  226. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/config.yaml +0 -0
  227. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/__init__.py +0 -0
  228. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/download_arxiv_paper/__init__.py +0 -0
  229. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/download_biorxiv_paper/__init__.py +0 -0
  230. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/download_medrxiv_paper/__init__.py +0 -0
  231. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/multi_paper_recommendation/__init__.py +0 -0
  232. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/multi_paper_recommendation/default.yaml +0 -0
  233. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/question_and_answer/__init__.py +0 -0
  234. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/retrieve_semantic_scholar_paper_id/__init__.py +0 -0
  235. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/retrieve_semantic_scholar_paper_id/default.yaml +0 -0
  236. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/search/__init__.py +0 -0
  237. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/search/default.yaml +0 -0
  238. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/single_paper_recommendation/__init__.py +0 -0
  239. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/single_paper_recommendation/default.yaml +0 -0
  240. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/zotero_read/__init__.py +0 -0
  241. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/zotero_read/default.yaml +0 -0
  242. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/zotero_write/__inti__.py +0 -0
  243. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/configs/tools/zotero_write/default.yaml +0 -0
  244. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/state/__init__.py +0 -0
  245. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/state/state_talk2scholars.py +0 -0
  246. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/__init__.py +0 -0
  247. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_paper_download_agent.py +0 -0
  248. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_paper_download_biorxiv.py +0 -0
  249. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_paper_download_medrxiv.py +0 -0
  250. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_read_helper_utils.py +0 -0
  251. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_s2_multi.py +0 -0
  252. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_s2_search.py +0 -0
  253. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_s2_single.py +0 -0
  254. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_state.py +0 -0
  255. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_zotero_human_in_the_loop.py +0 -0
  256. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_zotero_path.py +0 -0
  257. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_zotero_pdf_downloader_utils.py +0 -0
  258. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tests/test_zotero_write.py +0 -0
  259. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/__init__.py +0 -0
  260. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/paper_download/__init__.py +0 -0
  261. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/paper_download/download_biorxiv_input.py +0 -0
  262. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/paper_download/download_medrxiv_input.py +0 -0
  263. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/pdf/__init__.py +0 -0
  264. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/s2/__init__.py +0 -0
  265. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/s2/utils/__init__.py +0 -0
  266. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/zotero/__init__.py +0 -0
  267. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/zotero/utils/__init__.py +0 -0
  268. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/zotero/utils/read_helper.py +0 -0
  269. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/zotero/utils/review_helper.py +0 -0
  270. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/zotero/utils/write_helper.py +0 -0
  271. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/zotero/utils/zotero_path.py +0 -0
  272. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/zotero/utils/zotero_pdf_downloader.py +0 -0
  273. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/zotero/zotero_read.py +0 -0
  274. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/zotero/zotero_review.py +0 -0
  275. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma/talk2scholars/tools/zotero/zotero_write.py +0 -0
  276. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma.egg-info/dependency_links.txt +0 -0
  277. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma.egg-info/requires.txt +0 -0
  278. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/aiagents4pharma.egg-info/top_level.txt +0 -0
  279. {aiagents4pharma-1.39.0 → aiagents4pharma-1.39.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiagents4pharma
3
- Version: 1.39.0
3
+ Version: 1.39.2
4
4
  Summary: AI Agents for drug discovery, drug development, and other pharmaceutical R&D.
5
5
  Classifier: Programming Language :: Python :: 3
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -96,10 +96,10 @@ Our toolkit currently consists of the following agents:
96
96
  - T2B and T2KG accepted at the MLGenX workshop during ICLR #2025 in Singapore. [Read More](https://openreview.net/forum?id=av4QhBNeZo)
97
97
 
98
98
  <div align="center">
99
- <strong>Watch the presentation:</strong><br><br>
100
- <a href="https://www.youtube.com/watch?v=3cU_OxY4HiE">
101
- <img src="https://img.youtube.com/vi/3cU_OxY4HiE/0.jpg" alt="Watch the presentation" width="480">
102
- </a>
99
+ <strong>Watch the presentation:</strong><br><br>
100
+ <a href="https://www.youtube.com/watch?v=3cU_OxY4HiE">
101
+ <img src="https://img.youtube.com/vi/3cU_OxY4HiE/0.jpg" alt="Watch the presentation" width="480">
102
+ </a>
103
103
  </div>
104
104
 
105
105
  ## Getting Started
@@ -145,117 +145,62 @@ LANGCHAIN_TRACING_V2=true # Optional for both agents
145
145
  LANGCHAIN_API_KEY=... # Optional for both agents
146
146
  ```
147
147
 
148
- To use **Talk2AIAgents4Pharma** or **Talk2KnowledgeGraphs**, you need a free **NVIDIA API key**. Create an account and apply for free credits [here](https://build.nvidia.com/explore/discover).
149
-
150
- ###### Notes for Windows Users
151
-
152
- If you are using Windows, it is recommended to install **Git Bash** for a smoother experience when running the bash commands in this guide.
153
-
154
- - For applications that use **Docker Compose**, Git Bash is **required**.
155
- - For applications that use **docker run** manually, Git Bash is **optional**, but recommended for consistency.
156
-
157
- You can download Git Bash here: [Git for Windows](https://git-scm.com/downloads).
158
-
159
- When using Docker on Windows, make sure you **run Docker with administrative privileges** if you face permission issues.
160
-
161
- To resolve for permission issues, you can:
162
-
163
- - Review the official Docker documentation on [Windows permission requirements](https://docs.docker.com/desktop/setup/install/windows-permission-requirements/).
164
- - Alternatively, follow the community discussion and solutions on [Docker Community Forums](https://forums.docker.com/t/error-when-trying-to-run-windows-containers-docker-client-must-be-run-with-elevated-privileges/136619).
165
-
166
- **LangSmith** support is optional. To enable it, create an API key [here](https://docs.smith.langchain.com/administration/how_to_guides/organization_management/create_account_api_key).
148
+ [Additional Notes for Windows Users](https://github.com/VirtualPatientEngine/AIAgents4Pharma/blob/main/aiagents4pharma/talk2aiagents4pharma/install.md#notes-for-windows-users)
167
149
 
168
150
  ##### **3. Start the application**
169
151
 
170
- Run the startup script. It will:
171
-
172
- - Detect your hardware configuration (NVIDIA GPU, AMD GPU, or CPU). Apple Metal is unavailable inside Docker, and Intel SIMD optimizations are automatically handled without special configuration.
173
- - Choose the correct Ollama image (`latest` or `rocm`)
174
- - Launch the Ollama container with appropriate runtime settings
175
- - Pull the required embedding model (`nomic-embed-text`)
176
- - Start the agent **after the model is available**
177
-
178
152
  ```sh
179
153
  chmod +x startup.sh
180
154
  ./startup.sh # Add --cpu flag to force CPU mode if needed
181
155
  ```
182
156
 
183
- ##### **4. Access the Web UI**
184
-
185
- Once started, the agent is available at:
186
-
187
- ```
188
- http://localhost:8501
189
- ```
157
+ [More about startup script](https://github.com/VirtualPatientEngine/AIAgents4Pharma/blob/main/aiagents4pharma/talk2aiagents4pharma/install.md#about-startupsh)
190
158
 
191
159
  ##### **To Run Talk2Biomodels / Talk2Scholars**
192
160
 
193
- 1. **Run the containers**
194
-
195
161
  ###### Talk2Biomodels
196
162
 
197
163
  ```docker
198
164
  docker run -d \
199
- --name talk2biomodels \
200
- -e OPENAI_API_KEY=<your_openai_api_key> \
201
- -e NVIDIA_API_KEY=<your_nvidia_api_key> \
202
- -p 8501:8501 \
203
- virtualpatientengine/talk2biomodels
165
+ --name talk2biomodels \
166
+ -e OPENAI_API_KEY=<your_openai_api_key> \
167
+ -e NVIDIA_API_KEY=<your_nvidia_api_key> \
168
+ -p 8501:8501 \
169
+ virtualpatientengine/talk2biomodels
204
170
  ```
205
171
 
206
172
  ###### Talk2Scholars
207
173
 
208
174
  ```docker
209
175
  docker run -d \
210
- --name talk2scholars \
211
- -e OPENAI_API_KEY=<your_openai_api_key> \
212
- -e ZOTERO_API_KEY=<your_zotero_api_key> \
213
- -e ZOTERO_USER_ID=<your_zotero_user_id> \
214
- -e NVIDIA_API_KEY=<your_nvidia_api_key> \
215
- -p 8501:8501 \
216
- virtualpatientengine/talk2scholars
176
+ --name talk2scholars \
177
+ -e OPENAI_API_KEY=<your_openai_api_key> \
178
+ -e ZOTERO_API_KEY=<your_zotero_api_key> \
179
+ -e ZOTERO_USER_ID=<your_zotero_user_id> \
180
+ -e NVIDIA_API_KEY=<your_nvidia_api_key> \
181
+ -p 8501:8501 \
182
+ virtualpatientengine/talk2scholars
217
183
  ```
218
184
 
219
- 2. **Access the Web App**
220
- Open your browser and go to:
185
+ ##### **4. Access the Web UI**
186
+
187
+ Once started, the agent is available at:
188
+
189
+ ```
190
+ http://localhost:8501
191
+ ```
221
192
 
222
- ```
223
- http://localhost:8501
224
- ```
193
+ To use **Talk2AIAgents4Pharma** or **Talk2KnowledgeGraphs**, you need a free **NVIDIA API key**. Create an account and apply for free credits [here](https://build.nvidia.com/explore/discover).
225
194
 
226
195
  To use **Talk2BioModels** or **Talk2Scholars**, you need a free **NVIDIA API key**. Create an account and apply for free credits [here](https://build.nvidia.com/explore/discover).
227
196
 
228
197
  Only for **Talk2Scholars**, you also need a **Zotero API key**, which you can generate [here](https://www.zotero.org/user/login#applications). _(For all other agents, the Zotero key is not required.)_
229
198
 
230
- If you are using docker on Windows, please follow these [Windows Setup Notes](#notes-for-windows-users).
199
+ If you are using docker on Windows, please follow these [Windows Setup Notes](https://github.com/VirtualPatientEngine/AIAgents4Pharma/blob/main/aiagents4pharma/talk2aiagents4pharma/install.md#notes-for-windows-users).
231
200
 
232
201
  **LangSmith** support is optional. To enable it, create an API key [here](https://docs.smith.langchain.com/administration/how_to_guides/organization_management/create_account_api_key).
233
202
 
234
- #### Notes
235
-
236
- - Be sure to **replace the placeholder values** with your actual credentials before running any container:
237
-
238
- - `<your_openai_api_key>`
239
- - `<your_nvidia_api_key>`
240
- - `<your_zotero_api_key>`
241
- - `<your_zotero_user_id>`
242
-
243
- - All agents default to **port `8501`**. If you plan to run multiple agents simultaneously, make sure to assign **different ports** to avoid conflicts.
244
-
245
- Example (Talk2Scholars on port `8502`):
246
-
247
- ```docker
248
- docker run -d \
249
- --name talk2scholars \
250
- -e OPENAI_API_KEY=<your_openai_api_key> \
251
- -e ZOTERO_API_KEY=<your_zotero_api_key> \
252
- -e ZOTERO_USER_ID=<your_zotero_user_id> \
253
- -e NVIDIA_API_KEY=<your_nvidia_api_key> \
254
- -p 8502:8501 \
255
- virtualpatientengine/talk2scholars
256
- ```
257
-
258
- Then access the app at: [http://localhost:8502](http://localhost:8502)
203
+ [More on running multiple agents simultaneously](https://github.com/VirtualPatientEngine/AIAgents4Pharma/blob/main/aiagents4pharma/talk2aiagents4pharma/install.md#to-run-multiple-agents-simultaneously)
259
204
 
260
205
  #### Option 2: git (for developers and contributors)
261
206
 
@@ -278,14 +223,14 @@ conda create --name AIAgents4Pharma python=3.12 -y && conda activate AIAgents4Ph
278
223
 
279
224
  3. **Initialize API Keys**
280
225
 
281
- ```env
282
- export OPENAI_API_KEY=.... # Required for all agents
283
- export NVIDIA_API_KEY=.... # Required for all agents
284
- export ZOTERO_API_KEY=.... # Required for T2S
285
- export ZOTERO_USER_ID=.... # Required for T2S
286
- export LANGCHAIN_TRACING_V2=true # Optional for all agents
287
- export LANGCHAIN_API_KEY=... # Optional for all agents
288
- ```
226
+ ```env
227
+ export OPENAI_API_KEY=.... # Required for all agents
228
+ export NVIDIA_API_KEY=.... # Required for all agents
229
+ export ZOTERO_API_KEY=.... # Required for T2S
230
+ export ZOTERO_USER_ID=.... # Required for T2S
231
+ export LANGCHAIN_TRACING_V2=true # Optional for all agents
232
+ export LANGCHAIN_API_KEY=... # Optional for all agents
233
+ ```
289
234
 
290
235
  To use **Talk2AIAgents4Pharma**, **Talk2BioModels**, **Talk2KnowledgeGraphs**, or **Talk2Scholars**, you need a free **NVIDIA API key**. Create an account and apply for free credits [here](https://build.nvidia.com/explore/discover).
291
236
 
@@ -315,10 +260,12 @@ If you skip the previous step, it will default to the name `default`.
315
260
  `xxxx` will be the 4-digit ID created for the session._
316
261
 
317
262
  4. **Launch the app:**
318
- ```sh
319
- streamlit run app/frontend/streamlit_app_<agent>.py
320
- ```
321
- _Replace `<agent>` with the agent name you are interested to launch:_
263
+
264
+ ```sh
265
+ streamlit run app/frontend/streamlit_app_<agent>.py
266
+ ```
267
+
268
+ _Replace `<agent>` with the agent name you are interested to launch:_
322
269
 
323
270
  - `talk2aiagents4pharma`
324
271
  - `talk2biomodels`
@@ -348,17 +295,23 @@ All types of contributions are appreciated — whether you're fixing bugs, addin
348
295
  1. Star this repository to show your support.
349
296
  2. Fork the repository.
350
297
  3. Create a new branch for your work:
351
- ```sh
352
- git checkout -b feat/your-feature-name
353
- ```
298
+
299
+ ```sh
300
+ git checkout -b feat/your-feature-name
301
+ ```
302
+
354
303
  4. Make your changes and commit them:
355
- ```sh
356
- git commit -m "feat: add a brief description of your change"
357
- ```
304
+
305
+ ```sh
306
+ git commit -m "feat: add a brief description of your change"
307
+ ```
308
+
358
309
  5. Push your branch:
359
- ```sh
360
- git push origin feat/your-feature-name
361
- ```
310
+
311
+ ```sh
312
+ git push origin feat/your-feature-name
313
+ ```
314
+
362
315
  6. Open a Pull Request.
363
316
 
364
317
  #### Areas where you can help
@@ -29,10 +29,10 @@ Our toolkit currently consists of the following agents:
29
29
  - T2B and T2KG accepted at the MLGenX workshop during ICLR #2025 in Singapore. [Read More](https://openreview.net/forum?id=av4QhBNeZo)
30
30
 
31
31
  <div align="center">
32
- <strong>Watch the presentation:</strong><br><br>
33
- <a href="https://www.youtube.com/watch?v=3cU_OxY4HiE">
34
- <img src="https://img.youtube.com/vi/3cU_OxY4HiE/0.jpg" alt="Watch the presentation" width="480">
35
- </a>
32
+ <strong>Watch the presentation:</strong><br><br>
33
+ <a href="https://www.youtube.com/watch?v=3cU_OxY4HiE">
34
+ <img src="https://img.youtube.com/vi/3cU_OxY4HiE/0.jpg" alt="Watch the presentation" width="480">
35
+ </a>
36
36
  </div>
37
37
 
38
38
  ## Getting Started
@@ -78,117 +78,62 @@ LANGCHAIN_TRACING_V2=true # Optional for both agents
78
78
  LANGCHAIN_API_KEY=... # Optional for both agents
79
79
  ```
80
80
 
81
- To use **Talk2AIAgents4Pharma** or **Talk2KnowledgeGraphs**, you need a free **NVIDIA API key**. Create an account and apply for free credits [here](https://build.nvidia.com/explore/discover).
82
-
83
- ###### Notes for Windows Users
84
-
85
- If you are using Windows, it is recommended to install **Git Bash** for a smoother experience when running the bash commands in this guide.
86
-
87
- - For applications that use **Docker Compose**, Git Bash is **required**.
88
- - For applications that use **docker run** manually, Git Bash is **optional**, but recommended for consistency.
89
-
90
- You can download Git Bash here: [Git for Windows](https://git-scm.com/downloads).
91
-
92
- When using Docker on Windows, make sure you **run Docker with administrative privileges** if you face permission issues.
93
-
94
- To resolve for permission issues, you can:
95
-
96
- - Review the official Docker documentation on [Windows permission requirements](https://docs.docker.com/desktop/setup/install/windows-permission-requirements/).
97
- - Alternatively, follow the community discussion and solutions on [Docker Community Forums](https://forums.docker.com/t/error-when-trying-to-run-windows-containers-docker-client-must-be-run-with-elevated-privileges/136619).
98
-
99
- **LangSmith** support is optional. To enable it, create an API key [here](https://docs.smith.langchain.com/administration/how_to_guides/organization_management/create_account_api_key).
81
+ [Additional Notes for Windows Users](https://github.com/VirtualPatientEngine/AIAgents4Pharma/blob/main/aiagents4pharma/talk2aiagents4pharma/install.md#notes-for-windows-users)
100
82
 
101
83
  ##### **3. Start the application**
102
84
 
103
- Run the startup script. It will:
104
-
105
- - Detect your hardware configuration (NVIDIA GPU, AMD GPU, or CPU). Apple Metal is unavailable inside Docker, and Intel SIMD optimizations are automatically handled without special configuration.
106
- - Choose the correct Ollama image (`latest` or `rocm`)
107
- - Launch the Ollama container with appropriate runtime settings
108
- - Pull the required embedding model (`nomic-embed-text`)
109
- - Start the agent **after the model is available**
110
-
111
85
  ```sh
112
86
  chmod +x startup.sh
113
87
  ./startup.sh # Add --cpu flag to force CPU mode if needed
114
88
  ```
115
89
 
116
- ##### **4. Access the Web UI**
117
-
118
- Once started, the agent is available at:
119
-
120
- ```
121
- http://localhost:8501
122
- ```
90
+ [More about startup script](https://github.com/VirtualPatientEngine/AIAgents4Pharma/blob/main/aiagents4pharma/talk2aiagents4pharma/install.md#about-startupsh)
123
91
 
124
92
  ##### **To Run Talk2Biomodels / Talk2Scholars**
125
93
 
126
- 1. **Run the containers**
127
-
128
94
  ###### Talk2Biomodels
129
95
 
130
96
  ```docker
131
97
  docker run -d \
132
- --name talk2biomodels \
133
- -e OPENAI_API_KEY=<your_openai_api_key> \
134
- -e NVIDIA_API_KEY=<your_nvidia_api_key> \
135
- -p 8501:8501 \
136
- virtualpatientengine/talk2biomodels
98
+ --name talk2biomodels \
99
+ -e OPENAI_API_KEY=<your_openai_api_key> \
100
+ -e NVIDIA_API_KEY=<your_nvidia_api_key> \
101
+ -p 8501:8501 \
102
+ virtualpatientengine/talk2biomodels
137
103
  ```
138
104
 
139
105
  ###### Talk2Scholars
140
106
 
141
107
  ```docker
142
108
  docker run -d \
143
- --name talk2scholars \
144
- -e OPENAI_API_KEY=<your_openai_api_key> \
145
- -e ZOTERO_API_KEY=<your_zotero_api_key> \
146
- -e ZOTERO_USER_ID=<your_zotero_user_id> \
147
- -e NVIDIA_API_KEY=<your_nvidia_api_key> \
148
- -p 8501:8501 \
149
- virtualpatientengine/talk2scholars
109
+ --name talk2scholars \
110
+ -e OPENAI_API_KEY=<your_openai_api_key> \
111
+ -e ZOTERO_API_KEY=<your_zotero_api_key> \
112
+ -e ZOTERO_USER_ID=<your_zotero_user_id> \
113
+ -e NVIDIA_API_KEY=<your_nvidia_api_key> \
114
+ -p 8501:8501 \
115
+ virtualpatientengine/talk2scholars
150
116
  ```
151
117
 
152
- 2. **Access the Web App**
153
- Open your browser and go to:
118
+ ##### **4. Access the Web UI**
119
+
120
+ Once started, the agent is available at:
121
+
122
+ ```
123
+ http://localhost:8501
124
+ ```
154
125
 
155
- ```
156
- http://localhost:8501
157
- ```
126
+ To use **Talk2AIAgents4Pharma** or **Talk2KnowledgeGraphs**, you need a free **NVIDIA API key**. Create an account and apply for free credits [here](https://build.nvidia.com/explore/discover).
158
127
 
159
128
  To use **Talk2BioModels** or **Talk2Scholars**, you need a free **NVIDIA API key**. Create an account and apply for free credits [here](https://build.nvidia.com/explore/discover).
160
129
 
161
130
  Only for **Talk2Scholars**, you also need a **Zotero API key**, which you can generate [here](https://www.zotero.org/user/login#applications). _(For all other agents, the Zotero key is not required.)_
162
131
 
163
- If you are using docker on Windows, please follow these [Windows Setup Notes](#notes-for-windows-users).
132
+ If you are using docker on Windows, please follow these [Windows Setup Notes](https://github.com/VirtualPatientEngine/AIAgents4Pharma/blob/main/aiagents4pharma/talk2aiagents4pharma/install.md#notes-for-windows-users).
164
133
 
165
134
  **LangSmith** support is optional. To enable it, create an API key [here](https://docs.smith.langchain.com/administration/how_to_guides/organization_management/create_account_api_key).
166
135
 
167
- #### Notes
168
-
169
- - Be sure to **replace the placeholder values** with your actual credentials before running any container:
170
-
171
- - `<your_openai_api_key>`
172
- - `<your_nvidia_api_key>`
173
- - `<your_zotero_api_key>`
174
- - `<your_zotero_user_id>`
175
-
176
- - All agents default to **port `8501`**. If you plan to run multiple agents simultaneously, make sure to assign **different ports** to avoid conflicts.
177
-
178
- Example (Talk2Scholars on port `8502`):
179
-
180
- ```docker
181
- docker run -d \
182
- --name talk2scholars \
183
- -e OPENAI_API_KEY=<your_openai_api_key> \
184
- -e ZOTERO_API_KEY=<your_zotero_api_key> \
185
- -e ZOTERO_USER_ID=<your_zotero_user_id> \
186
- -e NVIDIA_API_KEY=<your_nvidia_api_key> \
187
- -p 8502:8501 \
188
- virtualpatientengine/talk2scholars
189
- ```
190
-
191
- Then access the app at: [http://localhost:8502](http://localhost:8502)
136
+ [More on running multiple agents simultaneously](https://github.com/VirtualPatientEngine/AIAgents4Pharma/blob/main/aiagents4pharma/talk2aiagents4pharma/install.md#to-run-multiple-agents-simultaneously)
192
137
 
193
138
  #### Option 2: git (for developers and contributors)
194
139
 
@@ -211,14 +156,14 @@ conda create --name AIAgents4Pharma python=3.12 -y && conda activate AIAgents4Ph
211
156
 
212
157
  3. **Initialize API Keys**
213
158
 
214
- ```env
215
- export OPENAI_API_KEY=.... # Required for all agents
216
- export NVIDIA_API_KEY=.... # Required for all agents
217
- export ZOTERO_API_KEY=.... # Required for T2S
218
- export ZOTERO_USER_ID=.... # Required for T2S
219
- export LANGCHAIN_TRACING_V2=true # Optional for all agents
220
- export LANGCHAIN_API_KEY=... # Optional for all agents
221
- ```
159
+ ```env
160
+ export OPENAI_API_KEY=.... # Required for all agents
161
+ export NVIDIA_API_KEY=.... # Required for all agents
162
+ export ZOTERO_API_KEY=.... # Required for T2S
163
+ export ZOTERO_USER_ID=.... # Required for T2S
164
+ export LANGCHAIN_TRACING_V2=true # Optional for all agents
165
+ export LANGCHAIN_API_KEY=... # Optional for all agents
166
+ ```
222
167
 
223
168
  To use **Talk2AIAgents4Pharma**, **Talk2BioModels**, **Talk2KnowledgeGraphs**, or **Talk2Scholars**, you need a free **NVIDIA API key**. Create an account and apply for free credits [here](https://build.nvidia.com/explore/discover).
224
169
 
@@ -248,10 +193,12 @@ If you skip the previous step, it will default to the name `default`.
248
193
  `xxxx` will be the 4-digit ID created for the session._
249
194
 
250
195
  4. **Launch the app:**
251
- ```sh
252
- streamlit run app/frontend/streamlit_app_<agent>.py
253
- ```
254
- _Replace `<agent>` with the agent name you are interested to launch:_
196
+
197
+ ```sh
198
+ streamlit run app/frontend/streamlit_app_<agent>.py
199
+ ```
200
+
201
+ _Replace `<agent>` with the agent name you are interested to launch:_
255
202
 
256
203
  - `talk2aiagents4pharma`
257
204
  - `talk2biomodels`
@@ -281,17 +228,23 @@ All types of contributions are appreciated — whether you're fixing bugs, addin
281
228
  1. Star this repository to show your support.
282
229
  2. Fork the repository.
283
230
  3. Create a new branch for your work:
284
- ```sh
285
- git checkout -b feat/your-feature-name
286
- ```
231
+
232
+ ```sh
233
+ git checkout -b feat/your-feature-name
234
+ ```
235
+
287
236
  4. Make your changes and commit them:
288
- ```sh
289
- git commit -m "feat: add a brief description of your change"
290
- ```
237
+
238
+ ```sh
239
+ git commit -m "feat: add a brief description of your change"
240
+ ```
241
+
291
242
  5. Push your branch:
292
- ```sh
293
- git push origin feat/your-feature-name
294
- ```
243
+
244
+ ```sh
245
+ git push origin feat/your-feature-name
246
+ ```
247
+
295
248
  6. Open a Pull Request.
296
249
 
297
250
  #### Areas where you can help
@@ -48,13 +48,13 @@ def get_app(uniq_id, llm_model: BaseChatModel):
48
48
  >>> app = get_app("thread_123")
49
49
  >>> result = app.invoke(initial_state)
50
50
  """
51
- if hasattr(llm_model, "model_name"):
52
- if llm_model.model_name == "gpt-4o-mini":
53
- llm_model = ChatOpenAI(
54
- model="gpt-4o-mini",
55
- temperature=0,
56
- model_kwargs={"parallel_tool_calls": False},
57
- )
51
+ # Replace placeholder mini model with a configured ChatOpenAI instance
52
+ if getattr(llm_model, "model_name", None) == "gpt-4o-mini":
53
+ llm_model = ChatOpenAI(
54
+ model="gpt-4o-mini",
55
+ temperature=0,
56
+ model_kwargs={"parallel_tool_calls": False},
57
+ )
58
58
  # Load hydra configuration
59
59
  logger.log(logging.INFO, "Launching Talk2Scholars with thread_id %s", uniq_id)
60
60
  with hydra.initialize(version_base=None, config_path="../configs/"):
@@ -0,0 +1,98 @@
1
+ _target_: agents.main_agent.get_app
2
+ temperature: 0
3
+ system_prompt: |
4
+ You are the Main Supervisor Agent.
5
+
6
+ You have access to four tools, each represented by a sub-agent:
7
+
8
+ - s2_agent: Use this to search for or recommend academic papers.
9
+ You can also use its `query_dataframe` tool to extract metadata from the last displayed papers.
10
+ This tool is not for summarization or content-level understanding — only for metadata-level filtering or ID extraction.
11
+
12
+ - zotero_agent: Use this to read from or write to the user's Zotero account.
13
+ This agent can also save papers to the Zotero library, but only with the user's explicit approval.
14
+
15
+ - pdf_agent: Use this to perform question-and-answer tasks on downloaded, uploaded, or Zotero-based papers or PDFs.
16
+ This includes summarization, explanation, or answering content-based questions.
17
+
18
+ - paper_download_agent: Use to download PDFs.
19
+
20
+ --
21
+
22
+ Tool Usage Boundaries:
23
+
24
+ - Use `query_dataframe` only for metadata queries such as filtering by author, listing titles, or selecting paper IDs.
25
+ It is not capable of full-text summarization, content analysis, or reading PDF content.
26
+
27
+ - Use `pdf_agent` to summarize or analyze the full content of any downloaded, uploaded, or Zotero-based PDF.
28
+
29
+ - Never attempt to summarize or interpret paper content using `query_dataframe`. That is incorrect and will result in incomplete or misleading output.
30
+
31
+ - When the user asks for a summary, explanation, or any content-based question, you must use `pdf_agent`:
32
+
33
+ --
34
+
35
+ Critical Paper Download Protocol:
36
+
37
+ When the user requests to download paper(s), you must follow this strict 2-step protocol:
38
+
39
+ 1. First, always call `query_dataframe` from the `s2_agent` to extract paper IDs from the last displayed DataFrame.
40
+
41
+ - This tool must be used only to extract paper IDs.
42
+ - Do not pass the full user query to this tool.
43
+ - This step is only for retrieving the full list of available `paper_ids` and their order.
44
+ - If the user request refers to specific positions (like “4th paper”), you must calculate the correct index first.
45
+
46
+ 2. Then, use the extracted ID(s) as input to the `paper_download_agent` to download the papers.
47
+
48
+ Important format rules:
49
+
50
+ - The `query_dataframe` tool always returns paper IDs with full prefixes such as `"arxiv:..."`, `"doi:..."`, or `"pubmed:..."`.
51
+ - You must not modify, trim, or strip these prefixes.
52
+ - Always pass the **exact** IDs returned from `query_dataframe` directly to the `paper_download_agent` without alteration.
53
+
54
+ Do not skip step 1 under any circumstances. Even if you believe you already know the IDs or if the user repeats the request, you must still call `query_dataframe` first. Skipping this step is a critical error and will corrupt the workflow.
55
+
56
+ Example reasoning:
57
+ - User: "Download and summarize the fourth paper"
58
+ - Step 1: Compute that the user wants the 4th paper
59
+ - Step 2: Call `s2_agent.query_dataframe`
60
+ - Step 3: Pass that ID to `paper_download_agent`
61
+ - Step 4: After download, use `pdf_agent` for summarization only when requested by the user
62
+
63
+ Additional example:
64
+ - User: "Download the first and third papers"
65
+ - Step 1: Compute that the user wants paper indices 1 and 3
66
+ - Step 2: Call `s2_agent.query_dataframe`
67
+ - Step 3: Pass both IDs to `paper_download_agent`
68
+
69
+ Full list example:
70
+ - User: "Download all papers", "Download the 6th paper",
71
+ - Step 1: Call `s2_agent.query_dataframe`
72
+ - Step 2: Pass the full list of IDs to `paper_download_agent`
73
+
74
+ Always follow this sequence. It applies to every download request.
75
+
76
+ --
77
+
78
+ Interpreting User Requests Involving Paper Indices:
79
+
80
+ When a user refers to papers using words like "first", "second", "third", or "fourth", you must interpret them as referring to numeric positions in the last displayed DataFrame.
81
+
82
+ For example:
83
+ - "Download the fourth paper" → treat as "Download the 4th paper"
84
+ - "Download the first and third papers" → treat as "Download the 1st and 3rd papers"
85
+
86
+ These word-based positions must be normalized before calling `query_dataframe`. Always compute the correct index and pass it as `row_number`.
87
+
88
+ --
89
+
90
+ General Coordination Instructions:
91
+
92
+ Each sub-agent is specialized for a different task.
93
+
94
+ You may call multiple agents, either in parallel or in sequence. After receiving output from one agent, you can call another as needed based on the user's query.
95
+
96
+ Your role is to analyze the user’s request carefully, decide which sub-agent(s) to use, and coordinate their execution efficiently.
97
+
98
+ Always prioritize delegation and think step-by-step before acting. Avoid answering by yourself unless explicitly necessary.
@@ -0,0 +1,5 @@
1
+ _target_: agents.paper_download_agent.get_app
2
+ paper_download_agent: |
3
+ You are the Paper Download Agent.
4
+
5
+ You are responsible for downloading PDFs of papers using their IDs. Use all the provied Ids to download the papers. Only when the user asks a question related to PDFs, please forward the query to the `question_and_answer` tool from the `pdf_agent`
@@ -0,0 +1,5 @@
1
+ _target_: agents.pdf_agent.get_app
2
+ pdf_agent: |
3
+ You are the PDF Agent.
4
+
5
+ You are responsible for performing question-and-answer tasks on papers, articles, or PDFs
@@ -0,0 +1,5 @@
1
+ _target_: agents.s2_agent.get_app
2
+ s2_agent: |
3
+ You are the S2 Agent.
4
+
5
+ You are responsible for searching academic papers, getting recommendations based on the searched articles, and displaying the results.
@@ -0,0 +1,9 @@
1
+ _target_: agents.zotero_agent.get_app
2
+ zotero_agent: |
3
+ You are the Zotero Agent.
4
+
5
+ You are responsible for reading from and writing to the user's Zotero library, and for displaying the results.
6
+
7
+ IMPORTANT: Human approval is required for saving papers to Zotero. Never save papers
8
+ without explicit approval from the user. Always respect the user's decision if they
9
+ choose not to save papers.
@@ -0,0 +1,4 @@
1
+ api_url: "http://export.arxiv.org/api/query"
2
+ request_timeout: 10
3
+ chunk_size: 1024
4
+ pdf_base_url: "https://arxiv.org/pdf"
@@ -0,0 +1,2 @@
1
+ api_url: "https://api.biorxiv.org/details/biorxiv/"
2
+ request_timeout: 20
@@ -0,0 +1,2 @@
1
+ api_url: "https://api.biorxiv.org/details/medrxiv"
2
+ request_timeout: 20
@@ -0,0 +1,22 @@
1
+ # Default configuration for the PDF question_and_answer Tool
2
+ chunk_size: 1200 # Number of characters per text chunk
3
+ chunk_overlap: 200 # Overlap between adjacent chunks
4
+ top_k_papers: 5 # Number of papers to rank and retrieve
5
+ top_k_chunks: 25 # Number of chunks to retrieve
6
+ reranker:
7
+ model: "nvidia/nv-rerankqa-mistral-4b-v3"
8
+ api_key: ${oc.env:NVIDIA_API_KEY}
9
+ prompt_template: |
10
+ You are a scientific research assistant specialized in reading and extracting information from research papers.
11
+ Your role is to answer questions by retrieving relevant information from the provided context.
12
+
13
+ - Provide detailed, structured, and well-argued explanations—not just brief summaries.
14
+ - Cite specific sources using onky the title of the paper.
15
+ - If the context is insufficient, clearly state that more information is needed.
16
+
17
+ Context:
18
+ {context}
19
+
20
+ Question: {question}
21
+
22
+ Your answer should be comprehensive, accurate, and clearly structured for a scientific audience.