From bac8f067e08f55c3cad96e2b25e4d58ec61c73a6 Mon Sep 17 00:00:00 2001 From: lzy <949777411@qq.com> Date: Wed, 2 Apr 2025 16:57:37 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4mattergen-wrapper=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__pycache__/material_gen.cpython-310.pyc | Bin 9195 -> 8998 bytes mars_toolkit/compute/material_gen.py | 9 +------- .../core/__pycache__/config.cpython-310.pyc | Bin 2060 -> 2123 bytes .../mattergen_wrapper.cpython-310.pyc | Bin 0 -> 1013 bytes mars_toolkit/core/config.py | 1 + .../core/mattergen_wrapper.py | 8 +++---- .../mattergen_service.cpython-310.pyc | Bin 9776 -> 9440 bytes mars_toolkit/services/mattergen_service.py | 16 +++++++------- test_mars_toolkit.py | 20 +++++++++--------- 9 files changed, 24 insertions(+), 30 deletions(-) create mode 100644 mars_toolkit/core/__pycache__/mattergen_wrapper.cpython-310.pyc rename mattergen_wrapper.py => mars_toolkit/core/mattergen_wrapper.py (82%) diff --git a/mars_toolkit/compute/__pycache__/material_gen.cpython-310.pyc b/mars_toolkit/compute/__pycache__/material_gen.cpython-310.pyc index 319fd14e4604b64ca516f810e4df6e3dd314ec6c..e929dd8ac5d3acaa37b17b9d6978b04e2acbf899 100644 GIT binary patch delta 1237 zcmZ9L&u<$=6vsXG*1wdjozTXyNnkCt7p60SJCI59hvS_47Q*N4kOf1wP7Oz_G+n zLYbd}5h%j~RE$tMz{enoZwVuq4j5sc;^SSVUX3xl)mR#t@#7bf6a9xT@YCor39oVX zR)A+QrZESVV}1rId*4H_J{j@ zYKGPN#nOUfP&VSc%;&o&?z8$bXFGvHRsIzGA^uwsn_OTXJKOs+ln8~#@l}jVC9=bo zdp9HZSiYa3^aR2iHEhw=U9DjnTEn(nu-s|+BwA&Qy;5w3Ej%YzQF92w)eiO60XXlY zg)@W*#)p`qsDDRU@E@_#`yzf6V%KC$-3q@$OJ(Ip>Md53->K!|o0M2Zcu6!dxz-VO z2Q5u-gfAXgQcfnuSzA^UrSQ9bpM%7GcBA)KA{U$d5HkfuPz_$ZW$Rpnj@{T7low4| zP3Mw2g&z=Z5gPJzCMEBtFQ>iKhVHr`u7LISJ~VE3Y}0bDT81ruOfRj!N8&nx%m)m7 zYmIWg^BzSF0w(~$AT$a4gpcL*Oy-OiYk~zrcWogCwub^wY3ru-rR-+5*irB2%&$uF zGn)6TXhVLVo!`7m+My=6nrS(%ZZ$w0V5$%n&&z4HuZ}n%4owvPe?@Tz6_4d=E?YZE z+AN|bZV+qYCJnoI7nGX#@3Z(6(}fi;q&u!y!q|(n>}J!nnqJg}cE>PVAlmX_ZiY?u ze#vE7$|6x1OT{17i|Bh!M|bx{Q4UX~j>j6dfH^#L*nez`_KDCtcmSwJ?mF6H7}YdO zZ-b_Z9W)Y)gcZUjVT-U$phMxE+T32--Cn&~Tf3xfT)(uouGLmI);y(UIbQuz z**{}7%Q6yC8N$99vA6Y{rCo5V?gn50gc-!^d_@?%gDF=-M+Sp=K4XY6dVKW285 z5)cHbzHs1x=8k9%oLl+8g#!{2XHE#M5URLUfP^@3L-5|Zw4vSAeDmI$Z{FX&{qm(> zUzVNr_Jjn_{a=2owp{#7K2J{XO-zy#iOOcyno_5T#HMaetJ74X9p)u#Mx7xN$Vqe7 znp5Wjxzn7t7Sx5N&O%=-vdedfdWCk;XX=u=M7wDZ?8~&5=g0L;ee}Pn_XSvQ>JKT@5%{kWZ%Ia1Cx_@w=M^c4)17WdoVCRve}=O)+CunyoS!HGe&TC*&JxjZ1B2`N68`-vyMl4sA| zfEy1&O=o||x1%b0NQvM3QVr2T;w2sQOoYFK=7j0!RAV)#ywB0jZvs?d1y3g7ca-;8 z`Jm<)wx=03w1C11*AVs)DhLb#Z}EKuL;Tf$ttIHKxS=eGJ4*MtJv;~^l*Bj6g`|Nx z2IB_^miSpo4e)N1&r}7fAF*`9J{3ypIyr6}q<)GdKSI{y6b$jk(A3rma@*kBLz=Fq z+hxXYfhiN^Ptx&rz;1OJKQe&$|A_p3VEie57#b?RiQF_mkz*H&MgA6UyYOZrMgHiR ze+cGG!4K=M$8#Y2t)^408g|u>dCaO+43qJiSRWoIV-0h7h@8BOq$s2cBjUH}CAX$~ z`#c+5r3SZki}^84!;6~ccf#O#3?|#wZgIT^v)ydf5%LEf9cIgpWjS`1>YkqUj%zR{ zJ;+Eu#aKD?4Aadrm@6$1gRkX}K1FQu(4kf~b=L)#ec)1jpYAQa4gz0BSVh=I*g@Du zz%leArr~;iq~tiJAE8Fsd{*;>q*ba~O>PCp9Pl delta 144 zcmX>t&?CT`&&$ij00c63-=uHc$g9N2m^ayg(OoB1D1|>&I8`K7G>u7;A&n_TAVsi+ zrI|5G3@9U%BHY3NWQ(VW1T$!gZeGrq!noOl`8*?|?qn9$JVvd_#jKYZjV8OZDKkn; l&SqONS($yllm^fm4h9xR7G@x3WMKl+AU5;ld+a%kh5)@M9?}2+ diff --git a/mars_toolkit/core/__pycache__/mattergen_wrapper.cpython-310.pyc b/mars_toolkit/core/__pycache__/mattergen_wrapper.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a0a2b888658ee4eaaa1bdacba1f20d748f4a58e1 GIT binary patch literal 1013 zcmZ`&PjAyO6t~kf{kL`5bl*L|?&5ncPZc0xG zJ_bSpZhQ`|d;(uMaGJy?n1sZ0DAS~Yojm`Z-}CeDy}XEKvyNbVz4$r(UP9=HQLYYS zeF|^(4Fo|RBA8eVd$?FF&w{nYO5FBrjEGIjtjx<^86#RgcDxG3$JLKDf@$TGh0)vv zZ->=+!)t&yCKa~Cn_jcPRo3Fm-g1F!tj$-vl>*n<4ZiBFV)Ozf8#bah^H&&o9f;PZ zYotLt@6iYA9flj%$dbA5ul^Ph%j>-CoZ&M>8^`P3`V^7oXYAb~)^oJkn!m13qBwKm z3EVRoq$!my7i7k$tD-=;sT8L%piM2ff(>VqW6ekqPQ9K1ygQ!#nN=T!G5#>|h6@k*4 z1aPGqNdYWX4m<0Eg2x_Bb|M;{q#{n#esUzh)ESNYlkxWcu)pgM4tD#`{NeVXKfl+P zQb;%EsgTN0y_U(AJ8xd$zU6K@vJ51pV?@P>su491y1gUwOa%-WEI8lR72hW!^nG2* z@=RMI(-l($79UE>9JI~B)?j-w>5upNLw|g5FwxCR9zKbsw#^Cc#7PF3>e{8TV4^#h zdN&lDi=;~e6%+*ZoqyW8Do<%vu-A95dCXMIvMxOhm|wsmL4EH(e&#MeWI>ie#G(p~ z{i2*jX*H(0oJ#l*()>538UbUz{{_hnlf4layS+$o+M69hQ_Omg9!`2}p7(elvj;p( z3*aju*h#E+~l-&nmqpDrSOE4X)g{_i7X0~w)W*b|$ L`o{X@*h|)Lrt&GK literal 0 HcmV?d00001 diff --git a/mars_toolkit/core/config.py b/mars_toolkit/core/config.py index 29cd4ef..4babf2c 100644 --- a/mars_toolkit/core/config.py +++ b/mars_toolkit/core/config.py @@ -27,6 +27,7 @@ class Config: # MatterGen MATTERGENMODEL_ROOT = '/home/ubuntu/50T/lzy/mars-mcp/pretrained_models/mattergen_ckpt' + MATTERGEN_ROOT='/home/ubuntu/50T/lzy/mars-mcp/mattergen' MATTERGENMODEL_RESULT_PATH = 'results/' # Dify diff --git a/mattergen_wrapper.py b/mars_toolkit/core/mattergen_wrapper.py similarity index 82% rename from mattergen_wrapper.py rename to mars_toolkit/core/mattergen_wrapper.py index 6bbe6de..8642ff8 100644 --- a/mattergen_wrapper.py +++ b/mars_toolkit/core/mattergen_wrapper.py @@ -5,9 +5,9 @@ by modifying the Python path at runtime. import sys import os from pathlib import Path - +from .config import config # Add the mattergen directory to the Python path -mattergen_dir = os.path.join(os.path.dirname(__file__), 'mattergen') +mattergen_dir = config.MATTERGEN_ROOT sys.path.insert(0, mattergen_dir) # Import the necessary modules from the mattergen package @@ -21,6 +21,6 @@ except ImportError as e: print(f"Error importing mattergen modules: {e}") print(f"Python path: {sys.path}") raise - +CrystalGenerator = generator.CrystalGenerator # Re-export the modules -__all__ = ['generator', 'chemgraph', 'TargetProperty', 'MatterGenCheckpointInfo', 'PRETRAINED_MODEL_NAME'] +__all__ = ['generator', 'chemgraph', 'TargetProperty', 'MatterGenCheckpointInfo', 'PRETRAINED_MODEL_NAME','CrystalGenerator'] diff --git a/mars_toolkit/services/__pycache__/mattergen_service.cpython-310.pyc b/mars_toolkit/services/__pycache__/mattergen_service.cpython-310.pyc index 77575bdcfe98941f0eff44907ee46bcb9dd6b7fe..f5cdb5d6e1f7c7fe6ef2ab15dbaf72036b680bc6 100644 GIT binary patch delta 1141 zcmZvbO=uHA6vuZqo6TmEm?n*tn6%RGrp0QlTCM%MXc0=WwxXni(VBR6a)nk1n-`lw^18Q7xu@SH*em&`M;T`GoQ~6II);6 ziEriC59`@+N&13=#xEcSQ{u1QygP7iC}^ss*n(sdGgR7Bj_2bd z%cP*a=NFJZlZseMTQ*Vq~EK_Uu6>aAoz_Co#jJTBrfK_N0aw9G%L%X zd0BmlB=+J&ivU-yIYk?ER*R%F`_Q459Lu7>L+b|EMcd*^(O!1gqMT;0BkgCB7!y8y zqd+Te(Xn}u0yvNh!hTG70MYA*Sk$IqxDIea>owF1!H6{LjaF0*%}(|pnvUeq>_;5( zUPe<&Xh_(zV)A3tb7e}{>|Wv^dzJX4W-+LnJx-1!T7|g)ZRqGi^st{vTg3v!28HIH z&3~taBk06#z%T+23P%yg5DmNIQ1nWI5d>-rClDtQqli-ixkUZAljzv7x=;9ctO8Dj zX{qG{z9M57hqAypqOmQt)O3h+dhaqHNT2n0G8f?T;9;)VMw#;9no(N)PeSi~Yau|E z*l7FY=4G*lYk$P1^@>xN$1m1DBUTJMwD4Q4I2CGh1*l=dJO(WwE+Eb$<^*`~>V`|J zTs3LIF)3GpmYp@~3zutwLBH+0>9B+u{DUu|g|fgn>*?6)xQON@0j>&}$`!X!5S-g! zZ#rH?>emCu6YPHH@MaWOgxwV^*T0uDPT@Ml&>Ja~jB2$^-4(}#1TM)S(ug1epBlIb zMSus2w#$RdCC6|91q2nbf!OZN_H~Vji8eOfHJ3pvmx4POiHhyD8G;C8OnsX=@{e%s zZnQ6b7*9wH!Tkpoo{&HSlm{NS_x%Ojy-a{KP1?VJ#5wlXl>&DB$+_nqU*GffIexhQ z^Tv{!&88$ce)|1M*Lq!&{=mV>17}y^^29ewTSvr@t!yVtv%Qf!qXwY_{>K950_N%X zfEclXJRk#^NCq+DR>3ZIibSHtUa3<8Pr^E5mpkQPR`VrB%9^sL zJJWENeCI5k8IVrx9mzAuTg zFw)jpm-<`G?NjC-sDzKED;1b1Zf&>P+gH{%TWi|Y_tsh)+UAw3t>FXmr%ZCgd(lUP zWcc^-ZaN3KvjF+wL}F8xAIrmD@)MFfgA-+di1u95VHy4)Rhg-vBW}6fE@dKdQ)iCp zbVby3c3p;2@`ZG5wSYm%*5^C4@0+e8Vw5r1Zj4RB1gjwy5emi;8a_VU1G=mH>vVtd z9GdfhM{wb>DpLJ0Pm_9V89eMo#H&L!Q-~&B1ACLr^R=;Gzs)Vn>|L(r9>%9JVu6q5 zFO<%L*=957cmbgT4$GV*i~O^EJC2)%N8iuSA04O8&Z9GffZCB5X3s7l-awq#0}kIr zpa@JxyoGohaS?F|pyomeR?%_l?j`VvEN002=9xB6dT!_Wz;susO98Av*tV=JLlHE~PvzDjIIRgzE&m z4wA*Kvs0o3g%E|Zb3~L;-C%7Dx{i1saSgG}o3-kB)JiS=f95)d2C06877D?d{C4eD z{R1>V1c*2YWB2`260k$QQoox%E){l}|5aZhBm9-wA|1v1(mR&!c{cU;T!W3{a#M&Z zB8G?{_7PElh?tHqV!M{B`wW#~al|3wx%$sbHOqgPyzhRK50rD)o&X;DoRIa~LA3JvaPH<{jt z77t~@q7v2P$;OUr+pg0vbYE}y2Yu*{Bu3PpMyylkS;)R`T3&-fL1=*)l&hHi*HU2| zE~o_p!jfrNlK1ASU2F&Z3i%tsSAcy9L$l*tcktK!jHZL?uO0h(a=C S5~xHLz>32aoRO5Am;VO*H%*rS diff --git a/mars_toolkit/services/mattergen_service.py b/mars_toolkit/services/mattergen_service.py index 1578268..2693811 100644 --- a/mars_toolkit/services/mattergen_service.py +++ b/mars_toolkit/services/mattergen_service.py @@ -14,14 +14,14 @@ from typing import Dict, Any, Optional, Union, List import threading # 导入mattergen相关模块 -import sys -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../../../'))) -from mattergen_wrapper import generator -CrystalGenerator = generator.CrystalGenerator -from mattergen.common.data.types import TargetProperty -from mattergen.common.utils.eval_utils import MatterGenCheckpointInfo -from mattergen.common.utils.data_classes import PRETRAINED_MODEL_NAME - +# import sys +# sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../../../'))) +# from mars_toolkit.core.mattergen_wrapper import generator +# CrystalGenerator = generator.CrystalGenerator +# from mattergen.common.data.types import TargetProperty +# from mattergen.common.utils.eval_utils import MatterGenCheckpointInfo +# from mattergen.common.utils.data_classes import PRETRAINED_MODEL_NAME +from ..core.mattergen_wrapper import * # 导入mars_toolkit配置 from mars_toolkit.core.config import config diff --git a/test_mars_toolkit.py b/test_mars_toolkit.py index f3b997d..ec87396 100644 --- a/test_mars_toolkit.py +++ b/test_mars_toolkit.py @@ -158,16 +158,16 @@ if __name__ == "__main__": # 测试工具函数列表 tools_to_test = [ - "get_current_time", # 基础工具 - "search_online", # 网络搜索工具 - "search_material_property_from_material_project", # 材料项目查询工具 - "get_crystal_structures_from_materials_project", # 晶体结构查询工具 - "get_mpid_from_formula", # 材料ID查询工具 - "optimize_crystal_structure", # 晶体结构优化工具 - "generate_material", # 材料生成工具 - "fetch_chemical_composition_from_OQMD", # OQMD查询工具 - "retrieval_from_knowledge_base", # 知识库检索工具 - "predict_properties" # 属性预测工具 + "get_current_time", # 0基础工具 + "search_online", # 1网络搜索工具 + "search_material_property_from_material_project", # 2材料项目查询工具 + "get_crystal_structures_from_materials_project", # 3晶体结构查询工具 + "get_mpid_from_formula", # 4材料ID查询工具 + "optimize_crystal_structure", # 5晶体结构优化工具 + "generate_material", # 6材料生成工具 + "fetch_chemical_composition_from_OQMD", # 7OQMD查询工具 + "retrieval_from_knowledge_base", # 8知识库检索工具 + "predict_properties" # 9属性预测工具 ] # 选择要测试的工具