Safetensors
GGUF
English
materials-science
materials-analysis
computational-materials
property-prediction
materials-discovery
crystal-structure
semiconductor-analysis
band-gap-prediction
thermal-properties
mechanical-properties
electronic-properties
materials-informatics
scientific-ai
lora
fine-tuned
7b
chain-of-thought
reasoning
structured-output
json-analysis
domain-specific
materials-characterization
qwen-2-5-instruct
open-source
step-by-step-analysis
property-correlation
application-prediction
formation-energy-analysis
thermodynamic-stability
elastic-modulus-prediction
bulk-modulus-analysis
thermal-conductivity
thermal-expansion
magnetic-property-analysis
superconductor-detection
crystal-system-identification
spacegroup-analysis
density-calculation
volume-analysis
electron-affinity
ionization-energy
band-gap-type-classification
hexagonal-structures
wide-bandgap-semiconductors
high-power-electronics
optoelectronics
thermal-management
materials-stability
synthesis-feasibility
practical-applications
materials-recommendation
competitive-analysis
materials-verdict
scientific-reasoning
materials-properties-database
mp-materials-project
silicon-carbide-analysis
compound-semiconductors
anisotropic-materials
high-symmetry-crystals
heat-dissipation
dimensional-stability
mechanical-robustness
stiffness-analysis
compression-resistance
temperature-stability
materials-synthesis
coating-applications
abrasion-resistance
non-magnetic-materials
indirect-bandgap
materials-comparison
aln-comparison
cost-effective-materials
si-based-compounds
cryogenic-applications
quantum-computing-materials
magneto-electronics
transparent-conductors
materials-optimization
performance-metrics
materials-classification
property-relationships
structure-property-correlation
materials-design
predictive-modeling
materials-screening
high-temperature-materials
power-device-materials
semiconductor-characterization
materials-data-mining
automated-analysis
materials-intelligence
dual-output-reasoning
comprehensive-materials-analysis
materials-summary-generation
scientific-explanation
materials-expertise
research-grade-analysis
industry-applications
materials-evaluation
performance-assessment
materials-selection
engineering-materials
advanced-ceramics
compound-analysis
crystallographic-analysis
electronic-structure
phonon-properties
doping-studies
interface-analysis
surface-properties
nanomaterials
bulk-materials
thin-film-analysis
composite-materials
functional-materials
smart-materials
biomaterials
energy-materials
catalytic-materials
photovoltaic-materials
battery-materials
fuel-cell-materials
thermoelectric-materials
piezoelectric-materials
ferroelectric-materials
multiferroic-materials
phase-transition-analysis
materials-modeling
MaterialsAnalyst-AI-7B
MaterialsAnalyst-AI
MaterialsAnalyst
import torch | |
from transformers import AutoModelForCausalLM, AutoTokenizer | |
# INSTRUCTIONS: Replace the JSON below with your material's properties | |
# Common data sources: materialsproject.org, DFT calculations, experimental databases | |
JSON_INPUT = """ | |
{ | |
"material_id": "mp-8062", | |
"formula": "SiC", | |
"elements": [ | |
"Si", | |
"C" | |
], | |
"spacegroup": "P63mc", | |
"band_gap": 3.26, | |
"formation_energy_per_atom": -0.73, | |
"density": 3.21, | |
"volume": 41.2, | |
"nsites": 8, | |
"is_stable": true, | |
"elastic_modulus": 448, | |
"bulk_modulus": 220, | |
"thermal_expansion": 4.2e-06, | |
"electron_affinity": 4.0, | |
"ionization_energy": 6.7, | |
"crystal_system": "Hexagonal", | |
"magnetic_property": "Non-magnetic", | |
"thermal_conductivity": 490, | |
"specific_heat": 0.69, | |
"is_superconductor": false, | |
"band_gap_type": "Indirect" | |
} | |
""" | |
def load_model(model_path): | |
model = AutoModelForCausalLM.from_pretrained( | |
model_path, | |
torch_dtype=torch.float16, | |
device_map="auto", | |
trust_remote_code=True | |
) | |
tokenizer = AutoTokenizer.from_pretrained( | |
model_path, | |
trust_remote_code=True | |
) | |
return model, tokenizer | |
def generate_response(model, tokenizer, topic): | |
topic = topic.strip() | |
prompt = f"USER: {topic}\nASSISTANT:" | |
inputs = tokenizer(prompt, return_tensors="pt").to(model.device) | |
outputs = model.generate( | |
**inputs, | |
max_new_tokens=3000, | |
temperature=0.7, | |
top_p=0.9, | |
repetition_penalty=1.1, | |
do_sample=True | |
) | |
response = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
return response.split("ASSISTANT:")[-1].strip() | |
def run(): | |
model_path = "./" # Path to the directory containing your model weight files | |
model, tokenizer = load_model(model_path) | |
result = generate_response(model, tokenizer, JSON_INPUT) | |
print(result) | |
if __name__ == "__main__": | |
run() | |