Skip to content

Commit 21222a6

Browse files
committed
feat: Mr-Dice_v0.82 add Mofdb agent
1 parent a2acfd1 commit 21222a6

7 files changed

Lines changed: 44 additions & 44 deletions

File tree

agents/matmaster_agent/MrDice_agent/agent.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55
from agents.matmaster_agent.MrDice_agent.bohriumpublic_agent.agent import (
66
init_bohriumpublic_database_agent,
77
)
8+
from agents.matmaster_agent.MrDice_agent.mofdb_agent.agent import (
9+
init_mofdb_database_agent,
10+
)
811
from agents.matmaster_agent.MrDice_agent.openlam_agent.agent import (
912
init_openlam_database_agent,
1013
)
1114
from agents.matmaster_agent.MrDice_agent.optimade_agent.agent import (
1215
init_optimade_database_agent,
1316
)
14-
from agents.matmaster_agent.MrDice_agent.mofdb_agent.agent import (
15-
init_mofdb_database_agent,
16-
)
1717
from agents.matmaster_agent.MrDice_agent.prompt import (
1818
MrDiceAgentDescription,
1919
MrDiceAgentInstruction,

agents/matmaster_agent/MrDice_agent/bohriumpublic_agent/constant.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
BOHRIUMPUBLIC_DATABASE_AGENT_NAME = 'bohriumpublic_agent'
44

55
if CURRENT_ENV in ['test', 'uat']:
6-
BOHRIUMPUBLIC_URL="http://bekc1366122.bohrium.tech:50003/sse"
6+
BOHRIUMPUBLIC_URL = 'http://bekc1366122.bohrium.tech:50003/sse'
77
# BOHRIUMPUBLIC_URL = 'http://jjxr1366132.bohrium.tech:50003/sse'
88
else:
99
BOHRIUMPUBLIC_URL = 'https://mr-dice-bohriumpublic-uuid1758096978.app-space.dplink.cc/sse?token=f395e31f5d5d48bc9d1d7018989e12bd'

agents/matmaster_agent/MrDice_agent/mofdb_agent/agent.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
from agents.matmaster_agent.base_agents.job_agent import CalculationMCPLlmAgent
77
from agents.matmaster_agent.constant import LOCAL_EXECUTOR, BohriumStorge
8+
from agents.matmaster_agent.MrDice_agent.constant import MrDice_Agent_Name
89
from agents.matmaster_agent.MrDice_agent.mofdb_agent.constant import (
910
MOFDB_URL,
1011
)
@@ -13,7 +14,6 @@
1314
MofdbAgentInstruction,
1415
MofdbAgentName,
1516
)
16-
from agents.matmaster_agent.MrDice_agent.constant import MrDice_Agent_Name
1717

1818
load_dotenv()
1919

agents/matmaster_agent/MrDice_agent/mofdb_agent/constant.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
MOFDB_DATABASE_AGENT_NAME = 'mofdb_agent'
44

55
if CURRENT_ENV in ['test', 'uat']:
6-
MOFDB_URL="http://bekc1366122.bohrium.tech:50004/sse"
6+
MOFDB_URL = 'http://bekc1366122.bohrium.tech:50004/sse'
77
# MOFDB_URL = 'http://jjxr1366132.bohrium.tech:50003/sse'
88
else:
99
MOFDB_URL = 'https://mr-dice-mofdb-uuid1758704787.app-space.dplink.cc/sse?token=c15a46f6440d41b086aca38446d959bf'

agents/matmaster_agent/MrDice_agent/mofdb_agent/prompt.py

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
MofdbAgentName = "mofdb_agent"
1+
MofdbAgentName = 'mofdb_agent'
22

33
MofdbAgentDescription = (
4-
"An agent specialized in retrieving MOF (Metal-Organic Framework) structures from the MOFdb database. "
5-
"Supports flexible queries by MOFid, MOFkey, name, database source, void fraction, pore sizes, and surface area. "
6-
"Results can be exported in CIF or JSON format for structural visualization or metadata analysis."
4+
'An agent specialized in retrieving MOF (Metal-Organic Framework) structures from the MOFdb database. '
5+
'Supports flexible queries by MOFid, MOFkey, name, database source, void fraction, pore sizes, and surface area. '
6+
'Results can be exported in CIF or JSON format for structural visualization or metadata analysis.'
77
)
88

