aiagents4pharma 1.43.0__py3-none-any.whl → 1.45.0__py3-none-any.whl
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/__init__.py +2 -2
- aiagents4pharma/talk2aiagents4pharma/.dockerignore +13 -0
- aiagents4pharma/talk2aiagents4pharma/Dockerfile +105 -0
- aiagents4pharma/talk2aiagents4pharma/README.md +1 -0
- aiagents4pharma/talk2aiagents4pharma/__init__.py +4 -5
- aiagents4pharma/talk2aiagents4pharma/agents/__init__.py +3 -2
- aiagents4pharma/talk2aiagents4pharma/agents/main_agent.py +24 -23
- aiagents4pharma/talk2aiagents4pharma/configs/__init__.py +2 -2
- aiagents4pharma/talk2aiagents4pharma/configs/agents/__init__.py +2 -2
- aiagents4pharma/talk2aiagents4pharma/configs/agents/main_agent/default.yaml +2 -2
- aiagents4pharma/talk2aiagents4pharma/configs/config.yaml +1 -1
- aiagents4pharma/talk2aiagents4pharma/docker-compose/cpu/.env.example +23 -0
- aiagents4pharma/talk2aiagents4pharma/docker-compose/cpu/docker-compose.yml +93 -0
- aiagents4pharma/talk2aiagents4pharma/docker-compose/gpu/.env.example +23 -0
- aiagents4pharma/talk2aiagents4pharma/docker-compose/gpu/docker-compose.yml +108 -0
- aiagents4pharma/talk2aiagents4pharma/install.md +127 -0
- aiagents4pharma/talk2aiagents4pharma/states/__init__.py +3 -2
- aiagents4pharma/talk2aiagents4pharma/states/state_talk2aiagents4pharma.py +5 -3
- aiagents4pharma/talk2aiagents4pharma/tests/__init__.py +2 -2
- aiagents4pharma/talk2aiagents4pharma/tests/test_main_agent.py +72 -50
- aiagents4pharma/talk2biomodels/.dockerignore +13 -0
- aiagents4pharma/talk2biomodels/Dockerfile +104 -0
- aiagents4pharma/talk2biomodels/README.md +1 -0
- aiagents4pharma/talk2biomodels/__init__.py +4 -8
- aiagents4pharma/talk2biomodels/agents/__init__.py +3 -2
- aiagents4pharma/talk2biomodels/agents/t2b_agent.py +47 -42
- aiagents4pharma/talk2biomodels/api/__init__.py +4 -5
- aiagents4pharma/talk2biomodels/api/kegg.py +14 -10
- aiagents4pharma/talk2biomodels/api/ols.py +13 -10
- aiagents4pharma/talk2biomodels/api/uniprot.py +7 -6
- aiagents4pharma/talk2biomodels/configs/__init__.py +3 -4
- aiagents4pharma/talk2biomodels/configs/agents/__init__.py +2 -2
- aiagents4pharma/talk2biomodels/configs/agents/t2b_agent/__init__.py +2 -2
- aiagents4pharma/talk2biomodels/configs/agents/t2b_agent/default.yaml +1 -1
- aiagents4pharma/talk2biomodels/configs/config.yaml +1 -1
- aiagents4pharma/talk2biomodels/configs/tools/__init__.py +4 -5
- aiagents4pharma/talk2biomodels/configs/tools/ask_question/__init__.py +2 -2
- aiagents4pharma/talk2biomodels/configs/tools/ask_question/default.yaml +1 -2
- aiagents4pharma/talk2biomodels/configs/tools/custom_plotter/__init__.py +2 -2
- aiagents4pharma/talk2biomodels/configs/tools/custom_plotter/default.yaml +1 -1
- aiagents4pharma/talk2biomodels/configs/tools/get_annotation/__init__.py +2 -2
- aiagents4pharma/talk2biomodels/configs/tools/get_annotation/default.yaml +1 -1
- aiagents4pharma/talk2biomodels/install.md +63 -0
- aiagents4pharma/talk2biomodels/models/__init__.py +4 -4
- aiagents4pharma/talk2biomodels/models/basico_model.py +36 -28
- aiagents4pharma/talk2biomodels/models/sys_bio_model.py +13 -10
- aiagents4pharma/talk2biomodels/states/__init__.py +3 -2
- aiagents4pharma/talk2biomodels/states/state_talk2biomodels.py +12 -8
- aiagents4pharma/talk2biomodels/tests/BIOMD0000000449_url.xml +1585 -0
- aiagents4pharma/talk2biomodels/tests/__init__.py +2 -2
- aiagents4pharma/talk2biomodels/tests/article_on_model_537.pdf +0 -0
- aiagents4pharma/talk2biomodels/tests/test_api.py +18 -14
- aiagents4pharma/talk2biomodels/tests/test_ask_question.py +8 -9
- aiagents4pharma/talk2biomodels/tests/test_basico_model.py +15 -9
- aiagents4pharma/talk2biomodels/tests/test_get_annotation.py +54 -55
- aiagents4pharma/talk2biomodels/tests/test_getmodelinfo.py +28 -27
- aiagents4pharma/talk2biomodels/tests/test_integration.py +21 -33
- aiagents4pharma/talk2biomodels/tests/test_load_biomodel.py +14 -11
- aiagents4pharma/talk2biomodels/tests/test_param_scan.py +21 -20
- aiagents4pharma/talk2biomodels/tests/test_query_article.py +129 -29
- aiagents4pharma/talk2biomodels/tests/test_search_models.py +9 -13
- aiagents4pharma/talk2biomodels/tests/test_simulate_model.py +16 -15
- aiagents4pharma/talk2biomodels/tests/test_steady_state.py +12 -22
- aiagents4pharma/talk2biomodels/tests/test_sys_bio_model.py +33 -29
- aiagents4pharma/talk2biomodels/tools/__init__.py +15 -12
- aiagents4pharma/talk2biomodels/tools/ask_question.py +42 -32
- aiagents4pharma/talk2biomodels/tools/custom_plotter.py +51 -43
- aiagents4pharma/talk2biomodels/tools/get_annotation.py +99 -75
- aiagents4pharma/talk2biomodels/tools/get_modelinfo.py +57 -51
- aiagents4pharma/talk2biomodels/tools/load_arguments.py +52 -32
- aiagents4pharma/talk2biomodels/tools/load_biomodel.py +8 -2
- aiagents4pharma/talk2biomodels/tools/parameter_scan.py +107 -90
- aiagents4pharma/talk2biomodels/tools/query_article.py +14 -13
- aiagents4pharma/talk2biomodels/tools/search_models.py +37 -26
- aiagents4pharma/talk2biomodels/tools/simulate_model.py +47 -37
- aiagents4pharma/talk2biomodels/tools/steady_state.py +76 -58
- aiagents4pharma/talk2biomodels/tools/utils.py +4 -3
- aiagents4pharma/talk2cells/README.md +1 -0
- aiagents4pharma/talk2cells/__init__.py +4 -5
- aiagents4pharma/talk2cells/agents/__init__.py +3 -2
- aiagents4pharma/talk2cells/agents/scp_agent.py +21 -19
- aiagents4pharma/talk2cells/states/__init__.py +3 -2
- aiagents4pharma/talk2cells/states/state_talk2cells.py +4 -2
- aiagents4pharma/talk2cells/tests/scp_agent/test_scp_agent.py +8 -9
- aiagents4pharma/talk2cells/tools/__init__.py +3 -2
- aiagents4pharma/talk2cells/tools/scp_agent/__init__.py +4 -4
- aiagents4pharma/talk2cells/tools/scp_agent/display_studies.py +5 -3
- aiagents4pharma/talk2cells/tools/scp_agent/search_studies.py +21 -22
- aiagents4pharma/talk2knowledgegraphs/.dockerignore +13 -0
- aiagents4pharma/talk2knowledgegraphs/Dockerfile +103 -0
- aiagents4pharma/talk2knowledgegraphs/README.md +1 -0
- aiagents4pharma/talk2knowledgegraphs/__init__.py +4 -7
- aiagents4pharma/talk2knowledgegraphs/agents/__init__.py +3 -2
- aiagents4pharma/talk2knowledgegraphs/agents/t2kg_agent.py +40 -30
- aiagents4pharma/talk2knowledgegraphs/configs/__init__.py +3 -6
- aiagents4pharma/talk2knowledgegraphs/configs/agents/t2kg_agent/__init__.py +2 -2
- aiagents4pharma/talk2knowledgegraphs/configs/agents/t2kg_agent/default.yaml +8 -8
- aiagents4pharma/talk2knowledgegraphs/configs/app/__init__.py +3 -2
- aiagents4pharma/talk2knowledgegraphs/configs/app/frontend/__init__.py +2 -2
- aiagents4pharma/talk2knowledgegraphs/configs/app/frontend/default.yaml +1 -1
- aiagents4pharma/talk2knowledgegraphs/configs/config.yaml +1 -1
- aiagents4pharma/talk2knowledgegraphs/configs/tools/__init__.py +4 -5
- aiagents4pharma/talk2knowledgegraphs/configs/tools/graphrag_reasoning/__init__.py +2 -2
- aiagents4pharma/talk2knowledgegraphs/configs/tools/graphrag_reasoning/default.yaml +1 -1
- aiagents4pharma/talk2knowledgegraphs/configs/tools/multimodal_subgraph_extraction/default.yaml +17 -2
- aiagents4pharma/talk2knowledgegraphs/configs/tools/subgraph_extraction/__init__.py +2 -2
- aiagents4pharma/talk2knowledgegraphs/configs/tools/subgraph_extraction/default.yaml +1 -1
- aiagents4pharma/talk2knowledgegraphs/configs/tools/subgraph_summarization/__init__.py +2 -2
- aiagents4pharma/talk2knowledgegraphs/configs/tools/subgraph_summarization/default.yaml +1 -1
- aiagents4pharma/talk2knowledgegraphs/configs/utils/enrichments/ols_terms/default.yaml +1 -1
- aiagents4pharma/talk2knowledgegraphs/configs/utils/enrichments/reactome_pathways/default.yaml +1 -1
- aiagents4pharma/talk2knowledgegraphs/configs/utils/enrichments/uniprot_proteins/default.yaml +1 -1
- aiagents4pharma/talk2knowledgegraphs/configs/utils/pubchem_utils/default.yaml +1 -1
- aiagents4pharma/talk2knowledgegraphs/datasets/__init__.py +4 -6
- aiagents4pharma/talk2knowledgegraphs/datasets/biobridge_primekg.py +115 -67
- aiagents4pharma/talk2knowledgegraphs/datasets/dataset.py +2 -0
- aiagents4pharma/talk2knowledgegraphs/datasets/primekg.py +35 -24
- aiagents4pharma/talk2knowledgegraphs/datasets/starkqa_primekg.py +29 -21
- aiagents4pharma/talk2knowledgegraphs/docker-compose/cpu/.env.example +23 -0
- aiagents4pharma/talk2knowledgegraphs/docker-compose/cpu/docker-compose.yml +93 -0
- aiagents4pharma/talk2knowledgegraphs/docker-compose/gpu/.env.example +23 -0
- aiagents4pharma/talk2knowledgegraphs/docker-compose/gpu/docker-compose.yml +108 -0
- aiagents4pharma/talk2knowledgegraphs/entrypoint.sh +190 -0
- aiagents4pharma/talk2knowledgegraphs/install.md +140 -0
- aiagents4pharma/talk2knowledgegraphs/milvus_data_dump.py +31 -65
- aiagents4pharma/talk2knowledgegraphs/states/__init__.py +3 -2
- aiagents4pharma/talk2knowledgegraphs/states/state_talk2knowledgegraphs.py +1 -0
- aiagents4pharma/talk2knowledgegraphs/tests/test_agents_t2kg_agent.py +65 -40
- aiagents4pharma/talk2knowledgegraphs/tests/test_datasets_biobridge_primekg.py +54 -48
- aiagents4pharma/talk2knowledgegraphs/tests/test_datasets_dataset.py +4 -0
- aiagents4pharma/talk2knowledgegraphs/tests/test_datasets_primekg.py +17 -4
- aiagents4pharma/talk2knowledgegraphs/tests/test_datasets_starkqa_primekg.py +33 -24
- aiagents4pharma/talk2knowledgegraphs/tests/test_tools_graphrag_reasoning.py +116 -69
- aiagents4pharma/talk2knowledgegraphs/tests/test_tools_milvus_multimodal_subgraph_extraction.py +736 -413
- aiagents4pharma/talk2knowledgegraphs/tests/test_tools_multimodal_subgraph_extraction.py +22 -15
- aiagents4pharma/talk2knowledgegraphs/tests/test_tools_subgraph_extraction.py +19 -12
- aiagents4pharma/talk2knowledgegraphs/tests/test_tools_subgraph_summarization.py +95 -48
- aiagents4pharma/talk2knowledgegraphs/tests/test_utils_embeddings_embeddings.py +4 -0
- aiagents4pharma/talk2knowledgegraphs/tests/test_utils_embeddings_huggingface.py +5 -0
- aiagents4pharma/talk2knowledgegraphs/tests/test_utils_embeddings_nim_molmim.py +13 -18
- aiagents4pharma/talk2knowledgegraphs/tests/test_utils_embeddings_ollama.py +10 -3
- aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_enrichments.py +4 -3
- aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_ollama.py +3 -2
- aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_ols.py +1 -0
- aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_pubchem.py +9 -4
- aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_reactome.py +6 -6
- aiagents4pharma/talk2knowledgegraphs/tests/test_utils_enrichments_uniprot.py +4 -0
- aiagents4pharma/talk2knowledgegraphs/tests/test_utils_extractions_milvus_multimodal_pcst.py +442 -42
- aiagents4pharma/talk2knowledgegraphs/tests/test_utils_kg_utils.py +3 -4
- aiagents4pharma/talk2knowledgegraphs/tests/test_utils_pubchem_utils.py +10 -6
- aiagents4pharma/talk2knowledgegraphs/tools/__init__.py +10 -7
- aiagents4pharma/talk2knowledgegraphs/tools/graphrag_reasoning.py +15 -20
- aiagents4pharma/talk2knowledgegraphs/tools/milvus_multimodal_subgraph_extraction.py +245 -205
- aiagents4pharma/talk2knowledgegraphs/tools/multimodal_subgraph_extraction.py +92 -90
- aiagents4pharma/talk2knowledgegraphs/tools/subgraph_extraction.py +25 -37
- aiagents4pharma/talk2knowledgegraphs/tools/subgraph_summarization.py +10 -13
- aiagents4pharma/talk2knowledgegraphs/utils/__init__.py +4 -7
- aiagents4pharma/talk2knowledgegraphs/utils/embeddings/__init__.py +4 -7
- aiagents4pharma/talk2knowledgegraphs/utils/embeddings/embeddings.py +4 -0
- aiagents4pharma/talk2knowledgegraphs/utils/embeddings/huggingface.py +11 -14
- aiagents4pharma/talk2knowledgegraphs/utils/embeddings/nim_molmim.py +7 -7
- aiagents4pharma/talk2knowledgegraphs/utils/embeddings/ollama.py +12 -6
- aiagents4pharma/talk2knowledgegraphs/utils/embeddings/sentence_transformer.py +8 -6
- aiagents4pharma/talk2knowledgegraphs/utils/enrichments/__init__.py +9 -6
- aiagents4pharma/talk2knowledgegraphs/utils/enrichments/enrichments.py +1 -0
- aiagents4pharma/talk2knowledgegraphs/utils/enrichments/ollama.py +15 -9
- aiagents4pharma/talk2knowledgegraphs/utils/enrichments/ols_terms.py +23 -20
- aiagents4pharma/talk2knowledgegraphs/utils/enrichments/pubchem_strings.py +12 -10
- aiagents4pharma/talk2knowledgegraphs/utils/enrichments/reactome_pathways.py +16 -10
- aiagents4pharma/talk2knowledgegraphs/utils/enrichments/uniprot_proteins.py +26 -18
- aiagents4pharma/talk2knowledgegraphs/utils/extractions/__init__.py +4 -5
- aiagents4pharma/talk2knowledgegraphs/utils/extractions/milvus_multimodal_pcst.py +218 -81
- aiagents4pharma/talk2knowledgegraphs/utils/extractions/multimodal_pcst.py +53 -47
- aiagents4pharma/talk2knowledgegraphs/utils/extractions/pcst.py +18 -14
- aiagents4pharma/talk2knowledgegraphs/utils/kg_utils.py +22 -23
- aiagents4pharma/talk2knowledgegraphs/utils/pubchem_utils.py +11 -10
- aiagents4pharma/talk2scholars/.dockerignore +13 -0
- aiagents4pharma/talk2scholars/Dockerfile +104 -0
- aiagents4pharma/talk2scholars/README.md +1 -0
- aiagents4pharma/talk2scholars/agents/__init__.py +1 -5
- aiagents4pharma/talk2scholars/agents/main_agent.py +6 -4
- aiagents4pharma/talk2scholars/agents/paper_download_agent.py +5 -4
- aiagents4pharma/talk2scholars/agents/pdf_agent.py +4 -2
- aiagents4pharma/talk2scholars/agents/s2_agent.py +2 -2
- aiagents4pharma/talk2scholars/agents/zotero_agent.py +10 -11
- aiagents4pharma/talk2scholars/configs/__init__.py +1 -3
- aiagents4pharma/talk2scholars/configs/agents/talk2scholars/__init__.py +1 -4
- aiagents4pharma/talk2scholars/configs/agents/talk2scholars/main_agent/default.yaml +1 -1
- aiagents4pharma/talk2scholars/configs/agents/talk2scholars/pdf_agent/default.yaml +1 -1
- aiagents4pharma/talk2scholars/configs/agents/talk2scholars/s2_agent/default.yaml +8 -8
- aiagents4pharma/talk2scholars/configs/agents/talk2scholars/zotero_agent/default.yaml +7 -7
- aiagents4pharma/talk2scholars/configs/tools/__init__.py +8 -6
- aiagents4pharma/talk2scholars/docker-compose/cpu/.env.example +21 -0
- aiagents4pharma/talk2scholars/docker-compose/cpu/docker-compose.yml +90 -0
- aiagents4pharma/talk2scholars/docker-compose/gpu/.env.example +21 -0
- aiagents4pharma/talk2scholars/docker-compose/gpu/docker-compose.yml +105 -0
- aiagents4pharma/talk2scholars/install.md +122 -0
- aiagents4pharma/talk2scholars/state/state_talk2scholars.py +8 -8
- aiagents4pharma/talk2scholars/tests/{test_main_agent.py → test_agents_main_agent.py} +41 -23
- aiagents4pharma/talk2scholars/tests/{test_paper_download_agent.py → test_agents_paper_agents_download_agent.py} +10 -16
- aiagents4pharma/talk2scholars/tests/{test_pdf_agent.py → test_agents_pdf_agent.py} +6 -10
- aiagents4pharma/talk2scholars/tests/{test_s2_agent.py → test_agents_s2_agent.py} +8 -16
- aiagents4pharma/talk2scholars/tests/{test_zotero_agent.py → test_agents_zotero_agent.py} +5 -7
- aiagents4pharma/talk2scholars/tests/{test_s2_display_dataframe.py → test_s2_tools_display_dataframe.py} +6 -7
- aiagents4pharma/talk2scholars/tests/{test_s2_query_dataframe.py → test_s2_tools_query_dataframe.py} +5 -15
- aiagents4pharma/talk2scholars/tests/{test_paper_downloader.py → test_tools_paper_downloader.py} +25 -63
- aiagents4pharma/talk2scholars/tests/{test_question_and_answer_tool.py → test_tools_question_and_answer_tool.py} +2 -6
- aiagents4pharma/talk2scholars/tests/{test_s2_multi.py → test_tools_s2_multi.py} +5 -5
- aiagents4pharma/talk2scholars/tests/{test_s2_retrieve.py → test_tools_s2_retrieve.py} +2 -1
- aiagents4pharma/talk2scholars/tests/{test_s2_search.py → test_tools_s2_search.py} +5 -5
- aiagents4pharma/talk2scholars/tests/{test_s2_single.py → test_tools_s2_single.py} +5 -5
- aiagents4pharma/talk2scholars/tests/{test_arxiv_downloader.py → test_utils_arxiv_downloader.py} +16 -25
- aiagents4pharma/talk2scholars/tests/{test_base_paper_downloader.py → test_utils_base_paper_downloader.py} +25 -47
- aiagents4pharma/talk2scholars/tests/{test_biorxiv_downloader.py → test_utils_biorxiv_downloader.py} +14 -42
- aiagents4pharma/talk2scholars/tests/{test_medrxiv_downloader.py → test_utils_medrxiv_downloader.py} +15 -49
- aiagents4pharma/talk2scholars/tests/{test_nvidia_nim_reranker.py → test_utils_nvidia_nim_reranker.py} +6 -16
- aiagents4pharma/talk2scholars/tests/{test_pdf_answer_formatter.py → test_utils_pdf_answer_formatter.py} +1 -0
- aiagents4pharma/talk2scholars/tests/{test_pdf_batch_processor.py → test_utils_pdf_batch_processor.py} +6 -15
- aiagents4pharma/talk2scholars/tests/{test_pdf_collection_manager.py → test_utils_pdf_collection_manager.py} +34 -11
- aiagents4pharma/talk2scholars/tests/{test_pdf_document_processor.py → test_utils_pdf_document_processor.py} +2 -3
- aiagents4pharma/talk2scholars/tests/{test_pdf_generate_answer.py → test_utils_pdf_generate_answer.py} +3 -6
- aiagents4pharma/talk2scholars/tests/{test_pdf_gpu_detection.py → test_utils_pdf_gpu_detection.py} +5 -16
- aiagents4pharma/talk2scholars/tests/{test_pdf_rag_pipeline.py → test_utils_pdf_rag_pipeline.py} +7 -17
- aiagents4pharma/talk2scholars/tests/{test_pdf_retrieve_chunks.py → test_utils_pdf_retrieve_chunks.py} +4 -11
- aiagents4pharma/talk2scholars/tests/{test_pdf_singleton_manager.py → test_utils_pdf_singleton_manager.py} +26 -23
- aiagents4pharma/talk2scholars/tests/{test_pdf_vector_normalization.py → test_utils_pdf_vector_normalization.py} +1 -1
- aiagents4pharma/talk2scholars/tests/{test_pdf_vector_store.py → test_utils_pdf_vector_store.py} +27 -55
- aiagents4pharma/talk2scholars/tests/{test_pubmed_downloader.py → test_utils_pubmed_downloader.py} +31 -91
- aiagents4pharma/talk2scholars/tests/{test_read_helper_utils.py → test_utils_read_helper_utils.py} +2 -6
- aiagents4pharma/talk2scholars/tests/{test_s2_utils_ext_ids.py → test_utils_s2_utils_ext_ids.py} +5 -15
- aiagents4pharma/talk2scholars/tests/{test_zotero_human_in_the_loop.py → test_utils_zotero_human_in_the_loop.py} +6 -13
- aiagents4pharma/talk2scholars/tests/{test_zotero_path.py → test_utils_zotero_path.py} +53 -45
- aiagents4pharma/talk2scholars/tests/{test_zotero_read.py → test_utils_zotero_read.py} +30 -91
- aiagents4pharma/talk2scholars/tests/{test_zotero_write.py → test_utils_zotero_write.py} +6 -16
- aiagents4pharma/talk2scholars/tools/__init__.py +1 -4
- aiagents4pharma/talk2scholars/tools/paper_download/paper_downloader.py +20 -35
- aiagents4pharma/talk2scholars/tools/paper_download/utils/__init__.py +7 -5
- aiagents4pharma/talk2scholars/tools/paper_download/utils/arxiv_downloader.py +9 -11
- aiagents4pharma/talk2scholars/tools/paper_download/utils/base_paper_downloader.py +14 -21
- aiagents4pharma/talk2scholars/tools/paper_download/utils/biorxiv_downloader.py +14 -22
- aiagents4pharma/talk2scholars/tools/paper_download/utils/medrxiv_downloader.py +11 -13
- aiagents4pharma/talk2scholars/tools/paper_download/utils/pubmed_downloader.py +14 -28
- aiagents4pharma/talk2scholars/tools/pdf/question_and_answer.py +4 -8
- aiagents4pharma/talk2scholars/tools/pdf/utils/__init__.py +16 -14
- aiagents4pharma/talk2scholars/tools/pdf/utils/answer_formatter.py +4 -4
- aiagents4pharma/talk2scholars/tools/pdf/utils/batch_processor.py +15 -17
- aiagents4pharma/talk2scholars/tools/pdf/utils/collection_manager.py +2 -2
- aiagents4pharma/talk2scholars/tools/pdf/utils/document_processor.py +5 -5
- aiagents4pharma/talk2scholars/tools/pdf/utils/generate_answer.py +4 -4
- aiagents4pharma/talk2scholars/tools/pdf/utils/get_vectorstore.py +2 -6
- aiagents4pharma/talk2scholars/tools/pdf/utils/gpu_detection.py +5 -9
- aiagents4pharma/talk2scholars/tools/pdf/utils/nvidia_nim_reranker.py +4 -4
- aiagents4pharma/talk2scholars/tools/pdf/utils/paper_loader.py +2 -2
- aiagents4pharma/talk2scholars/tools/pdf/utils/rag_pipeline.py +6 -15
- aiagents4pharma/talk2scholars/tools/pdf/utils/retrieve_chunks.py +7 -15
- aiagents4pharma/talk2scholars/tools/pdf/utils/singleton_manager.py +2 -2
- aiagents4pharma/talk2scholars/tools/pdf/utils/tool_helper.py +3 -4
- aiagents4pharma/talk2scholars/tools/pdf/utils/vector_normalization.py +8 -17
- aiagents4pharma/talk2scholars/tools/pdf/utils/vector_store.py +17 -33
- aiagents4pharma/talk2scholars/tools/s2/__init__.py +8 -6
- aiagents4pharma/talk2scholars/tools/s2/display_dataframe.py +3 -7
- aiagents4pharma/talk2scholars/tools/s2/multi_paper_rec.py +7 -6
- aiagents4pharma/talk2scholars/tools/s2/query_dataframe.py +5 -12
- aiagents4pharma/talk2scholars/tools/s2/retrieve_semantic_scholar_paper_id.py +2 -4
- aiagents4pharma/talk2scholars/tools/s2/search.py +6 -6
- aiagents4pharma/talk2scholars/tools/s2/single_paper_rec.py +5 -3
- aiagents4pharma/talk2scholars/tools/s2/utils/__init__.py +1 -3
- aiagents4pharma/talk2scholars/tools/s2/utils/multi_helper.py +12 -18
- aiagents4pharma/talk2scholars/tools/s2/utils/search_helper.py +11 -18
- aiagents4pharma/talk2scholars/tools/s2/utils/single_helper.py +11 -16
- aiagents4pharma/talk2scholars/tools/zotero/__init__.py +1 -4
- aiagents4pharma/talk2scholars/tools/zotero/utils/__init__.py +1 -4
- aiagents4pharma/talk2scholars/tools/zotero/utils/read_helper.py +21 -39
- aiagents4pharma/talk2scholars/tools/zotero/utils/review_helper.py +2 -6
- aiagents4pharma/talk2scholars/tools/zotero/utils/write_helper.py +8 -11
- aiagents4pharma/talk2scholars/tools/zotero/utils/zotero_path.py +4 -12
- aiagents4pharma/talk2scholars/tools/zotero/utils/zotero_pdf_downloader.py +13 -27
- aiagents4pharma/talk2scholars/tools/zotero/zotero_read.py +4 -7
- aiagents4pharma/talk2scholars/tools/zotero/zotero_review.py +8 -10
- aiagents4pharma/talk2scholars/tools/zotero/zotero_write.py +3 -2
- {aiagents4pharma-1.43.0.dist-info → aiagents4pharma-1.45.0.dist-info}/METADATA +115 -50
- aiagents4pharma-1.45.0.dist-info/RECORD +324 -0
- {aiagents4pharma-1.43.0.dist-info → aiagents4pharma-1.45.0.dist-info}/WHEEL +1 -2
- aiagents4pharma-1.43.0.dist-info/RECORD +0 -293
- aiagents4pharma-1.43.0.dist-info/top_level.txt +0 -1
- /aiagents4pharma/talk2scholars/tests/{test_state.py → test_states_state.py} +0 -0
- /aiagents4pharma/talk2scholars/tests/{test_pdf_paper_loader.py → test_utils_pdf_paper_loader.py} +0 -0
- /aiagents4pharma/talk2scholars/tests/{test_tool_helper_utils.py → test_utils_tool_helper_utils.py} +0 -0
- /aiagents4pharma/talk2scholars/tests/{test_zotero_pdf_downloader_utils.py → test_utils_zotero_pdf_downloader_utils.py} +0 -0
- {aiagents4pharma-1.43.0.dist-info → aiagents4pharma-1.45.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,11 +1,12 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
2
|
|
3
|
-
|
3
|
+
"""
|
4
4
|
This tool is used to display the table of studies.
|
5
|
-
|
5
|
+
"""
|
6
6
|
|
7
7
|
import logging
|
8
8
|
from typing import Annotated
|
9
|
+
|
9
10
|
from langchain_core.tools import tool
|
10
11
|
from langgraph.prebuilt import InjectedState
|
11
12
|
|
@@ -13,7 +14,8 @@ from langgraph.prebuilt import InjectedState
|
|
13
14
|
logging.basicConfig(level=logging.INFO)
|
14
15
|
logger = logging.getLogger(__name__)
|
15
16
|
|
16
|
-
|
17
|
+
|
18
|
+
@tool("display_studies")
|
17
19
|
def display_studies(state: Annotated[dict, InjectedState]):
|
18
20
|
"""
|
19
21
|
Display the table of studies.
|
@@ -1,26 +1,28 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
2
|
|
3
|
-
|
3
|
+
"""
|
4
4
|
A tool to fetch studies from the Single Cell Portal.
|
5
|
-
|
5
|
+
"""
|
6
6
|
|
7
7
|
import logging
|
8
8
|
from typing import Annotated
|
9
|
+
|
10
|
+
import pandas as pd
|
9
11
|
import requests
|
12
|
+
from langchain_core.messages import ToolMessage
|
10
13
|
from langchain_core.tools import tool
|
11
14
|
from langchain_core.tools.base import InjectedToolCallId
|
12
|
-
from langchain_core.messages import ToolMessage
|
13
15
|
from langgraph.types import Command
|
14
|
-
import pandas as pd
|
15
16
|
|
16
17
|
# Initialize logger
|
17
18
|
logging.basicConfig(level=logging.INFO)
|
18
19
|
logger = logging.getLogger(__name__)
|
19
20
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
|
22
|
+
@tool("search_studies")
|
23
|
+
def search_studies(
|
24
|
+
search_term: str, tool_call_id: Annotated[str, InjectedToolCallId], limit: int = 5
|
25
|
+
):
|
24
26
|
"""
|
25
27
|
Fetch studies from single cell portal
|
26
28
|
|
@@ -30,16 +32,13 @@ def search_studies(search_term: str,
|
|
30
32
|
|
31
33
|
"""
|
32
34
|
logger.log(logging.INFO, "Calling the tool search_studies")
|
33
|
-
scp_endpoint =
|
35
|
+
scp_endpoint = "https://singlecell.broadinstitute.org/single_cell/api/v1/search?type=study"
|
34
36
|
# params = {'terms': search_term, 'facets': 'MONDO_0005011'}
|
35
|
-
params = {
|
37
|
+
params = {"terms": search_term}
|
36
38
|
status_code = 0
|
37
39
|
while status_code != 200:
|
38
40
|
# Make a GET request to the single cell portal
|
39
|
-
search_response = requests.get(scp_endpoint,
|
40
|
-
params=params,
|
41
|
-
timeout=10,
|
42
|
-
verify=False)
|
41
|
+
search_response = requests.get(scp_endpoint, params=params, timeout=10, verify=False)
|
43
42
|
status_code = search_response.status_code
|
44
43
|
logger.log(logging.INFO, "Status code %s received from SCP")
|
45
44
|
|
@@ -48,20 +47,20 @@ def search_studies(search_term: str,
|
|
48
47
|
|
49
48
|
# Extract the data from the response
|
50
49
|
# with the selected columns
|
51
|
-
df = pd.DataFrame(search_response.json()[
|
50
|
+
df = pd.DataFrame(search_response.json()["studies"])[selected_columns]
|
52
51
|
|
53
52
|
# Convert column 'Study Name' into clickable
|
54
53
|
# hyperlinks from the column 'Study URL'
|
55
|
-
scp_api_url =
|
56
|
-
df[
|
57
|
-
|
58
|
-
|
54
|
+
scp_api_url = "https://singlecell.broadinstitute.org"
|
55
|
+
df["name"] = df.apply(
|
56
|
+
lambda x: f'<a href="{scp_api_url}/{x["study_url"]}">{x["name"]}</a>', axis=1
|
57
|
+
)
|
59
58
|
|
60
59
|
# Excldue the column 'Study URL' from the dataframe
|
61
|
-
df = df.drop(columns=[
|
60
|
+
df = df.drop(columns=["study_url"])
|
62
61
|
|
63
62
|
# Add a new column a the beginning of the dataframe with row numbers
|
64
|
-
df.insert(0,
|
63
|
+
df.insert(0, "S/N", range(1, 1 + len(df)))
|
65
64
|
|
66
65
|
# Update the state key 'search_table' with the dataframe in markdown format
|
67
66
|
return Command(
|
@@ -72,7 +71,7 @@ def search_studies(search_term: str,
|
|
72
71
|
"messages": [
|
73
72
|
ToolMessage(
|
74
73
|
f"Successfully fetched {limit} studies on {search_term}.",
|
75
|
-
tool_call_id=tool_call_id
|
74
|
+
tool_call_id=tool_call_id,
|
76
75
|
)
|
77
76
|
],
|
78
77
|
}
|
@@ -0,0 +1,103 @@
|
|
1
|
+
# syntax=docker/dockerfile:1
|
2
|
+
|
3
|
+
# Dockerfile for the talk2knowledgegraphs application
|
4
|
+
# Multi-stage build for optimized image size with UV package manager
|
5
|
+
|
6
|
+
ARG BASE_IMAGE=ubuntu:24.04
|
7
|
+
ARG PYTHON_VERSION=3.12
|
8
|
+
|
9
|
+
FROM ${BASE_IMAGE} AS dev-base
|
10
|
+
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
11
|
+
build-essential \
|
12
|
+
ca-certificates \
|
13
|
+
cmake \
|
14
|
+
curl \
|
15
|
+
g++ \
|
16
|
+
libopenblas-dev \
|
17
|
+
libomp-dev \
|
18
|
+
ninja-build \
|
19
|
+
wget \
|
20
|
+
&& rm -rf /var/lib/apt/lists/*
|
21
|
+
|
22
|
+
FROM dev-base AS python-install
|
23
|
+
ARG PYTHON_VERSION=3.12
|
24
|
+
|
25
|
+
# Install Python (available in Ubuntu 24.04 default repos)
|
26
|
+
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
27
|
+
python${PYTHON_VERSION} \
|
28
|
+
python${PYTHON_VERSION}-dev \
|
29
|
+
python${PYTHON_VERSION}-venv \
|
30
|
+
python3-pip \
|
31
|
+
&& rm -rf /var/lib/apt/lists/* \
|
32
|
+
&& update-alternatives --install /usr/bin/python3 python3 /usr/bin/python${PYTHON_VERSION} 1 \
|
33
|
+
&& update-alternatives --install /usr/bin/python python /usr/bin/python${PYTHON_VERSION} 1
|
34
|
+
|
35
|
+
FROM python-install AS uv-install
|
36
|
+
WORKDIR /app
|
37
|
+
|
38
|
+
# Install UV package manager and dependencies
|
39
|
+
COPY pyproject.toml uv.lock* ./
|
40
|
+
RUN curl -LsSf https://astral.sh/uv/install.sh | sh && \
|
41
|
+
export PATH="/root/.local/bin:$PATH" && \
|
42
|
+
export UV_PROJECT_ENVIRONMENT="/opt/venv" && \
|
43
|
+
uv sync --frozen --extra dev --no-install-project --python python${PYTHON_VERSION} && \
|
44
|
+
. /opt/venv/bin/activate && \
|
45
|
+
uv pip install \
|
46
|
+
--extra-index-url=https://pypi.nvidia.com \
|
47
|
+
--index-strategy unsafe-best-match \
|
48
|
+
cudf-cu12 dask-cudf-cu12 && \
|
49
|
+
uv cache clean
|
50
|
+
|
51
|
+
FROM ${BASE_IMAGE} AS runtime
|
52
|
+
ARG PYTHON_VERSION=3.12
|
53
|
+
LABEL maintainer="talk2knowledgegraphs"
|
54
|
+
LABEL version="1.0.0"
|
55
|
+
LABEL description="AI Agents for Pharma - Knowledge Graphs Application"
|
56
|
+
|
57
|
+
# Install runtime dependencies
|
58
|
+
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
59
|
+
ca-certificates \
|
60
|
+
curl \
|
61
|
+
libmagic1 \
|
62
|
+
libopenblas0 \
|
63
|
+
libomp5 \
|
64
|
+
python${PYTHON_VERSION} \
|
65
|
+
&& rm -rf /var/lib/apt/lists/* \
|
66
|
+
&& update-alternatives --install /usr/bin/python3 python3 /usr/bin/python${PYTHON_VERSION} 1 \
|
67
|
+
&& update-alternatives --install /usr/bin/python python /usr/bin/python${PYTHON_VERSION} 1
|
68
|
+
|
69
|
+
# Copy UV virtual environment from build stage
|
70
|
+
COPY --from=uv-install /opt/venv /opt/venv
|
71
|
+
|
72
|
+
# Set environment variables
|
73
|
+
ENV PATH="/opt/venv/bin:$PATH"
|
74
|
+
ENV PYTHONPATH="/app"
|
75
|
+
ENV PYTHONUNBUFFERED=1
|
76
|
+
ENV PYTHONDONTWRITEBYTECODE=1
|
77
|
+
ENV STREAMLIT_SERVER_HEADLESS=true
|
78
|
+
ENV STREAMLIT_SERVER_ENABLE_CORS=false
|
79
|
+
|
80
|
+
# Set working directory and create necessary directories
|
81
|
+
WORKDIR /app
|
82
|
+
|
83
|
+
# Copy application code
|
84
|
+
COPY aiagents4pharma/talk2knowledgegraphs /app/aiagents4pharma/talk2knowledgegraphs
|
85
|
+
COPY docs /app/docs
|
86
|
+
COPY app /app/app
|
87
|
+
|
88
|
+
# Copy and set up the entrypoint script
|
89
|
+
COPY aiagents4pharma/talk2knowledgegraphs/entrypoint.sh /usr/local/bin/entrypoint.sh
|
90
|
+
RUN chmod +x /usr/local/bin/entrypoint.sh
|
91
|
+
|
92
|
+
# Health check for production monitoring
|
93
|
+
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
|
94
|
+
CMD curl -f http://localhost:8501/health || exit 1
|
95
|
+
|
96
|
+
# Expose the default Streamlit port
|
97
|
+
EXPOSE 8501
|
98
|
+
|
99
|
+
# Set the entrypoint
|
100
|
+
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
101
|
+
|
102
|
+
# Default command (can be overridden)
|
103
|
+
CMD ["streamlit", "run", "/app/app/frontend/streamlit_app_talk2knowledgegraphs.py", "--server.port=8501", "--server.address=0.0.0.0"]
|
@@ -0,0 +1 @@
|
|
1
|
+
Please check out the README file in the root folder for more information.
|
@@ -1,34 +1,42 @@
|
|
1
|
-
|
1
|
+
"""
|
2
2
|
This is the agent file for the Talk2KnowledgeGraphs agent.
|
3
|
-
|
3
|
+
"""
|
4
4
|
|
5
5
|
import logging
|
6
6
|
from typing import Annotated
|
7
|
+
|
7
8
|
import hydra
|
8
9
|
from langchain_core.language_models.chat_models import BaseChatModel
|
9
10
|
from langgraph.checkpoint.memory import MemorySaver
|
10
11
|
from langgraph.graph import START, StateGraph
|
11
|
-
from langgraph.prebuilt import
|
12
|
+
from langgraph.prebuilt import InjectedState, ToolNode, create_react_agent
|
13
|
+
|
14
|
+
from ..states.state_talk2knowledgegraphs import Talk2KnowledgeGraphs
|
15
|
+
from ..tools.graphrag_reasoning import GraphRAGReasoningTool
|
16
|
+
|
12
17
|
# from ..tools.multimodal_subgraph_extraction import MultimodalSubgraphExtractionTool
|
13
|
-
from ..tools.milvus_multimodal_subgraph_extraction import
|
18
|
+
from ..tools.milvus_multimodal_subgraph_extraction import (
|
19
|
+
MultimodalSubgraphExtractionTool,
|
20
|
+
)
|
21
|
+
|
14
22
|
# from ..tools.cu2_multimodal_subgraph_extraction import MultimodalSubgraphExtractionTool
|
15
23
|
# from ..tools.gsfs_multimodal_subgraph_extraction import MultimodalSubgraphExtractionTool
|
16
24
|
from ..tools.subgraph_summarization import SubgraphSummarizationTool
|
17
|
-
from ..tools.graphrag_reasoning import GraphRAGReasoningTool
|
18
|
-
from ..states.state_talk2knowledgegraphs import Talk2KnowledgeGraphs
|
19
25
|
|
20
26
|
# Initialize logger
|
21
27
|
logging.basicConfig(level=logging.INFO)
|
22
28
|
logger = logging.getLogger(__name__)
|
23
29
|
|
30
|
+
|
24
31
|
def get_app(uniq_id, llm_model: BaseChatModel):
|
25
|
-
|
32
|
+
"""
|
26
33
|
This function returns the langraph app.
|
27
|
-
|
34
|
+
"""
|
35
|
+
|
28
36
|
def agent_t2kg_node(state: Annotated[dict, InjectedState]):
|
29
|
-
|
37
|
+
"""
|
30
38
|
This function calls the model.
|
31
|
-
|
39
|
+
"""
|
32
40
|
logger.log(logging.INFO, "Calling t2kg_agent node with thread_id %s", uniq_id)
|
33
41
|
response = model.invoke(state, {"configurable": {"thread_id": uniq_id}})
|
34
42
|
|
@@ -37,29 +45,30 @@ def get_app(uniq_id, llm_model: BaseChatModel):
|
|
37
45
|
# Load hydra configuration
|
38
46
|
logger.log(logging.INFO, "Load Hydra configuration for Talk2KnowledgeGraphs agent.")
|
39
47
|
with hydra.initialize(version_base=None, config_path="../configs"):
|
40
|
-
cfg = hydra.compose(config_name=
|
41
|
-
overrides=['agents/t2kg_agent=default'])
|
48
|
+
cfg = hydra.compose(config_name="config", overrides=["agents/t2kg_agent=default"])
|
42
49
|
cfg = cfg.agents.t2kg_agent
|
43
50
|
|
44
51
|
# Define the tools
|
45
52
|
subgraph_extraction = MultimodalSubgraphExtractionTool()
|
46
53
|
subgraph_summarization = SubgraphSummarizationTool()
|
47
54
|
graphrag_reasoning = GraphRAGReasoningTool()
|
48
|
-
tools = ToolNode(
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
55
|
+
tools = ToolNode(
|
56
|
+
[
|
57
|
+
subgraph_extraction,
|
58
|
+
subgraph_summarization,
|
59
|
+
graphrag_reasoning,
|
60
|
+
]
|
61
|
+
)
|
53
62
|
|
54
63
|
# Create the agent
|
55
64
|
model = create_react_agent(
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
65
|
+
llm_model,
|
66
|
+
tools=tools,
|
67
|
+
state_schema=Talk2KnowledgeGraphs,
|
68
|
+
prompt=cfg.state_modifier,
|
69
|
+
version="v2",
|
70
|
+
checkpointer=MemorySaver(),
|
71
|
+
)
|
63
72
|
|
64
73
|
# Define a new graph
|
65
74
|
workflow = StateGraph(Talk2KnowledgeGraphs)
|
@@ -79,11 +88,12 @@ def get_app(uniq_id, llm_model: BaseChatModel):
|
|
79
88
|
# meaning you can use it as you would any other runnable.
|
80
89
|
# Note that we're (optionally) passing the memory
|
81
90
|
# when compiling the graph
|
82
|
-
app = workflow.compile(checkpointer=checkpointer,
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
91
|
+
app = workflow.compile(checkpointer=checkpointer, name="T2KG_Agent")
|
92
|
+
logger.log(
|
93
|
+
logging.INFO,
|
94
|
+
"Compiled the graph with thread_id %s and llm_model %s",
|
95
|
+
uniq_id,
|
96
|
+
llm_model,
|
97
|
+
)
|
88
98
|
|
89
99
|
return app
|
@@ -1,3 +1,3 @@
|
|
1
|
-
|
1
|
+
"""
|
2
2
|
Import all the modules in the package
|
3
|
-
|
3
|
+
"""
|
@@ -1,7 +1,7 @@
|
|
1
1
|
_target_: agents.t2kg_agent.get_app
|
2
2
|
state_modifier: >
|
3
3
|
You are talk2knowledgegraphs agent, a helpful assistant for reasoning over knowledge graphs.
|
4
|
-
User can ask questions related to the knowledge graphs, and you will provide the answers using
|
4
|
+
User can ask questions related to the knowledge graphs, and you will provide the answers using
|
5
5
|
the provided tools as follows (if necessary):
|
6
6
|
[`subgraph_extraction`, `subgraph_summarization`, `graphrag_reasoning`].
|
7
7
|
|
@@ -17,19 +17,19 @@ state_modifier: >
|
|
17
17
|
- `graphrag_reasoning`: Reason over the extracted textualized subgraph to answer the user's
|
18
18
|
prompt by also considering the context from the extracted subgraph and the retrieved
|
19
19
|
documents. User may also have a set of uploaded files that can be used to provide additional
|
20
|
-
information for reasoning. The history of previous conversations should be considered as well,
|
20
|
+
information for reasoning. The history of previous conversations should be considered as well,
|
21
21
|
and you as an agent should provide which conversations can be included as chat history.
|
22
22
|
|
23
|
-
As an agent, you should approach each request by first understanding the user's query and then
|
24
|
-
following the appropriate steps to provide the best answer possible.
|
23
|
+
As an agent, you should approach each request by first understanding the user's query and then
|
24
|
+
following the appropriate steps to provide the best answer possible.
|
25
25
|
|
26
26
|
**Execution Steps**:
|
27
27
|
- Understand thoroughly the user's query and think over the best approach to answer it.
|
28
|
-
- You may not need to call any tool for each user's query. Use the related tool(s) as needed.
|
28
|
+
- You may not need to call any tool for each user's query. Use the related tool(s) as needed.
|
29
29
|
Think deeply whether it is necessary to call any tool to respond to the user's request.
|
30
30
|
- Call `subgraph_extraction` if there is any indication that the user needs to get the
|
31
31
|
information from the knowledge graph, which is not directly available as context in the prompt or
|
32
|
-
in the previous extracted subgraph.
|
32
|
+
in the previous extracted subgraph.
|
33
33
|
If the user asks for subgraph extraction, suggest a value for the `extraction_name` argument.
|
34
34
|
You should always follow it with `subgraph_summarization` as the next tool to be invoked.
|
35
35
|
- Call `subgraph_summarization` tool to summarize the extracted subgraph and provide
|
@@ -43,7 +43,7 @@ state_modifier: >
|
|
43
43
|
the answer can be retrieved from the previously extracted subgraph.
|
44
44
|
- Call `graphrag_reasoning` tool to reason over the extracted subgraph and documents.
|
45
45
|
Always perform reasoning over the extracted subgraph and documents to provide
|
46
|
-
the best possible answer to the user's query. Before calling this tool,
|
46
|
+
the best possible answer to the user's query. Before calling this tool,
|
47
47
|
make sure you have access to the summarized subgraph obtained from `subgraph_summarization` tool.
|
48
48
|
- By default, if the user asks for a specific question about the extracted graph, you should
|
49
49
|
call `subgraph_summarization` followed by `graphrag_reasoning` if the most recent subgraphs
|
@@ -59,4 +59,4 @@ state_modifier: >
|
|
59
59
|
is not enough to answer the user's question.
|
60
60
|
- `subgraph_summarization` -> `graphrag_reasoning` when the user asks for the previously extracted
|
61
61
|
subgraph. Use the summarized subgraph as the subgraph context in the `graphrag_reasoning` tool.
|
62
|
-
- Do not call `graphrag_reasoning` tool without calling `subgraph_summarization` tool first.
|
62
|
+
- Do not call `graphrag_reasoning` tool without calling `subgraph_summarization` tool first.
|
@@ -1,3 +1,3 @@
|
|
1
|
-
|
1
|
+
"""
|
2
2
|
Import all the modules in the package
|
3
|
-
|
3
|
+
"""
|
@@ -60,4 +60,4 @@ milvus_db:
|
|
60
60
|
collection_nodes_drug: "t2kg_primekg_nodes_drug"
|
61
61
|
collection_nodes_disease: "t2kg_primekg_nodes_disease"
|
62
62
|
query_batch_size: 1000000
|
63
|
-
cache_edge_index_path: "${oc.env:CACHE_EDGE_INDEX_PATH,aiagents4pharma/talk2knowledgegraphs/tests/files/t2kg_primekg_edge_index.pkl}"
|
63
|
+
cache_edge_index_path: "${oc.env:CACHE_EDGE_INDEX_PATH,aiagents4pharma/talk2knowledgegraphs/tests/files/t2kg_primekg_edge_index.pkl}"
|
@@ -1,3 +1,3 @@
|
|
1
|
-
|
1
|
+
"""
|
2
2
|
Import all the modules in the package
|
3
|
-
|
3
|
+
"""
|
aiagents4pharma/talk2knowledgegraphs/configs/tools/multimodal_subgraph_extraction/default.yaml
CHANGED
@@ -3,6 +3,8 @@ ollama_embeddings:
|
|
3
3
|
- "nomic-embed-text"
|
4
4
|
temperature: 0.1
|
5
5
|
streaming: False
|
6
|
+
|
7
|
+
# PCST Algorithm Parameters
|
6
8
|
topk: 15
|
7
9
|
topk_e: 15
|
8
10
|
cost_e: 0.5
|
@@ -11,7 +13,20 @@ root: -1
|
|
11
13
|
num_clusters: 1
|
12
14
|
pruning: "gw"
|
13
15
|
verbosity_level: 0
|
14
|
-
|
16
|
+
|
17
|
+
# Hardware-Specific Vector Processing
|
18
|
+
vector_processing:
|
19
|
+
# Enable dynamic metric type selection based on hardware
|
20
|
+
dynamic_metrics: true
|
21
|
+
|
22
|
+
# Milvus Database Configuration
|
23
|
+
milvus_db:
|
24
|
+
# Database and collection names
|
25
|
+
database_name: "t2kg_primekg"
|
26
|
+
|
27
|
+
# Cache settings for edge index
|
28
|
+
cache_edge_index_path: "${oc.env:CACHE_EDGE_INDEX_PATH,aiagents4pharma/talk2knowledgegraphs/tests/files/t2kg_primekg_edge_index.pkl}"
|
29
|
+
|
15
30
|
node_id_column: "node_id"
|
16
31
|
node_attr_column: "node_attr"
|
17
32
|
edge_src_column: "edge_src"
|
@@ -34,4 +49,4 @@ biobridge:
|
|
34
49
|
- "cellular_component"
|
35
50
|
- "biological_process"
|
36
51
|
- "drug"
|
37
|
-
- "disease"
|
52
|
+
- "disease"
|
@@ -1,3 +1,3 @@
|
|
1
|
-
|
1
|
+
"""
|
2
2
|
Import all the modules in the package
|
3
|
-
|
3
|
+
"""
|
@@ -1,3 +1,3 @@
|
|
1
|
-
|
1
|
+
"""
|
2
2
|
Import all the modules in the package
|
3
|
-
|
3
|
+
"""
|
@@ -2,4 +2,4 @@ _target_: talk2knowledgegraphs.utils.pubchem_utils
|
|
2
2
|
pubchem_cid_base_url: https://pubchem.ncbi.nlm.nih.gov/rest/pug/substance/sourceid/
|
3
3
|
pubchem_cid_description_url: https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/
|
4
4
|
pubchem_casrn2cid_url: https://pubchem.ncbi.nlm.nih.gov/rest/pug/substance/xref/RN/
|
5
|
-
pubchem_cid2smiles_url: https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/
|
5
|
+
pubchem_cid2smiles_url: https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/
|
@@ -1,7 +1,5 @@
|
|
1
|
-
|
1
|
+
"""
|
2
2
|
This file is used to import all the models in the package.
|
3
|
-
|
4
|
-
|
5
|
-
from . import primekg
|
6
|
-
from . import starkqa_primekg
|
7
|
-
from . import biobridge_primekg
|
3
|
+
"""
|
4
|
+
|
5
|
+
from . import biobridge_primekg, dataset, primekg, starkqa_primekg
|