aiagents4pharma 1.40.0__tar.gz → 1.41.0__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.
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/PKG-INFO +27 -115
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/README.md +24 -114
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/s2_agent/default.yaml +9 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/configs/tools/question_and_answer/default.yaml +62 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tests/test_nvidia_nim_reranker.py +127 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tests/test_pdf_answer_formatter.py +66 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tests/test_pdf_batch_processor.py +101 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tests/test_pdf_collection_manager.py +150 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tests/test_pdf_document_processor.py +69 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tests/test_pdf_generate_answer.py +75 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tests/test_pdf_gpu_detection.py +140 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tests/test_pdf_paper_loader.py +116 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tests/test_pdf_rag_pipeline.py +98 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tests/test_pdf_retrieve_chunks.py +197 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tests/test_pdf_singleton_manager.py +156 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tests/test_pdf_vector_normalization.py +121 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tests/test_pdf_vector_store.py +434 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tests/test_question_and_answer_tool.py +109 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tests/test_tool_helper_utils.py +85 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/paper_download/download_biorxiv_input.py +8 -6
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/paper_download/download_medrxiv_input.py +6 -4
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/pdf/question_and_answer.py +74 -40
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tools/pdf/utils/__init__.py +35 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tools/pdf/utils/answer_formatter.py +62 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tools/pdf/utils/batch_processor.py +200 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tools/pdf/utils/collection_manager.py +172 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tools/pdf/utils/document_processor.py +76 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tools/pdf/utils/get_vectorstore.py +63 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tools/pdf/utils/gpu_detection.py +154 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tools/pdf/utils/nvidia_nim_reranker.py +97 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tools/pdf/utils/paper_loader.py +123 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tools/pdf/utils/rag_pipeline.py +122 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tools/pdf/utils/retrieve_chunks.py +205 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tools/pdf/utils/singleton_manager.py +140 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tools/pdf/utils/tool_helper.py +87 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tools/pdf/utils/vector_normalization.py +159 -0
- aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/tools/pdf/utils/vector_store.py +343 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/s2/multi_paper_rec.py +12 -9
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/s2/query_dataframe.py +0 -1
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/s2/retrieve_semantic_scholar_paper_id.py +9 -8
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/s2/single_paper_rec.py +5 -5
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma.egg-info/PKG-INFO +27 -115
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma.egg-info/SOURCES.txt +23 -1
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma.egg-info/requires.txt +2 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/pyproject.toml +2 -0
- aiagents4pharma-1.41.0/release_version.txt +1 -0
- aiagents4pharma-1.40.0/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/s2_agent/default.yaml +0 -5
- aiagents4pharma-1.40.0/aiagents4pharma/talk2scholars/configs/tools/question_and_answer/default.yaml +0 -22
- aiagents4pharma-1.40.0/aiagents4pharma/talk2scholars/tests/test_nvidia_nim_reranker_utils.py +0 -28
- aiagents4pharma-1.40.0/aiagents4pharma/talk2scholars/tests/test_question_and_answer_tool.py +0 -529
- aiagents4pharma-1.40.0/aiagents4pharma/talk2scholars/tests/test_tool_helper_utils.py +0 -140
- aiagents4pharma-1.40.0/aiagents4pharma/talk2scholars/tools/pdf/utils/__init__.py +0 -10
- aiagents4pharma-1.40.0/aiagents4pharma/talk2scholars/tools/pdf/utils/nvidia_nim_reranker.py +0 -77
- aiagents4pharma-1.40.0/aiagents4pharma/talk2scholars/tools/pdf/utils/retrieve_chunks.py +0 -83
- aiagents4pharma-1.40.0/aiagents4pharma/talk2scholars/tools/pdf/utils/tool_helper.py +0 -125
- aiagents4pharma-1.40.0/aiagents4pharma/talk2scholars/tools/pdf/utils/vector_store.py +0 -162
- aiagents4pharma-1.40.0/release_version.txt +0 -1
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/LICENSE +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2aiagents4pharma/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2aiagents4pharma/agents/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2aiagents4pharma/agents/main_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2aiagents4pharma/configs/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2aiagents4pharma/configs/agents/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2aiagents4pharma/configs/agents/main_agent/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2aiagents4pharma/configs/config.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2aiagents4pharma/states/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2aiagents4pharma/states/state_talk2aiagents4pharma.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2aiagents4pharma/tests/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2aiagents4pharma/tests/test_main_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/agents/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/agents/t2b_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/api/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/api/kegg.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/api/ols.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/api/uniprot.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/configs/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/configs/agents/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/configs/agents/t2b_agent/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/configs/agents/t2b_agent/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/configs/config.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/configs/tools/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/configs/tools/ask_question/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/configs/tools/ask_question/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/configs/tools/custom_plotter/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/configs/tools/custom_plotter/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/configs/tools/get_annotation/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/configs/tools/get_annotation/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/models/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/models/basico_model.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/models/sys_bio_model.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/states/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/states/state_talk2biomodels.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tests/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tests/test_api.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tests/test_ask_question.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tests/test_basico_model.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tests/test_get_annotation.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tests/test_getmodelinfo.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tests/test_integration.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tests/test_load_biomodel.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tests/test_param_scan.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tests/test_query_article.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tests/test_search_models.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tests/test_simulate_model.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tests/test_steady_state.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tests/test_sys_bio_model.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tools/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tools/ask_question.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tools/custom_plotter.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tools/get_annotation.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tools/get_modelinfo.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tools/load_arguments.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tools/load_biomodel.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tools/parameter_scan.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tools/query_article.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tools/search_models.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tools/simulate_model.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tools/steady_state.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2biomodels/tools/utils.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2cells/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2cells/agents/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2cells/agents/scp_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2cells/states/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2cells/states/state_talk2cells.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2cells/tests/scp_agent/test_scp_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2cells/tools/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2cells/tools/scp_agent/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2cells/tools/scp_agent/display_studies.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2cells/tools/scp_agent/search_studies.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/agents/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/agents/t2kg_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/configs/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/configs/agents/t2kg_agent/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/configs/agents/t2kg_agent/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/configs/app/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/configs/app/frontend/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/configs/app/frontend/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/configs/config.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/configs/tools/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/configs/tools/graphrag_reasoning/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/configs/tools/graphrag_reasoning/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/configs/tools/multimodal_subgraph_extraction/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/configs/tools/subgraph_extraction/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/configs/tools/subgraph_extraction/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/configs/tools/subgraph_summarization/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/configs/tools/subgraph_summarization/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/datasets/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/datasets/biobridge_primekg.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/datasets/dataset.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/datasets/primekg.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/datasets/starkqa_primekg.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/milvus_data_dump.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/states/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/states/state_talk2knowledgegraphs.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_agents_t2kg_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_datasets_biobridge_primekg.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_datasets_dataset.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_datasets_primekg.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_datasets_starkqa_primekg.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_tools_graphrag_reasoning.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_tools_milvus_multimodal_subgraph_extraction.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_tools_multimodal_subgraph_extraction.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_tools_subgraph_extraction.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_tools_subgraph_summarization.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_embeddings_embeddings.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_embeddings_huggingface.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_embeddings_nim_molmim.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_embeddings_ollama.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_embeddings_sentencetransformer.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_enrichments.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_ollama.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_ols.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_pubchem.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_reactome.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_uniprot.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_extractions_milvus_multimodal_pcst.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_kg_utils.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tests/test_utils_pubchem_utils.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tools/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tools/graphrag_reasoning.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tools/load_arguments.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tools/milvus_multimodal_subgraph_extraction.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tools/multimodal_subgraph_extraction.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tools/subgraph_extraction.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/tools/subgraph_summarization.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/embeddings/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/embeddings/embeddings.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/embeddings/huggingface.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/embeddings/nim_molmim.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/embeddings/ollama.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/embeddings/sentence_transformer.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/enrichments/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/enrichments/enrichments.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/enrichments/ollama.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/enrichments/ols_terms.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/enrichments/pubchem_strings.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/enrichments/reactome_pathways.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/enrichments/uniprot_proteins.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/extractions/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/extractions/milvus_multimodal_pcst.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/extractions/multimodal_pcst.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/extractions/pcst.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/kg_utils.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2knowledgegraphs/utils/pubchem_utils.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/agents/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/agents/main_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/agents/paper_download_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/agents/pdf_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/agents/s2_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/agents/zotero_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/agents/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/main_agent/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/main_agent/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/paper_download_agent/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/paper_download_agent/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/pdf_agent/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/pdf_agent/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/s2_agent/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/zotero_agent/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/agents/talk2scholars/zotero_agent/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/app/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/app/frontend/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/app/frontend/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/config.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/download_arxiv_paper/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/download_arxiv_paper/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/download_biorxiv_paper/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/download_biorxiv_paper/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/download_medrxiv_paper/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/download_medrxiv_paper/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/multi_paper_recommendation/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/multi_paper_recommendation/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/question_and_answer/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/retrieve_semantic_scholar_paper_id/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/retrieve_semantic_scholar_paper_id/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/search/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/search/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/single_paper_recommendation/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/single_paper_recommendation/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/zotero_read/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/zotero_read/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/zotero_write/__inti__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/configs/tools/zotero_write/default.yaml +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/state/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/state/state_talk2scholars.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_main_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_paper_download_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_paper_download_biorxiv.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_paper_download_medrxiv.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_paper_download_tools.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_pdf_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_read_helper_utils.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_s2_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_s2_display_dataframe.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_s2_multi.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_s2_query_dataframe.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_s2_retrieve.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_s2_search.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_s2_single.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_s2_utils_ext_ids.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_state.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_zotero_agent.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_zotero_human_in_the_loop.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_zotero_path.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_zotero_pdf_downloader_utils.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_zotero_read.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tests/test_zotero_write.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/paper_download/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/paper_download/download_arxiv_input.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/pdf/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/pdf/utils/generate_answer.py +14 -14
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/s2/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/s2/display_dataframe.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/s2/search.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/s2/utils/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/s2/utils/multi_helper.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/s2/utils/search_helper.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/s2/utils/single_helper.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/zotero/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/zotero/utils/__init__.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/zotero/utils/read_helper.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/zotero/utils/review_helper.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/zotero/utils/write_helper.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/zotero/utils/zotero_path.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/zotero/utils/zotero_pdf_downloader.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/zotero/zotero_read.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/zotero/zotero_review.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma/talk2scholars/tools/zotero/zotero_write.py +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma.egg-info/dependency_links.txt +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/aiagents4pharma.egg-info/top_level.txt +0 -0
- {aiagents4pharma-1.40.0 → aiagents4pharma-1.41.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: aiagents4pharma
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.41.0
|
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
|
@@ -20,6 +20,7 @@ Requires-Dist: langchain==0.3.7
|
|
20
20
|
Requires-Dist: langchain-community==0.3.5
|
21
21
|
Requires-Dist: langchain-core==0.3.40
|
22
22
|
Requires-Dist: langchain-experimental==0.3.3
|
23
|
+
Requires-Dist: langchain-milvus==0.2.0
|
23
24
|
Requires-Dist: langchain-nvidia-ai-endpoints==0.3.9
|
24
25
|
Requires-Dist: langchain-openai==0.2.5
|
25
26
|
Requires-Dist: langchain_ollama==0.2.3
|
@@ -37,6 +38,7 @@ Requires-Dist: pypdf==5.2.0
|
|
37
38
|
Requires-Dist: pytest==8.3.3
|
38
39
|
Requires-Dist: pytest-asyncio==0.25.2
|
39
40
|
Requires-Dist: pyzotero==1.6.9
|
41
|
+
Requires-Dist: pymilvus==2.5.11
|
40
42
|
Requires-Dist: streamlit==1.39.0
|
41
43
|
Requires-Dist: sentence_transformers==3.3.1
|
42
44
|
Requires-Dist: tabulate==0.9.0
|
@@ -111,103 +113,12 @@ Our toolkit currently consists of the following agents:
|
|
111
113
|
|
112
114
|
_We now have all the agents available on Docker Hub._
|
113
115
|
|
114
|
-
|
115
|
-
|
116
|
-
If your machine has NVIDIA GPU(s), please install the following this:
|
117
|
-
- [nvidia-cuda-toolkit](https://developer.nvidia.com/cuda-toolkit)
|
118
|
-
- [nvidia-container-toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/1.17.8/install-guide.html) (required for GPU support with Docker; enables containers to access NVIDIA GPUs for accelerated computing). After installing `nvidia-container-toolkit`, please restart Docker to ensure GPU support is enabled.
|
119
|
-
|
120
|
-
##### **1. Download docker-compose.yml, .env.example and startup.sh from GitHub**
|
121
|
-
|
122
|
-
###### Talk2Agents4Pharma
|
123
|
-
|
124
|
-
```sh
|
125
|
-
mkdir talk2aiagents4pharma && cd talk2aiagents4pharma && wget https://raw.githubusercontent.com/VirtualPatientEngine/AIAgents4Pharma/main/aiagents4pharma/talk2aiagents4pharma/docker-compose.yml https://raw.githubusercontent.com/VirtualPatientEngine/AIAgents4Pharma/main/aiagents4pharma/talk2aiagents4pharma/.env.example https://raw.githubusercontent.com/VirtualPatientEngine/AIAgents4Pharma/main/aiagents4pharma/talk2aiagents4pharma/startup.sh
|
126
|
-
```
|
127
|
-
|
128
|
-
###### Talk2KnowledgeGraphs
|
129
|
-
|
130
|
-
```sh
|
131
|
-
mkdir talk2knowledgegraphs && cd talk2knowledgegraphs && wget https://raw.githubusercontent.com/VirtualPatientEngine/AIAgents4Pharma/main/aiagents4pharma/talk2knowledgegraphs/docker-compose.yml https://raw.githubusercontent.com/VirtualPatientEngine/AIAgents4Pharma/main/aiagents4pharma/talk2knowledgegraphs/.env.example https://raw.githubusercontent.com/VirtualPatientEngine/AIAgents4Pharma/main/aiagents4pharma/talk2knowledgegraphs/startup.sh
|
132
|
-
```
|
133
|
-
|
134
|
-
##### **2. Setup environment variables**
|
135
|
-
|
136
|
-
Copy and configure your `.env` file:
|
137
|
-
|
138
|
-
```sh
|
139
|
-
cp .env.example .env
|
140
|
-
```
|
141
|
-
|
142
|
-
Then edit `.env` and add your API keys:
|
143
|
-
|
144
|
-
```env
|
145
|
-
OPENAI_API_KEY=... # Required for both agents
|
146
|
-
NVIDIA_API_KEY=... # Required for both agents
|
147
|
-
LANGCHAIN_TRACING_V2=true # Optional for both agents
|
148
|
-
LANGCHAIN_API_KEY=... # Optional for both agents
|
149
|
-
```
|
150
|
-
|
151
|
-
[Additional Notes for Windows Users](https://github.com/VirtualPatientEngine/AIAgents4Pharma/blob/main/aiagents4pharma/talk2aiagents4pharma/install.md#notes-for-windows-users)
|
152
|
-
|
153
|
-
##### **3. Start the application**
|
154
|
-
|
155
|
-
```sh
|
156
|
-
chmod +x startup.sh
|
157
|
-
./startup.sh # Add --cpu flag to force CPU mode if needed
|
158
|
-
```
|
159
|
-
|
160
|
-
[More about startup script](https://github.com/VirtualPatientEngine/AIAgents4Pharma/blob/main/aiagents4pharma/talk2aiagents4pharma/install.md#about-startupsh)
|
161
|
-
|
162
|
-
##### **To Run Talk2Biomodels / Talk2Scholars**
|
163
|
-
|
164
|
-
###### Talk2Biomodels
|
165
|
-
|
166
|
-
```docker
|
167
|
-
docker run -d \
|
168
|
-
--name talk2biomodels \
|
169
|
-
-e OPENAI_API_KEY=<your_openai_api_key> \
|
170
|
-
-e NVIDIA_API_KEY=<your_nvidia_api_key> \
|
171
|
-
-p 8501:8501 \
|
172
|
-
virtualpatientengine/talk2biomodels
|
173
|
-
```
|
174
|
-
|
175
|
-
###### Talk2Scholars
|
176
|
-
|
177
|
-
```docker
|
178
|
-
docker run -d \
|
179
|
-
--name talk2scholars \
|
180
|
-
-e OPENAI_API_KEY=<your_openai_api_key> \
|
181
|
-
-e ZOTERO_API_KEY=<your_zotero_api_key> \
|
182
|
-
-e ZOTERO_USER_ID=<your_zotero_user_id> \
|
183
|
-
-e NVIDIA_API_KEY=<your_nvidia_api_key> \
|
184
|
-
-p 8501:8501 \
|
185
|
-
virtualpatientengine/talk2scholars
|
186
|
-
```
|
187
|
-
|
188
|
-
##### **4. Access the Web UI**
|
189
|
-
|
190
|
-
Once started, the agent is available at:
|
191
|
-
|
192
|
-
```
|
193
|
-
http://localhost:8501
|
194
|
-
```
|
195
|
-
|
196
|
-
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).
|
197
|
-
|
198
|
-
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).
|
199
|
-
|
200
|
-
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.)_
|
201
|
-
|
202
|
-
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).
|
203
|
-
|
204
|
-
**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).
|
205
|
-
|
206
|
-
[More on running multiple agents simultaneously](https://github.com/VirtualPatientEngine/AIAgents4Pharma/blob/main/aiagents4pharma/talk2aiagents4pharma/install.md#to-run-multiple-agents-simultaneously)
|
207
|
-
|
208
|
-
📝 By default, `talk2knowledgegraphs` includes a small subset of the PrimeKG knowledge graph, allowing users to start interacting with it out of the box.
|
209
|
-
To switch to a different knowledge graph or use your own, refer to the [deployment guide](https://virtualpatientengine.github.io/AIAgents4Pharma/talk2knowledgegraphs/deployment/).
|
116
|
+
Choose your agent below for detailed Docker instructions:
|
210
117
|
|
118
|
+
- [Talk2AIAgents4Pharma](aiagents4pharma/talk2aiagents4pharma/install.md)
|
119
|
+
- [Talk2KnowledgeGraphs](aiagents4pharma/talk2knowledgegraphs/install.md)
|
120
|
+
- [Talk2BioModels](aiagents4pharma/talk2biomodels/install.md)
|
121
|
+
- [Talk2Scholars](aiagents4pharma/talk2scholars/install.md)
|
211
122
|
|
212
123
|
#### Option 2: git (for developers and contributors)
|
213
124
|
|
@@ -238,23 +149,6 @@ export LANGCHAIN_TRACING_V2=true # Optional for all agents
|
|
238
149
|
export LANGCHAIN_API_KEY=... # Optional for all agents
|
239
150
|
```
|
240
151
|
|
241
|
-
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).
|
242
|
-
|
243
|
-
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.)_
|
244
|
-
|
245
|
-
To use **Talk2Scholars**, you must have **FAISS** installed through **Conda**. Follow installation instructions for your OS [here](https://github.com/VirtualPatientEngine/AIAgents4Pharma/tree/main/aiagents4pharma/talk2scholars/install.md).
|
246
|
-
|
247
|
-
Additionally on **Windows**, the `pcst_fast 1.0.10` library requires **Microsoft Visual C++ 14.0 or greater**.
|
248
|
-
You can download the **Microsoft C++ Build Tools** [here](https://visualstudio.microsoft.com/visual-cpp-build-tools/).
|
249
|
-
|
250
|
-
**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).
|
251
|
-
|
252
|
-
_Please note that this will create a new tracing project in your Langsmith
|
253
|
-
account with the name `T2X-xxxx`, where `X` can be `AA4P` (Main Agent),
|
254
|
-
`B` (Biomodels), `S` (Scholars), `KG` (KnowledgeGraphs), or `C` (Cells).
|
255
|
-
If you skip the previous step, it will default to the name `default`.
|
256
|
-
`xxxx` will be the 4-digit ID created for the session._
|
257
|
-
|
258
152
|
4. **Launch the app:**
|
259
153
|
|
260
154
|
```sh
|
@@ -269,10 +163,28 @@ _Replace `<agent>` with the agent name you are interested to launch:_
|
|
269
163
|
- `talk2scholars`
|
270
164
|
- `talk2cells`
|
271
165
|
|
166
|
+
If your machine has NVIDIA GPU(s), please install the following this:
|
167
|
+
|
168
|
+
- [nvidia-cuda-toolkit](https://developer.nvidia.com/cuda-toolkit)
|
169
|
+
- [nvidia-container-toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/1.17.8/install-guide.html) (required for GPU support with Docker; enables containers to access NVIDIA GPUs for accelerated computing). After installing `nvidia-container-toolkit`, please restart Docker to ensure GPU support is enabled.
|
170
|
+
|
171
|
+
To use the **Agents**, you need a free **NVIDIA API key**. Create an account and apply for free credits [here](https://build.nvidia.com/explore/discover).
|
172
|
+
|
173
|
+
**Talk2Scholars** requires Milvus to be set up as the vector database — install Milvus depending on your setup by following the official instructions for [CPU](https://milvus.io/docs/install_standalone-docker-compose.md) or [GPU](https://milvus.io/docs/install_standalone-docker-compose-gpu.md). You will also need a **Zotero API key**, which you can generate [here](https://www.zotero.org/user/login#applications). _(The Zotero key is only required for Talk2Scholars; all other agents do not need it.)_
|
174
|
+
|
175
|
+
> Additionally on **Windows**, the `pcst_fast 1.0.10` library requires **Microsoft Visual C++ 14.0 or greater**.
|
176
|
+
> You can download the **Microsoft C++ Build Tools** [here](https://visualstudio.microsoft.com/visual-cpp-build-tools/).
|
177
|
+
|
272
178
|
📝 By default, `talk2knowledgegraphs` includes a small subset of the PrimeKG knowledge graph, allowing users to start interacting with it out of the box.
|
273
179
|
To switch to a different knowledge graph or use your own, refer to the [deployment guide](https://virtualpatientengine.github.io/AIAgents4Pharma/talk2knowledgegraphs/deployment/).
|
274
180
|
|
275
|
-
|
181
|
+
**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).
|
182
|
+
|
183
|
+
_Please note that this will create a new tracing project in your Langsmith
|
184
|
+
account with the name `T2X-xxxx`, where `X` can be `AA4P` (Main Agent),
|
185
|
+
`B` (Biomodels), `S` (Scholars), `KG` (KnowledgeGraphs), or `C` (Cells).
|
186
|
+
If you skip the previous step, it will default to the name `default`.
|
187
|
+
`xxxx` will be the 4-digit ID created for the session._
|
276
188
|
|
277
189
|
#### Option 3: pip (beta-release)
|
278
190
|
|
@@ -43,103 +43,12 @@ Our toolkit currently consists of the following agents:
|
|
43
43
|
|
44
44
|
_We now have all the agents available on Docker Hub._
|
45
45
|
|
46
|
-
|
47
|
-
|
48
|
-
If your machine has NVIDIA GPU(s), please install the following this:
|
49
|
-
- [nvidia-cuda-toolkit](https://developer.nvidia.com/cuda-toolkit)
|
50
|
-
- [nvidia-container-toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/1.17.8/install-guide.html) (required for GPU support with Docker; enables containers to access NVIDIA GPUs for accelerated computing). After installing `nvidia-container-toolkit`, please restart Docker to ensure GPU support is enabled.
|
51
|
-
|
52
|
-
##### **1. Download docker-compose.yml, .env.example and startup.sh from GitHub**
|
53
|
-
|
54
|
-
###### Talk2Agents4Pharma
|
55
|
-
|
56
|
-
```sh
|
57
|
-
mkdir talk2aiagents4pharma && cd talk2aiagents4pharma && wget https://raw.githubusercontent.com/VirtualPatientEngine/AIAgents4Pharma/main/aiagents4pharma/talk2aiagents4pharma/docker-compose.yml https://raw.githubusercontent.com/VirtualPatientEngine/AIAgents4Pharma/main/aiagents4pharma/talk2aiagents4pharma/.env.example https://raw.githubusercontent.com/VirtualPatientEngine/AIAgents4Pharma/main/aiagents4pharma/talk2aiagents4pharma/startup.sh
|
58
|
-
```
|
59
|
-
|
60
|
-
###### Talk2KnowledgeGraphs
|
61
|
-
|
62
|
-
```sh
|
63
|
-
mkdir talk2knowledgegraphs && cd talk2knowledgegraphs && wget https://raw.githubusercontent.com/VirtualPatientEngine/AIAgents4Pharma/main/aiagents4pharma/talk2knowledgegraphs/docker-compose.yml https://raw.githubusercontent.com/VirtualPatientEngine/AIAgents4Pharma/main/aiagents4pharma/talk2knowledgegraphs/.env.example https://raw.githubusercontent.com/VirtualPatientEngine/AIAgents4Pharma/main/aiagents4pharma/talk2knowledgegraphs/startup.sh
|
64
|
-
```
|
65
|
-
|
66
|
-
##### **2. Setup environment variables**
|
67
|
-
|
68
|
-
Copy and configure your `.env` file:
|
69
|
-
|
70
|
-
```sh
|
71
|
-
cp .env.example .env
|
72
|
-
```
|
73
|
-
|
74
|
-
Then edit `.env` and add your API keys:
|
75
|
-
|
76
|
-
```env
|
77
|
-
OPENAI_API_KEY=... # Required for both agents
|
78
|
-
NVIDIA_API_KEY=... # Required for both agents
|
79
|
-
LANGCHAIN_TRACING_V2=true # Optional for both agents
|
80
|
-
LANGCHAIN_API_KEY=... # Optional for both agents
|
81
|
-
```
|
82
|
-
|
83
|
-
[Additional Notes for Windows Users](https://github.com/VirtualPatientEngine/AIAgents4Pharma/blob/main/aiagents4pharma/talk2aiagents4pharma/install.md#notes-for-windows-users)
|
84
|
-
|
85
|
-
##### **3. Start the application**
|
86
|
-
|
87
|
-
```sh
|
88
|
-
chmod +x startup.sh
|
89
|
-
./startup.sh # Add --cpu flag to force CPU mode if needed
|
90
|
-
```
|
91
|
-
|
92
|
-
[More about startup script](https://github.com/VirtualPatientEngine/AIAgents4Pharma/blob/main/aiagents4pharma/talk2aiagents4pharma/install.md#about-startupsh)
|
93
|
-
|
94
|
-
##### **To Run Talk2Biomodels / Talk2Scholars**
|
95
|
-
|
96
|
-
###### Talk2Biomodels
|
97
|
-
|
98
|
-
```docker
|
99
|
-
docker run -d \
|
100
|
-
--name talk2biomodels \
|
101
|
-
-e OPENAI_API_KEY=<your_openai_api_key> \
|
102
|
-
-e NVIDIA_API_KEY=<your_nvidia_api_key> \
|
103
|
-
-p 8501:8501 \
|
104
|
-
virtualpatientengine/talk2biomodels
|
105
|
-
```
|
106
|
-
|
107
|
-
###### Talk2Scholars
|
108
|
-
|
109
|
-
```docker
|
110
|
-
docker run -d \
|
111
|
-
--name talk2scholars \
|
112
|
-
-e OPENAI_API_KEY=<your_openai_api_key> \
|
113
|
-
-e ZOTERO_API_KEY=<your_zotero_api_key> \
|
114
|
-
-e ZOTERO_USER_ID=<your_zotero_user_id> \
|
115
|
-
-e NVIDIA_API_KEY=<your_nvidia_api_key> \
|
116
|
-
-p 8501:8501 \
|
117
|
-
virtualpatientengine/talk2scholars
|
118
|
-
```
|
119
|
-
|
120
|
-
##### **4. Access the Web UI**
|
121
|
-
|
122
|
-
Once started, the agent is available at:
|
123
|
-
|
124
|
-
```
|
125
|
-
http://localhost:8501
|
126
|
-
```
|
127
|
-
|
128
|
-
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).
|
129
|
-
|
130
|
-
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).
|
131
|
-
|
132
|
-
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.)_
|
133
|
-
|
134
|
-
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).
|
135
|
-
|
136
|
-
**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).
|
137
|
-
|
138
|
-
[More on running multiple agents simultaneously](https://github.com/VirtualPatientEngine/AIAgents4Pharma/blob/main/aiagents4pharma/talk2aiagents4pharma/install.md#to-run-multiple-agents-simultaneously)
|
139
|
-
|
140
|
-
📝 By default, `talk2knowledgegraphs` includes a small subset of the PrimeKG knowledge graph, allowing users to start interacting with it out of the box.
|
141
|
-
To switch to a different knowledge graph or use your own, refer to the [deployment guide](https://virtualpatientengine.github.io/AIAgents4Pharma/talk2knowledgegraphs/deployment/).
|
46
|
+
Choose your agent below for detailed Docker instructions:
|
142
47
|
|
48
|
+
- [Talk2AIAgents4Pharma](aiagents4pharma/talk2aiagents4pharma/install.md)
|
49
|
+
- [Talk2KnowledgeGraphs](aiagents4pharma/talk2knowledgegraphs/install.md)
|
50
|
+
- [Talk2BioModels](aiagents4pharma/talk2biomodels/install.md)
|
51
|
+
- [Talk2Scholars](aiagents4pharma/talk2scholars/install.md)
|
143
52
|
|
144
53
|
#### Option 2: git (for developers and contributors)
|
145
54
|
|
@@ -170,23 +79,6 @@ export LANGCHAIN_TRACING_V2=true # Optional for all agents
|
|
170
79
|
export LANGCHAIN_API_KEY=... # Optional for all agents
|
171
80
|
```
|
172
81
|
|
173
|
-
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).
|
174
|
-
|
175
|
-
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.)_
|
176
|
-
|
177
|
-
To use **Talk2Scholars**, you must have **FAISS** installed through **Conda**. Follow installation instructions for your OS [here](https://github.com/VirtualPatientEngine/AIAgents4Pharma/tree/main/aiagents4pharma/talk2scholars/install.md).
|
178
|
-
|
179
|
-
Additionally on **Windows**, the `pcst_fast 1.0.10` library requires **Microsoft Visual C++ 14.0 or greater**.
|
180
|
-
You can download the **Microsoft C++ Build Tools** [here](https://visualstudio.microsoft.com/visual-cpp-build-tools/).
|
181
|
-
|
182
|
-
**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).
|
183
|
-
|
184
|
-
_Please note that this will create a new tracing project in your Langsmith
|
185
|
-
account with the name `T2X-xxxx`, where `X` can be `AA4P` (Main Agent),
|
186
|
-
`B` (Biomodels), `S` (Scholars), `KG` (KnowledgeGraphs), or `C` (Cells).
|
187
|
-
If you skip the previous step, it will default to the name `default`.
|
188
|
-
`xxxx` will be the 4-digit ID created for the session._
|
189
|
-
|
190
82
|
4. **Launch the app:**
|
191
83
|
|
192
84
|
```sh
|
@@ -201,10 +93,28 @@ _Replace `<agent>` with the agent name you are interested to launch:_
|
|
201
93
|
- `talk2scholars`
|
202
94
|
- `talk2cells`
|
203
95
|
|
96
|
+
If your machine has NVIDIA GPU(s), please install the following this:
|
97
|
+
|
98
|
+
- [nvidia-cuda-toolkit](https://developer.nvidia.com/cuda-toolkit)
|
99
|
+
- [nvidia-container-toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/1.17.8/install-guide.html) (required for GPU support with Docker; enables containers to access NVIDIA GPUs for accelerated computing). After installing `nvidia-container-toolkit`, please restart Docker to ensure GPU support is enabled.
|
100
|
+
|
101
|
+
To use the **Agents**, you need a free **NVIDIA API key**. Create an account and apply for free credits [here](https://build.nvidia.com/explore/discover).
|
102
|
+
|
103
|
+
**Talk2Scholars** requires Milvus to be set up as the vector database — install Milvus depending on your setup by following the official instructions for [CPU](https://milvus.io/docs/install_standalone-docker-compose.md) or [GPU](https://milvus.io/docs/install_standalone-docker-compose-gpu.md). You will also need a **Zotero API key**, which you can generate [here](https://www.zotero.org/user/login#applications). _(The Zotero key is only required for Talk2Scholars; all other agents do not need it.)_
|
104
|
+
|
105
|
+
> Additionally on **Windows**, the `pcst_fast 1.0.10` library requires **Microsoft Visual C++ 14.0 or greater**.
|
106
|
+
> You can download the **Microsoft C++ Build Tools** [here](https://visualstudio.microsoft.com/visual-cpp-build-tools/).
|
107
|
+
|
204
108
|
📝 By default, `talk2knowledgegraphs` includes a small subset of the PrimeKG knowledge graph, allowing users to start interacting with it out of the box.
|
205
109
|
To switch to a different knowledge graph or use your own, refer to the [deployment guide](https://virtualpatientengine.github.io/AIAgents4Pharma/talk2knowledgegraphs/deployment/).
|
206
110
|
|
207
|
-
|
111
|
+
**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).
|
112
|
+
|
113
|
+
_Please note that this will create a new tracing project in your Langsmith
|
114
|
+
account with the name `T2X-xxxx`, where `X` can be `AA4P` (Main Agent),
|
115
|
+
`B` (Biomodels), `S` (Scholars), `KG` (KnowledgeGraphs), or `C` (Cells).
|
116
|
+
If you skip the previous step, it will default to the name `default`.
|
117
|
+
`xxxx` will be the 4-digit ID created for the session._
|
208
118
|
|
209
119
|
#### Option 3: pip (beta-release)
|
210
120
|
|
@@ -0,0 +1,9 @@
|
|
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.
|
6
|
+
|
7
|
+
IMPORTANT INSTRUCTION FOR AGENT BEHAVIOR:
|
8
|
+
If the user's request involves extracting paper IDs to download papers, your task is only to extract those IDs using the `query_dataframe`. Do not attempt to download the paper yourself or call any other tools after extracting the IDs.
|
9
|
+
Once the IDs are successfully extracted, immediately pause execution and return control to the main agent. The main agent is responsible for invoking the appropriate tool or sub-agent to handle the paper download.
|
aiagents4pharma-1.41.0/aiagents4pharma/talk2scholars/configs/tools/question_and_answer/default.yaml
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
# Configuration for the PDF question_and_answer Tool - Traditional RAG Pipeline with GPU Support
|
2
|
+
|
3
|
+
# Milvus vector database settings
|
4
|
+
milvus:
|
5
|
+
# Connection settings
|
6
|
+
host: ${oc.env:MILVUS_HOST,localhost} # Changed default from 127.0.0.1 to localhost
|
7
|
+
port: ${oc.env:MILVUS_PORT,19530}
|
8
|
+
|
9
|
+
# Database and collection settings
|
10
|
+
db_name: ${oc.env:MILVUS_DB_NAME,pdf_rag_db}
|
11
|
+
collection_name: ${oc.env:MILVUS_COLLECTION_NAME,pdf_rag_documents}
|
12
|
+
|
13
|
+
# Ensure collection persists across restarts
|
14
|
+
consistency_level: "Strong"
|
15
|
+
embedding_dim: 768
|
16
|
+
|
17
|
+
# Document processing settings
|
18
|
+
chunk_size: 1200 # Number of characters per text chunk
|
19
|
+
chunk_overlap: 200 # Overlap between adjacent chunks
|
20
|
+
|
21
|
+
# Parallel processing settings
|
22
|
+
embedding_batch_size: 1500 # Number of chunks to embed in a single API call
|
23
|
+
max_parallel_pdfs: 10 # Maximum number of PDFs to process in parallel
|
24
|
+
|
25
|
+
# Traditional RAG Pipeline Settings
|
26
|
+
# Step 1: Initial retrieval (cast wide net)
|
27
|
+
initial_retrieval_k: 100 # Number of chunks to retrieve before reranking
|
28
|
+
mmr_diversity: 0.8 # MMR diversity parameter (0=max diversity, 1=max relevance)
|
29
|
+
|
30
|
+
# Step 2: Reranking settings
|
31
|
+
top_k_chunks: 25 # Final number of chunks after reranking
|
32
|
+
reranker:
|
33
|
+
model: "nvidia/nv-rerankqa-mistral-4b-v3"
|
34
|
+
api_key: ${oc.env:NVIDIA_API_KEY}
|
35
|
+
|
36
|
+
# Answer generation settings
|
37
|
+
prompt_template: |
|
38
|
+
You are a scientific research assistant specialized in reading and extracting information from research papers.
|
39
|
+
Your role is to answer questions by retrieving relevant information from the provided context.
|
40
|
+
|
41
|
+
- Provide detailed, structured, and well-argued explanations—not just brief summaries.
|
42
|
+
- Cite specific sources using only the title of the paper.
|
43
|
+
- If the context is insufficient, clearly state that more information is needed.
|
44
|
+
|
45
|
+
Context:
|
46
|
+
{context}
|
47
|
+
|
48
|
+
Question: {question}
|
49
|
+
|
50
|
+
Your answer should be comprehensive, accurate, and clearly structured for a scientific audience.
|
51
|
+
|
52
|
+
# GPU Detection and Performance Settings
|
53
|
+
gpu_detection:
|
54
|
+
# Timeout for GPU detection command (seconds)
|
55
|
+
detection_timeout: 10
|
56
|
+
|
57
|
+
# Log GPU detection results
|
58
|
+
log_detection: true
|
59
|
+
|
60
|
+
# Force CPU mode even if GPU is detected (for testing CPU Milvus)
|
61
|
+
# Uncomment the line below to force CPU mode:
|
62
|
+
# force_cpu_mode: true
|
@@ -0,0 +1,127 @@
|
|
1
|
+
"""
|
2
|
+
Unit tests for NVIDIA NIM reranker error handling in nvidia_nim_reranker.py
|
3
|
+
"""
|
4
|
+
|
5
|
+
from unittest.mock import MagicMock, patch
|
6
|
+
|
7
|
+
import pytest
|
8
|
+
from langchain_core.documents import Document
|
9
|
+
|
10
|
+
from aiagents4pharma.talk2scholars.tools.pdf.utils import nvidia_nim_reranker
|
11
|
+
from aiagents4pharma.talk2scholars.tools.pdf.utils.nvidia_nim_reranker import (
|
12
|
+
rerank_chunks,
|
13
|
+
)
|
14
|
+
|
15
|
+
|
16
|
+
@pytest.fixture(name="chunks_fixture")
|
17
|
+
def fixture_chunks():
|
18
|
+
"""chunks_fixture fixture to simulate PDF chunks."""
|
19
|
+
return [
|
20
|
+
Document(
|
21
|
+
page_content=f"chunk {i}",
|
22
|
+
metadata={"paper_id": f"P{i%2}", "relevance_score": 0.9 - 0.01 * i},
|
23
|
+
)
|
24
|
+
for i in range(10)
|
25
|
+
]
|
26
|
+
|
27
|
+
|
28
|
+
def test_rerank_chunks_short_input(chunks_fixture):
|
29
|
+
"""rerank_chunks with fewer chunks than top_k should return original."""
|
30
|
+
result = rerank_chunks(
|
31
|
+
chunks_fixture[:3], "What is cancer?", config=MagicMock(), top_k=5
|
32
|
+
)
|
33
|
+
assert result == chunks_fixture[:3]
|
34
|
+
|
35
|
+
|
36
|
+
@patch("aiagents4pharma.talk2scholars.tools.pdf.utils.nvidia_nim_reranker.logger")
|
37
|
+
def test_rerank_chunks_missing_api_key_logs_and_raises(mock_logger, chunks_fixture):
|
38
|
+
"""
|
39
|
+
If config.reranker.api_key is None:
|
40
|
+
- logger.error(...) should be called
|
41
|
+
- rerank_chunks should raise ValueError
|
42
|
+
"""
|
43
|
+
mock_config = MagicMock()
|
44
|
+
mock_config.reranker.api_key = None
|
45
|
+
|
46
|
+
with pytest.raises(
|
47
|
+
ValueError,
|
48
|
+
match="Configuration 'reranker.api_key' must be set for reranking",
|
49
|
+
):
|
50
|
+
rerank_chunks(chunks_fixture, "What is cancer?", config=mock_config, top_k=5)
|
51
|
+
|
52
|
+
mock_logger.error.assert_called_once_with(
|
53
|
+
"No NVIDIA API key found in configuration for reranking"
|
54
|
+
)
|
55
|
+
|
56
|
+
|
57
|
+
@patch("aiagents4pharma.talk2scholars.tools.pdf.utils.nvidia_nim_reranker.NVIDIARerank")
|
58
|
+
def test_rerank_chunks_success(mock_reranker_cls, chunks_fixture):
|
59
|
+
"""rerank_chunks with successful reranking."""
|
60
|
+
reranker_instance = MagicMock()
|
61
|
+
reranker_instance.compress_documents.return_value = list(reversed(chunks_fixture))
|
62
|
+
mock_reranker_cls.return_value = reranker_instance
|
63
|
+
|
64
|
+
mock_config = MagicMock()
|
65
|
+
mock_config.reranker.api_key = "test_key"
|
66
|
+
mock_config.reranker.model = "test_model"
|
67
|
+
|
68
|
+
result = rerank_chunks(
|
69
|
+
chunks_fixture, "Explain mitochondria.", config=mock_config, top_k=5
|
70
|
+
)
|
71
|
+
|
72
|
+
assert isinstance(result, list)
|
73
|
+
assert result == list(reversed(chunks_fixture))[:5]
|
74
|
+
reranker_instance.compress_documents.assert_called_once_with(
|
75
|
+
query="Explain mitochondria.", documents=chunks_fixture
|
76
|
+
)
|
77
|
+
|
78
|
+
|
79
|
+
@patch("aiagents4pharma.talk2scholars.tools.pdf.utils.nvidia_nim_reranker.NVIDIARerank")
|
80
|
+
def test_rerank_chunks_reranker_fails_raises_and_calls_compress(
|
81
|
+
mock_reranker_cls, chunks_fixture
|
82
|
+
):
|
83
|
+
"""
|
84
|
+
If NVIDIARerank.compress_documents raises RuntimeError:
|
85
|
+
- rerank_chunks should propagate the RuntimeError
|
86
|
+
- and compress_documents should have been called
|
87
|
+
"""
|
88
|
+
reranker_instance = MagicMock()
|
89
|
+
reranker_instance.compress_documents.side_effect = RuntimeError("API failure")
|
90
|
+
mock_reranker_cls.return_value = reranker_instance
|
91
|
+
|
92
|
+
mock_config = MagicMock()
|
93
|
+
mock_config.reranker.api_key = "valid_key"
|
94
|
+
mock_config.reranker.model = "reranker"
|
95
|
+
|
96
|
+
with pytest.raises(RuntimeError, match="API failure"):
|
97
|
+
rerank_chunks(
|
98
|
+
chunks_fixture, "How does light affect plants?", config=mock_config, top_k=3
|
99
|
+
)
|
100
|
+
|
101
|
+
reranker_instance.compress_documents.assert_called_once_with(
|
102
|
+
query="How does light affect plants?", documents=chunks_fixture
|
103
|
+
)
|
104
|
+
|
105
|
+
|
106
|
+
@patch("aiagents4pharma.talk2scholars.tools.pdf.utils.nvidia_nim_reranker.logger")
|
107
|
+
@patch("aiagents4pharma.talk2scholars.tools.pdf.utils.nvidia_nim_reranker.NVIDIARerank")
|
108
|
+
def test_rerank_chunks_debug_block_triggered(
|
109
|
+
mock_reranker_cls, mock_logger, chunks_fixture
|
110
|
+
):
|
111
|
+
"""rerank_chunks should log debug info if debug logging is enabled."""
|
112
|
+
mock_logger.isEnabledFor.return_value = True
|
113
|
+
|
114
|
+
reranker_instance = MagicMock()
|
115
|
+
reranker_instance.compress_documents.return_value = chunks_fixture
|
116
|
+
mock_reranker_cls.return_value = reranker_instance
|
117
|
+
|
118
|
+
mock_config = MagicMock()
|
119
|
+
mock_config.reranker.api_key = "abc"
|
120
|
+
mock_config.reranker.model = "mymodel"
|
121
|
+
|
122
|
+
result = nvidia_nim_reranker.rerank_chunks(
|
123
|
+
chunks_fixture * 2, "Test query", mock_config, top_k=3
|
124
|
+
)
|
125
|
+
|
126
|
+
assert result == chunks_fixture[:3]
|
127
|
+
assert mock_logger.debug.called
|
@@ -0,0 +1,66 @@
|
|
1
|
+
"""answer_formatter tests."""
|
2
|
+
|
3
|
+
from unittest.mock import patch
|
4
|
+
import pytest
|
5
|
+
|
6
|
+
from aiagents4pharma.talk2scholars.tools.pdf.utils.answer_formatter import format_answer
|
7
|
+
|
8
|
+
|
9
|
+
@pytest.fixture(name="base_args")
|
10
|
+
def _base_args():
|
11
|
+
"""base_args fixture to provide common arguments for tests."""
|
12
|
+
return {
|
13
|
+
"question": "What is the conclusion?",
|
14
|
+
"chunks": [{"content": "chunk1"}, {"content": "chunk2"}],
|
15
|
+
"llm": "mock_llm",
|
16
|
+
"articles": {
|
17
|
+
"paper1": {"Title": "Paper One"},
|
18
|
+
"paper2": {"Title": "Paper Two"},
|
19
|
+
},
|
20
|
+
"config": {"key": "value"},
|
21
|
+
"call_id": "test_call_123",
|
22
|
+
"has_gpu": True,
|
23
|
+
}
|
24
|
+
|
25
|
+
|
26
|
+
@patch("aiagents4pharma.talk2scholars.tools.pdf.utils.answer_formatter.generate_answer")
|
27
|
+
def test_format_answer_with_sources(mock_generate_answer, base_args):
|
28
|
+
"""test format_answer with sources."""
|
29
|
+
mock_generate_answer.return_value = {
|
30
|
+
"output_text": "This is the generated answer.",
|
31
|
+
"papers_used": ["paper1", "paper2"],
|
32
|
+
}
|
33
|
+
|
34
|
+
result = format_answer(**base_args)
|
35
|
+
|
36
|
+
assert "This is the generated answer." in result
|
37
|
+
assert "Sources:" in result
|
38
|
+
assert "- Paper One" in result
|
39
|
+
assert "- Paper Two" in result
|
40
|
+
mock_generate_answer.assert_called_once()
|
41
|
+
|
42
|
+
|
43
|
+
@patch("aiagents4pharma.talk2scholars.tools.pdf.utils.answer_formatter.generate_answer")
|
44
|
+
def test_format_answer_no_sources(mock_generate_answer, base_args):
|
45
|
+
"""test format_answer with no sources."""
|
46
|
+
mock_generate_answer.return_value = {
|
47
|
+
"output_text": "No sources were used.",
|
48
|
+
"papers_used": [], # No papers used
|
49
|
+
}
|
50
|
+
|
51
|
+
result = format_answer(**base_args)
|
52
|
+
|
53
|
+
assert result == "No sources were used." # No sources section expected
|
54
|
+
mock_generate_answer.assert_called_once()
|
55
|
+
|
56
|
+
|
57
|
+
@patch("aiagents4pharma.talk2scholars.tools.pdf.utils.answer_formatter.generate_answer")
|
58
|
+
def test_format_answer_missing_output_text(mock_generate_answer, base_args):
|
59
|
+
"""test format_answer with missing output text."""
|
60
|
+
mock_generate_answer.return_value = {"papers_used": ["paper1"]}
|
61
|
+
|
62
|
+
result = format_answer(**base_args)
|
63
|
+
|
64
|
+
assert result.startswith("No answer generated.")
|
65
|
+
assert "Sources:" in result
|
66
|
+
mock_generate_answer.assert_called_once()
|