aiagents4pharma 1.9.0__py3-none-any.whl → 1.11.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.
Files changed (33) hide show
  1. aiagents4pharma/__init__.py +9 -6
  2. aiagents4pharma/talk2biomodels/agents/t2b_agent.py +7 -10
  3. aiagents4pharma/talk2biomodels/models/basico_model.py +29 -32
  4. aiagents4pharma/talk2biomodels/models/sys_bio_model.py +9 -6
  5. aiagents4pharma/talk2biomodels/states/state_talk2biomodels.py +3 -3
  6. aiagents4pharma/talk2biomodels/tests/test_basico_model.py +7 -8
  7. aiagents4pharma/talk2biomodels/tests/test_langgraph.py +64 -2
  8. aiagents4pharma/talk2biomodels/tests/test_sys_bio_model.py +13 -7
  9. aiagents4pharma/talk2biomodels/tools/__init__.py +1 -0
  10. aiagents4pharma/talk2biomodels/tools/get_modelinfo.py +5 -3
  11. aiagents4pharma/talk2biomodels/tools/parameter_scan.py +292 -0
  12. aiagents4pharma/talk2biomodels/tools/simulate_model.py +9 -11
  13. aiagents4pharma/talk2competitors/__init__.py +5 -0
  14. aiagents4pharma/talk2competitors/agents/__init__.py +6 -0
  15. aiagents4pharma/talk2competitors/agents/main_agent.py +130 -0
  16. aiagents4pharma/talk2competitors/agents/s2_agent.py +75 -0
  17. aiagents4pharma/talk2competitors/config/__init__.py +5 -0
  18. aiagents4pharma/talk2competitors/config/config.py +110 -0
  19. aiagents4pharma/talk2competitors/state/__init__.py +5 -0
  20. aiagents4pharma/talk2competitors/state/state_talk2competitors.py +32 -0
  21. aiagents4pharma/talk2competitors/tests/__init__.py +3 -0
  22. aiagents4pharma/talk2competitors/tests/test_langgraph.py +274 -0
  23. aiagents4pharma/talk2competitors/tools/__init__.py +7 -0
  24. aiagents4pharma/talk2competitors/tools/s2/__init__.py +8 -0
  25. aiagents4pharma/talk2competitors/tools/s2/display_results.py +25 -0
  26. aiagents4pharma/talk2competitors/tools/s2/multi_paper_rec.py +132 -0
  27. aiagents4pharma/talk2competitors/tools/s2/search.py +119 -0
  28. aiagents4pharma/talk2competitors/tools/s2/single_paper_rec.py +141 -0
  29. {aiagents4pharma-1.9.0.dist-info → aiagents4pharma-1.11.0.dist-info}/METADATA +39 -23
  30. {aiagents4pharma-1.9.0.dist-info → aiagents4pharma-1.11.0.dist-info}/RECORD +33 -17
  31. {aiagents4pharma-1.9.0.dist-info → aiagents4pharma-1.11.0.dist-info}/LICENSE +0 -0
  32. {aiagents4pharma-1.9.0.dist-info → aiagents4pharma-1.11.0.dist-info}/WHEEL +0 -0
  33. {aiagents4pharma-1.9.0.dist-info → aiagents4pharma-1.11.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,141 @@
1
+ #!/usr/bin/env python3
2
+
3
+ """
4
+ This tool is used to return recommendations for a single paper.
5
+ """
6
+
7
+ import logging
8
+ from typing import Annotated, Any, Dict, Optional
9
+
10
+ import pandas as pd
11
+ import requests
12
+ from langchain_core.messages import ToolMessage
13
+ from langchain_core.tools import tool
14
+ from langchain_core.tools.base import InjectedToolCallId
15
+ from langgraph.types import Command
16
+ from pydantic import BaseModel, Field
17
+
18
+ # Configure logging
19
+ logging.basicConfig(level=logging.INFO)
20
+ logger = logging.getLogger(__name__)
21
+
22
+
23
+ class SinglePaperRecInput(BaseModel):
24
+ """Input schema for single paper recommendation tool."""
25
+
26
+ paper_id: str = Field(
27
+ description="Semantic Scholar Paper ID to get recommendations for (40-character string)"
28
+ )
29
+ limit: int = Field(
30
+ default=2,
31
+ description="Maximum number of recommendations to return",
32
+ ge=1,
33
+ le=500,
34
+ )
35
+ year: Optional[str] = Field(
36
+ default=None,
37
+ description="Year range in format: YYYY for specific year, "
38
+ "YYYY- for papers after year, -YYYY for papers before year, or YYYY:YYYY for range",
39
+ )
40
+ tool_call_id: Annotated[str, InjectedToolCallId]
41
+ model_config = {"arbitrary_types_allowed": True}
42
+
43
+
44
+ @tool(args_schema=SinglePaperRecInput)
45
+ def get_single_paper_recommendations(
46
+ paper_id: str,
47
+ tool_call_id: Annotated[str, InjectedToolCallId],
48
+ limit: int = 2,
49
+ year: Optional[str] = None,
50
+ ) -> Dict[str, Any]:
51
+ """
52
+ Get paper recommendations based on a single paper.
53
+
54
+ Args:
55
+ paper_id (str): The Semantic Scholar Paper ID to get recommendations for.
56
+ tool_call_id (Annotated[str, InjectedToolCallId]): The tool call ID.
57
+ limit (int, optional): The maximum number of recommendations to return. Defaults to 2.
58
+ year (str, optional): Year range for papers.
59
+ Supports formats like "2024-", "-2024", "2024:2025". Defaults to None.
60
+
61
+ Returns:
62
+ Dict[str, Any]: The recommendations and related information.
63
+ """
64
+ logger.info("Starting single paper recommendations search.")
65
+
66
+ endpoint = (
67
+ f"https://api.semanticscholar.org/recommendations/v1/papers/forpaper/{paper_id}"
68
+ )
69
+ params = {
70
+ "limit": min(limit, 500), # Max 500 per API docs
71
+ "fields": "paperId,title,abstract,year,authors,citationCount,url",
72
+ "from": "all-cs", # Using all-cs pool as specified in docs
73
+ }
74
+
75
+ # Add year parameter if provided
76
+ if year:
77
+ params["year"] = year
78
+
79
+ response = requests.get(endpoint, params=params, timeout=10)
80
+ data = response.json()
81
+ papers = data.get("data", [])
82
+ response = requests.get(endpoint, params=params, timeout=10)
83
+ # print(f"API Response Status: {response.status_code}")
84
+ logging.info(
85
+ "API Response Status for recommendations of paper %s: %s",
86
+ paper_id,
87
+ response.status_code,
88
+ )
89
+ # print(f"Request params: {params}")
90
+ logging.info("Request params: %s", params)
91
+
92
+ data = response.json()
93
+ recommendations = data.get("recommendedPapers", [])
94
+
95
+ # Extract paper ID and title from recommendations
96
+ filtered_papers = {
97
+ paper["paperId"]: {
98
+ "Title": paper.get("title", "N/A"),
99
+ "Abstract": paper.get("abstract", "N/A"),
100
+ "Year": paper.get("year", "N/A"),
101
+ "Citation Count": paper.get("citationCount", "N/A"),
102
+ "URL": paper.get("url", "N/A"),
103
+ # "Publication Type": paper.get("publicationTypes", ["N/A"])[0]
104
+ # if paper.get("publicationTypes")
105
+ # else "N/A",
106
+ # "Open Access PDF": paper.get("openAccessPdf", {}).get("url", "N/A")
107
+ # if paper.get("openAccessPdf") is not None
108
+ # else "N/A",
109
+ }
110
+ for paper in recommendations
111
+ if paper.get("title") and paper.get("authors")
112
+ }
113
+
114
+ # Create a DataFrame for pretty printing
115
+ df = pd.DataFrame(filtered_papers)
116
+
117
+ # Format papers for state update
118
+ papers = [
119
+ f"Paper ID: {paper_id}\n"
120
+ f"Title: {paper_data['Title']}\n"
121
+ f"Abstract: {paper_data['Abstract']}\n"
122
+ f"Year: {paper_data['Year']}\n"
123
+ f"Citations: {paper_data['Citation Count']}\n"
124
+ f"URL: {paper_data['URL']}\n"
125
+ # f"Publication Type: {paper_data['Publication Type']}\n"
126
+ # f"Open Access PDF: {paper_data['Open Access PDF']}"
127
+ for paper_id, paper_data in filtered_papers.items()
128
+ ]
129
+
130
+ # Convert DataFrame to markdown table
131
+ markdown_table = df.to_markdown(tablefmt="grid")
132
+ logging.info("Search results: %s", papers)
133
+
134
+ return Command(
135
+ update={
136
+ "papers": filtered_papers, # Now sending the dictionary directly
137
+ "messages": [
138
+ ToolMessage(content=markdown_table, tool_call_id=tool_call_id)
139
+ ],
140
+ }
141
+ )
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: aiagents4pharma
3
- Version: 1.9.0
3
+ Version: 1.11.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
7
7
  Classifier: Operating System :: OS Independent
8
- Requires-Python: >=3.10
8
+ Requires-Python: >=3.12
9
9
  Description-Content-Type: text/markdown
10
10
  License-File: LICENSE
11
11
  Requires-Dist: copasi_basico==0.78
@@ -48,6 +48,9 @@ Requires-Dist: streamlit-feedback
48
48
  [![Talk2Cells](https://github.com/VirtualPatientEngine/AIAgents4Pharma/actions/workflows/tests_talk2cells.yml/badge.svg)](https://github.com/VirtualPatientEngine/AIAgents4Pharma/actions/workflows/tests_talk2cells.yml)
49
49
  [![Talk2KnowledgeGraphs](https://github.com/VirtualPatientEngine/AIAgents4Pharma/actions/workflows/tests_talk2knowledgegraphs.yml/badge.svg)](https://github.com/VirtualPatientEngine/AIAgents4Pharma/actions/workflows/tests_talk2knowledgegraphs.yml)
50
50
  [![Talk2Competitors](https://github.com/VirtualPatientEngine/AIAgents4Pharma/actions/workflows/tests_talk2competitors.yml/badge.svg)](https://github.com/VirtualPatientEngine/AIAgents4Pharma/actions/workflows/tests_talk2competitors.yml)
51
+ ![GitHub Release](https://img.shields.io/github/v/release/VirtualPatientEngine/AIAgents4Pharma)
52
+ ![Python Version from PEP 621 TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2FVirtualPatientEngine%2FAIAgents4Pharma%2Frefs%2Fheads%2Fmain%2Fpyproject.toml)
53
+
51
54
 
52
55
  <h1 align="center" style="border-bottom: none;">🤖 AIAgents4Pharma</h1>
53
56
 
@@ -56,9 +59,9 @@ Welcome to **AIAgents4Pharma** – an open-source project by [Team VPE](https://
56
59
  Our toolkit currently consists of three intelligent agents, each designed to simplify and enhance access to specialized data in biology:
57
60
 
58
61
  - **Talk2BioModels**: Engage directly with mathematical models in systems biology.
59
- - **Talk2Cells** *(Work in progress)*: Query and analyze sequencing data with ease.
60
- - **Talk2KnowledgeGraphs** *(Work in progress)*: Access and explore complex biological knowledge graphs for insightful data connections.
61
- - **Talk2Competitors** *(Coming soon)*: Get recommendations for articles related to your choice. Download, query, and write/retrieve them to your reference manager (currently supporting Zotero).
62
+ - **Talk2Cells** _(Work in progress)_: Query and analyze sequencing data with ease.
63
+ - **Talk2KnowledgeGraphs** _(Work in progress)_: Access and explore complex biological knowledge graphs for insightful data connections.
64
+ - **Talk2Competitors** _(Coming soon)_: Get recommendations for articles related to your choice. Download, query, and write/retrieve them to your reference manager (currently supporting Zotero).
62
65
 
63
66
  ---
64
67
 
@@ -71,68 +74,77 @@ Our toolkit currently consists of three intelligent agents, each designed to sim
71
74
  - Forward simulation of both internal and open-source models (BioModels).
72
75
  - Adjust parameters within the model to simulate different conditions.
73
76
  - Query simulation results.
77
+ - Extract model information such as species, parameters, units and description.
74
78
 
75
- ### 2. Talk2Cells *(Work in Progress)*
79
+ ### 2. Talk2Cells _(Work in Progress)_
76
80
 
77
81
  **Talk2Cells** is being developed to provide direct access to and analysis of sequencing data, such as RNA-Seq or DNA-Seq, using natural language.
78
82
 
79
- ### 3. Talk2KnowledgeGraphs *(Work in Progress)*
83
+ ### 3. Talk2KnowledgeGraphs _(Work in Progress)_
80
84
 
81
85
  **Talk2KnowledgeGraphs** is an agent designed to enable interaction with biological knowledge graphs (KGs). KGs integrate vast amounts of structured biological data into a format that highlights relationships between entities, such as proteins, genes, and diseases.
82
86
 
83
- ### 4. Talk2KnowledgeGraphs *(Coming soon)*
87
+ ### 4. Talk2Competitors _(Coming soon)_
84
88
 
85
89
  ## Getting Started
86
90
 
87
- ### Prerequisites
88
-
89
- - **Python 3.10+**
90
- - **Git**
91
- - Required libraries specified in `requirements.txt`
91
+ ![Python Version from PEP 621 TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2FVirtualPatientEngine%2FAIAgents4Pharma%2Frefs%2Fheads%2Fmain%2Fpyproject.toml)
92
92
 
93
93
  ### Installation
94
+
94
95
  #### Option 1: PyPI
95
- ```bash
96
- pip install aiagents4pharma
97
- ```
96
+
97
+ ```bash
98
+ pip install aiagents4pharma
99
+ ```
98
100
 
99
101
  Check out the tutorials on each agent for detailed instrcutions.
100
102
 
101
103
  #### Option 2: git
104
+
102
105
  1. **Clone the repository:**
106
+
103
107
  ```bash
104
108
  git clone https://github.com/VirtualPatientEngine/AIAgents4Pharma
105
109
  cd AIAgents4Pharma
106
110
  ```
107
111
 
108
112
  2. **Install dependencies:**
113
+
109
114
  ```bash
110
115
  pip install .
111
116
  ```
112
117
 
113
118
  3. **Initialize OPENAI_API_KEY**
119
+
114
120
  ```bash
115
- export OPENAI_API_KEY = ....
121
+ export OPENAI_API_KEY=....
116
122
  ```
117
123
 
118
124
  4. **[Optional] Set up login credentials**
125
+
119
126
  ```bash
120
127
  vi .streamlit/secrets.toml
121
128
  ```
129
+
122
130
  and enter
131
+
123
132
  ```
124
133
  password='XXX'
125
134
  ```
126
- Please note that the passowrd will be same for all the users.
135
+
136
+ Please note that the passoword will be same for all the users.
127
137
 
128
138
  5. **[Optional] Initialize LANGSMITH_API_KEY**
139
+
129
140
  ```bash
130
141
  export LANGCHAIN_TRACING_V2=true
131
142
  export LANGCHAIN_API_KEY=<your-api-key>
132
143
  ```
133
- Please note that this will create a new tracing project in your Langsmith
134
- account with the name `<user_name>@<uuid>`, where `user_name` is the name
135
- you provided in the previous step. If you skip the previous step, it will
144
+
145
+ Please note that this will create a new tracing project in your Langsmith
146
+ account with the name `<user_name>@<uuid>`, where `user_name` is the name
147
+ you provided in the previous step. If you skip the previous step, it will
136
148
  default to `default`. <uuid> will be the 128 bit unique ID created for the
137
149
  session.
138
150
 
@@ -164,6 +176,7 @@ We welcome contributions to AIAgents4Pharma! Here’s how you can help:
164
176
  5. **Open a pull request**
165
177
 
166
178
  ### Current Needs
179
+
167
180
  - **Beta testers** for Talk2BioModels.
168
181
  - **Developers** with experience in natural language processing, bioinformatics, or knowledge graphs for contributions to AIAgents4Pharma.
169
182
 
@@ -174,19 +187,22 @@ Check out our [CONTRIBUTING.md](CONTRIBUTING.md) for more information.
174
187
  ## Roadmap
175
188
 
176
189
  ### Completed
190
+
177
191
  - **Talk2BioModels**: Initial release with core capabilities for interacting with systems biology models.
178
192
 
179
193
  ### Planned
194
+
180
195
  - **User Interface**: Interactive web UI for all agents.
181
196
  - **Talk2Cells**: Integration of sequencing data analysis tools.
182
197
  - **Talk2KnowledgeGraphs**: Interface for biological knowledge graph interaction.
183
- - **Talk2Competitors**
198
+ - **Talk2Competitors**: Interface for exploring articles
184
199
 
185
- We’re excited to bring AIAgents4Pharma to the bioinformatics and pharmaceutical research community. Together, let’s make data-driven biological research more accessible and insightful.
200
+ We’re excited to bring AIAgents4Pharma to the bioinformatics and pharmaceutical research community. Together, let’s make data-driven biological research more accessible and insightful.
186
201
 
187
202
  **Get Started** with AIAgents4Pharma today and transform the way you interact with biological data.
188
203
 
189
204
  ---
190
205
 
191
206
  ## Feedback
207
+
192
208
  Questions/Bug reports/Feature requests/Comments/Suggestions? We welcome all. Please use the `Isssues` tab 😀
@@ -1,4 +1,4 @@
1
- aiagents4pharma/__init__.py,sha256=X-Mpbf4sfjMvoxiTTl4qFgCxrWZgtVgRjnjX6gbUtCg,173
1
+ aiagents4pharma/__init__.py,sha256=5muWWIg89VHPybfxonO_5xOMJPasKNsGdQRhozDaEmk,177
2
2
  aiagents4pharma/configs/__init__.py,sha256=hNkSrXw1Ix1HhkGn_aaidr2coBYySfM0Hm_pMeRcX7k,76
3
3
  aiagents4pharma/configs/config.yaml,sha256=8y8uG6Dzx4-9jyb6hZ8r4lOJz5gA_sQhCiSCgXL5l7k,65
4
4
  aiagents4pharma/configs/talk2biomodels/__init__.py,sha256=5ah__-8XyRblwT0U1ByRigNjt_GyCheu7zce4aM-eZE,68
@@ -7,23 +7,24 @@ aiagents4pharma/configs/talk2biomodels/agents/t2b_agent/__init__.py,sha256=-fAOR
7
7
  aiagents4pharma/configs/talk2biomodels/agents/t2b_agent/default.yaml,sha256=yD7qZCneaM-JE5PdZjDmDoTRUdsFrzeCKZsBx1b-f20,293
8
8
  aiagents4pharma/talk2biomodels/__init__.py,sha256=qUw3qXrENqSCLIKSLy_qtNPwPDTb1wdZ8fZispcHb3g,141
9
9
  aiagents4pharma/talk2biomodels/agents/__init__.py,sha256=sn5-fREjMdEvb-OUan3iOqrgYGjplNx3J8hYOaW0Po8,128
10
- aiagents4pharma/talk2biomodels/agents/t2b_agent.py,sha256=nVWxHR-QMZDqDwxvDga_CvLo7LHP5cWCDl6lXCMcRO0,3264
10
+ aiagents4pharma/talk2biomodels/agents/t2b_agent.py,sha256=6Im4YFcdykN7wpEM8y9qi_x4lTg02WJpb0SEWh8TPLo,3188
11
11
  aiagents4pharma/talk2biomodels/models/__init__.py,sha256=5fTHHm3PVloYPNKXbgNlcPgv3-u28ZquxGydFYDfhJA,122
12
- aiagents4pharma/talk2biomodels/models/basico_model.py,sha256=js7ORLwbJPaIsko5oRToMMCh4l8LsN292OIvFzTfvRg,4946
13
- aiagents4pharma/talk2biomodels/models/sys_bio_model.py,sha256=ylpPba2SA8kl68q3k1kJbiUdRYplPHykyslTQLDZ19I,1995
12
+ aiagents4pharma/talk2biomodels/models/basico_model.py,sha256=PH25FTOuUjsmw_UUxoRb-4kptOYpicEn4GqS0phS3nk,4807
13
+ aiagents4pharma/talk2biomodels/models/sys_bio_model.py,sha256=JeoiGQAvQABHnG0wKR2XBmmxqQdtgO6kxaLDUTUmr1s,2001
14
14
  aiagents4pharma/talk2biomodels/states/__init__.py,sha256=YLg1-N0D9qyRRLRqwqfLCLAqZYDtMVZTfI8Y0b_4tbA,139
15
- aiagents4pharma/talk2biomodels/states/state_talk2biomodels.py,sha256=iob7q5Kpy6aWDLCiFsp4NNVYYXNdDU3vU50PmxyvBsU,792
15
+ aiagents4pharma/talk2biomodels/states/state_talk2biomodels.py,sha256=Dlsnh9dW1mCXTBXmlDAlOox7f4azFbLBG_2k3YPielM,824
16
16
  aiagents4pharma/talk2biomodels/tests/__init__.py,sha256=Jbw5tJxSrjGoaK5IX3pJWDCNzhrVQ10lkYq2oQ_KQD8,45
17
- aiagents4pharma/talk2biomodels/tests/test_basico_model.py,sha256=uqhbojcA4RRTDRUAF9B9DzKCo3OOIOWMDK8IViG0gsM,2038
18
- aiagents4pharma/talk2biomodels/tests/test_langgraph.py,sha256=GyqsUpcWgjuRb15DpGvLg-FZ8g3_cf0TwVcaCPp_vO0,9456
19
- aiagents4pharma/talk2biomodels/tests/test_sys_bio_model.py,sha256=nA6bRT16627mw8qzrv7cHM9AByHb9F0kxAuwOpE-avA,1961
20
- aiagents4pharma/talk2biomodels/tools/__init__.py,sha256=8hAT6z1OO8N9HRylh6fwoqyjYlGdpkngkElBNqH40Zo,237
17
+ aiagents4pharma/talk2biomodels/tests/test_basico_model.py,sha256=y82fpTJMPHwtXxlle1cGQ_2Bewwpxi0aJSVrVAYLhN0,2060
18
+ aiagents4pharma/talk2biomodels/tests/test_langgraph.py,sha256=_71UZS1zucn6Nus4oCH7tINQVRvJEFnL0UIZ6-sUd3I,11967
19
+ aiagents4pharma/talk2biomodels/tests/test_sys_bio_model.py,sha256=HSmBBViMi0jYf4gWX21IbppAfDzG0nr_S3KtKS9fZVQ,2165
20
+ aiagents4pharma/talk2biomodels/tools/__init__.py,sha256=SMTMlGHxTuJI7gjwGaTMv0XmilJ73-r5dp568hD3Fw0,266
21
21
  aiagents4pharma/talk2biomodels/tools/ask_question.py,sha256=uxCQ4ON8--D0ACPvT14t6x_aqm9LP6woBA4GM7bPXc4,3061
22
22
  aiagents4pharma/talk2biomodels/tools/custom_plotter.py,sha256=HWwKTX3o4dk0GcRVTO2hPrFSu98mtJ4TKC_hbHXOe1c,4018
23
- aiagents4pharma/talk2biomodels/tools/get_modelinfo.py,sha256=68KmeEpgvgaDQM9airOWVy4fGT33rG10RlXhps5W6C0,5279
23
+ aiagents4pharma/talk2biomodels/tools/get_modelinfo.py,sha256=qA-4FOI-O728Nmn7s8JJ8HKwxvA9MZbst7NkPKTAMV4,5391
24
24
  aiagents4pharma/talk2biomodels/tools/load_biomodel.py,sha256=pyVzLQoMnuJYEwsjeOlqcUrbU1F1Z-pNlgkhFaoKpy0,689
25
+ aiagents4pharma/talk2biomodels/tools/parameter_scan.py,sha256=aIyL_m46s3Q74ieJOZjZBM34VCjBKSMpEtckhdZofbE,12139
25
26
  aiagents4pharma/talk2biomodels/tools/search_models.py,sha256=Iq2ddofOOfZYtAurCISq3bAq5rbwB3l_rL1lgEFyFCI,2653
26
- aiagents4pharma/talk2biomodels/tools/simulate_model.py,sha256=1HVoI5SkktvpOmTnAG8hxrhpoxpg_he-bb5ZJ_UllI4,6833
27
+ aiagents4pharma/talk2biomodels/tools/simulate_model.py,sha256=sWmFVnVvJbdXXTqn_7gQl5UW0tv4FyU5yLXWLweLs_M,7059
27
28
  aiagents4pharma/talk2cells/__init__.py,sha256=zmOP5RAhabgKIQP-W4P4qKME2tG3fhAXM3MeO5_H8kE,120
28
29
  aiagents4pharma/talk2cells/agents/__init__.py,sha256=38nK2a_lEFRjO3qD6Fo9a3983ZCYat6hmJKWY61y2Mo,128
29
30
  aiagents4pharma/talk2cells/agents/scp_agent.py,sha256=gDMfhUNWHa_XWOqm1Ql6yLAdI_7bnIk5sRYn43H2sYk,3090
@@ -34,7 +35,22 @@ aiagents4pharma/talk2cells/tools/__init__.py,sha256=38nK2a_lEFRjO3qD6Fo9a3983ZCY
34
35
  aiagents4pharma/talk2cells/tools/scp_agent/__init__.py,sha256=s7g0lyH1lMD9pcWHLPtwRJRvzmTh2II7DrxyLulpjmQ,163
35
36
  aiagents4pharma/talk2cells/tools/scp_agent/display_studies.py,sha256=6q59gh_NQaiOU2rn55A3sIIFKlXi4SK3iKgySvUDrtQ,600
36
37
  aiagents4pharma/talk2cells/tools/scp_agent/search_studies.py,sha256=MLe-twtFnOu-P8P9diYq7jvHBHbWFRRCZLcfpUzqPMg,2806
37
- aiagents4pharma/talk2competitors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
+ aiagents4pharma/talk2competitors/__init__.py,sha256=haaikzND3c0Euqq86ndA4fl9q42aOop5rYG_8Zh1D-o,119
39
+ aiagents4pharma/talk2competitors/agents/__init__.py,sha256=ykszlVGxz3egLHZAttlNoTPxIrnQJZYva_ssR8fwIFk,117
40
+ aiagents4pharma/talk2competitors/agents/main_agent.py,sha256=UoHCpZd-HoeG0B6_gAF1cEP2OqMvrTuGe7MZDwL_u1U,3878
41
+ aiagents4pharma/talk2competitors/agents/s2_agent.py,sha256=eTrhc4ZPvWOUWMHNYxK0WltsZedZUnAWNu-TeUa-ruk,2501
42
+ aiagents4pharma/talk2competitors/config/__init__.py,sha256=HyM6paOpKZ5_tZnyVheSAFmxjT6Mb3PxvWKfP0rz-dE,113
43
+ aiagents4pharma/talk2competitors/config/config.py,sha256=jd4ltMBJyTztm9wT7j3ujOyYxL2SXRgxQJ4OZUBmCG4,5387
44
+ aiagents4pharma/talk2competitors/state/__init__.py,sha256=DzFjV3hZNes_pL4bDW2_8RsyK9BJcj6ejfBzU0KWn1k,106
45
+ aiagents4pharma/talk2competitors/state/state_talk2competitors.py,sha256=GUl1ZfM77XsjIEu-3xy4dtvaiMTA1pXf6i1ozVcX5Gg,993
46
+ aiagents4pharma/talk2competitors/tests/__init__.py,sha256=U3PsTiUZaUBD1IZanFGkDIOdFieDVJtGKQ5-woYUo8c,45
47
+ aiagents4pharma/talk2competitors/tests/test_langgraph.py,sha256=sEROK1aU3wFqJhZohONVI6Pr7t1d3PSqs-4erVIyiJw,9283
48
+ aiagents4pharma/talk2competitors/tools/__init__.py,sha256=YudBDRwaEzDnAcpxGZvEOfyh5-6xd51CTvTKTkywgXw,68
49
+ aiagents4pharma/talk2competitors/tools/s2/__init__.py,sha256=9RQH3efTj6qkXk0ICKSc7Mzpkitt4gRGsQ1pGPrrREU,181
50
+ aiagents4pharma/talk2competitors/tools/s2/display_results.py,sha256=B8JJGohi1Eyx8C3MhO_SiyQP3R6hPyUKJOAzcHmq3FU,584
51
+ aiagents4pharma/talk2competitors/tools/s2/multi_paper_rec.py,sha256=FYLt47DAk6WOKfEk1Gj9zVvJGNyxA283PCp8IKW9U5M,4262
52
+ aiagents4pharma/talk2competitors/tools/s2/search.py,sha256=pppjrQv5-8ep4fnqgTSBNgnbSnQsVIcNrRrH0p2TP1o,4025
53
+ aiagents4pharma/talk2competitors/tools/s2/single_paper_rec.py,sha256=dAfUQxI7T5eu0eDxK8VAl7-JH0Wnw24CVkOQqwj-hXc,4810
38
54
  aiagents4pharma/talk2knowledgegraphs/__init__.py,sha256=SW7Ys2A4eXyFtizNPdSw91SHOPVUBGBsrCQ7TqwSUL0,91
39
55
  aiagents4pharma/talk2knowledgegraphs/datasets/__init__.py,sha256=L3gPuHskSegmtXskVrLIYr7FXe_ibKgJ2GGr1_Wok6k,173
40
56
  aiagents4pharma/talk2knowledgegraphs/datasets/biobridge_primekg.py,sha256=QlzDXmXREoa9MA6-GwzqRjdzndQeGBAF11Td6NFk_9Y,23426
@@ -55,8 +71,8 @@ aiagents4pharma/talk2knowledgegraphs/utils/embeddings/__init__.py,sha256=xRb0x7S
55
71
  aiagents4pharma/talk2knowledgegraphs/utils/embeddings/embeddings.py,sha256=1nGznrAj-xT0xuSMBGz2dOujJ7M_IwSR84njxtxsy9A,2523
56
72
  aiagents4pharma/talk2knowledgegraphs/utils/embeddings/huggingface.py,sha256=2vi_elf6EgzfagFAO5QnL3a_aXZyN7B1EBziu44MTfM,3806
57
73
  aiagents4pharma/talk2knowledgegraphs/utils/embeddings/sentence_transformer.py,sha256=36iKlisOpMtGR5xfTAlSHXWvPqVC_Jbezod8kbBBMVg,2136
58
- aiagents4pharma-1.9.0.dist-info/LICENSE,sha256=IcIbyB1Hyk5ZDah03VNQvJkbNk2hkBCDqQ8qtnCvB4Q,1077
59
- aiagents4pharma-1.9.0.dist-info/METADATA,sha256=c8KtNUIWjkl_hwW4ebu9SlAXiG7BWPX5CoMeC2T4Jb8,7988
60
- aiagents4pharma-1.9.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
61
- aiagents4pharma-1.9.0.dist-info/top_level.txt,sha256=-AH8rMmrSnJtq7HaAObS78UU-cTCwvX660dSxeM7a0A,16
62
- aiagents4pharma-1.9.0.dist-info/RECORD,,
74
+ aiagents4pharma-1.11.0.dist-info/LICENSE,sha256=IcIbyB1Hyk5ZDah03VNQvJkbNk2hkBCDqQ8qtnCvB4Q,1077
75
+ aiagents4pharma-1.11.0.dist-info/METADATA,sha256=GsvCuC24bJ_wwQP8aevOB4Eai8WcUIcr9kmN3EwYP_Y,8541
76
+ aiagents4pharma-1.11.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
77
+ aiagents4pharma-1.11.0.dist-info/top_level.txt,sha256=-AH8rMmrSnJtq7HaAObS78UU-cTCwvX660dSxeM7a0A,16
78
+ aiagents4pharma-1.11.0.dist-info/RECORD,,