99
MofdbAgentInstruction = """
@@ -62,44 +62,44 @@
6262
The response must always include:
6363
1. ✅ A brief explanation of the filters applied.
6464
2. 📊 A Markdown table of the retrieved MOFs with columns (fixed order):
65-
(1) Name
66-
(2) MOFid
67-
(3) MOFkey
68-
(4) Database
69-
(5) Void Fraction
70-
(6) LCD (Å)
71-
(7) PLD (Å)
72-
(8) Surface Area (m²/g)
73-
(9) Surface Area (m²/cm³)
74-
(10) Download link (CIF/JSON, based on `output_formats`)
75-
- All missing values must be shown as **Not Provided**.
65+
(1) Name
66+
(2) MOFid
67+
(3) MOFkey
68+
(4) Database
69+
(5) Void Fraction
70+
(6) LCD (Å)
71+
(7) PLD (Å)
72+
(8) Surface Area (m²/g)
73+
(9) Surface Area (m²/cm³)
74+
(10) Download link (CIF/JSON, based on `output_formats`)
75+
- All missing values must be shown as **Not Provided**.
7676
- The number of rows must exactly equal `n_found`.
7777
3. 📦 The `output_dir` path returned by the tool (for download/archive).
7878
If `n_found = 0`, clearly state that no matches were found, repeat the applied filters, and suggest loosening criteria. Do **not** generate an empty table.
7979
8080
## DEMOS (用户问题 → 工具与参数)
81-
1) 用户:我想查 tobmof-27
82-
→ Tool: fetch_mofs
83-
name: "tobmof-27"
84-
database: "Tobacco"
81+
1) 用户:我想查 tobmof-27
82+
→ Tool: fetch_mofs
83+
name: "tobmof-27"
84+
database: "Tobacco"
8585
86-
2) 用户:我想要比表面积 500–1000 m²/g 且 LCD 在 6–8 Å 之间的 MOF
87-
→ Tool: fetch_mofs
88-
sa_m2g_min: 500
89-
sa_m2g_max: 1000
90-
lcd_min: 6.0
91-
lcd_max: 8.0
86+
2) 用户:我想要比表面积 500–1000 m²/g 且 LCD 在 6–8 Å 之间的 MOF
87+
→ Tool: fetch_mofs
88+
sa_m2g_min: 500
89+
sa_m2g_max: 1000
90+
lcd_min: 6.0
91+
lcd_max: 8.0
9292
93-
3) 用户:我有一个 MOFid:[O-]C(=O)c1cc(F)c(c(c1F)F)C(=O)[O-].[O-]C(=O)c1cc(F)c(cc1F)C(=O)[O-].[O-]C(=O)c1ccc(c(c1)F)C(=O)[O-].[Zn][O]([Zn])([Zn])[Zn] MOFid-v1.pcu.cat1,能帮我查一下吗?
94-
→ Tool: fetch_mofs
95-
mofid: "[O-]C(=O)c1cc(F)c(c(c1F)F)C(=O)[O-].[O-]C(=O)c1cc(F)c(cc1F)C(=O)[O-].[O-]C(=O)c1ccc(c(c1)F)C(=O)[O-].[Zn][O]([Zn])([Zn])[Zn] MOFid-v1.pcu.cat1"
93+
3) 用户:我有一个 MOFid:[O-]C(=O)c1cc(F)c(c(c1F)F)C(=O)[O-].[O-]C(=O)c1cc(F)c(cc1F)C(=O)[O-].[O-]C(=O)c1ccc(c(c1)F)C(=O)[O-].[Zn][O]([Zn])([Zn])[Zn] MOFid-v1.pcu.cat1,能帮我查一下吗?
94+
→ Tool: fetch_mofs
95+
mofid: "[O-]C(=O)c1cc(F)c(c(c1F)F)C(=O)[O-].[O-]C(=O)c1cc(F)c(cc1F)C(=O)[O-].[O-]C(=O)c1ccc(c(c1)F)C(=O)[O-].[Zn][O]([Zn])([Zn])[Zn] MOFid-v1.pcu.cat1"
9696
97-
4) 用户:我知道一个 MOFkey:Cu.QMKYBPDZANOJGF.MOFkey-v1.tbo,帮我找一下对应的结构
98-
→ Tool: fetch_mofs
99-
mofkey: "Cu.QMKYBPDZANOJGF.MOFkey-v1.tbo"
97+
4) 用户:我知道一个 MOFkey:Cu.QMKYBPDZANOJGF.MOFkey-v1.tbo,帮我找一下对应的结构
98+
→ Tool: fetch_mofs
99+
mofkey: "Cu.QMKYBPDZANOJGF.MOFkey-v1.tbo"
100100
101-
5) 用户:我想查找名叫 ABAYIO_clean 的 MOF,并导出所有信息
102-
→ Tool: fetch_mofs
103-
name: "ABAYIO_clean"
104-
output_formats: ["cif","json"]
105-
"""
101+
5) 用户:我想查找名叫 ABAYIO_clean 的 MOF,并导出所有信息
102+
→ Tool: fetch_mofs
103+
name: "ABAYIO_clean"
104+
output_formats: ["cif","json"]
105+
"""

agents/matmaster_agent/MrDice_agent/openlam_agent/constant.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
OPENLAM_DATABASE_AGENT_NAME = 'openlam_agent'
44

55
if CURRENT_ENV in ['test', 'uat']:
6-
OPENLAM_URL="http://bekc1366122.bohrium.tech:50002/sse"
6+
OPENLAM_URL = 'http://bekc1366122.bohrium.tech:50002/sse'
77
# OPENLAM_URL = 'http://jjxr1366132.bohrium.tech:50002/sse'
88
else:
99
OPENLAM_URL = 'https://mr-dice-openlam-uuid1758096918.app-space.dplink.cc/sse?token=c2c0edb9c99f454896c4965ef1a5cf28'

agents/matmaster_agent/MrDice_agent/optimade_agent/constant.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
OPTIMADE_DATABASE_AGENT_NAME = 'optimade_agent'
44

55
if CURRENT_ENV in ['test', 'uat']:
6-
OPTIMADE_URL="http://bekc1366122.bohrium.tech:50001/sse"
6+
OPTIMADE_URL = 'http://bekc1366122.bohrium.tech:50001/sse'
77
# OPTIMADE_URL = 'http://jjxr1366132.bohrium.tech:50001/sse'
88
else:
99
OPTIMADE_URL = 'https://material-data-retriever-uuid1754467958.app-space.dplink.cc/sse?token=16a1dd29dbb54cf9bf75748ba8df282d'

0 commit comments

Comments
 (0)