MI-Agent
An agentic workflow for materials-informatics (MI) engineers, built with LangGraph and powered by OpenAI models. MI-Agent codifies the end-to-end MI pipeline—data loading, merging, feature selection, EDA, AutoML baselining, hyperparameter tuning, and executive reporting—into reusable nodes orchestrated as a LangGraph. LangSmith integration tracks and visualizes your graph executions. The result? MI workflows that run in seconds instead of hours, boosting your productivity by an order of magnitude.
🚀 Why MI-Agent?
- Agentic LangGraph design lets you hit “play” on a full MI pipeline
- 10× faster: eliminate boilerplate and manual scripting
- Extensible nodes: swap in your own extractors, metrics, or plots
- LangSmith-backed for graph tracking, versioning, and observability
- Production-ready: versionable, testable, pip-installable
🛠️ Prerequisites
- Conda (Miniconda or Anaconda)
- Python 3.10
- OpenAI API key
- LangSmith API key
Installation via pip
-
Create & activate a conda environment
conda create -n mi_agent python=3.10 -y conda activate mi_agent
-
Install via pip
pip install materials_informatics_agent
-
Configure your API keys
MI-Agent will automatically look for a file named
.envin your current working directory (or any parent) and load any keys it finds.In the folder where you’ll run the CLI (or in any ancestor), create a file called
.envcontaining:OPENAI_API_KEY=sk-… LANGCHAIN_API_KEY=lsv2_…
-
Prepare your problem file
MI-Agent requires a
.txtfile (an example is provided in thesample_problem.txtin the project root of the source code) which contains:-
your problem description
-
relative paths to your CSV(s), including any folder prefix (e.g.
data/sample_data.csv)
Example
problem.txt:You are tasked with predicting alloy strength from composition data... - data/sample_data_1.csv: Contains experimental results... - data/sample_data_2.csv: Contains formulation recipes...
-
-
Run the agent
Now, start the
mi_agentpipeline as below:mi_agent --problem-file <path/to/problem.txt> --output-dir <path/to/output_dir>
MI-Agent will:
- Identify & load the CSV(s) listed in the problem file
- Merge files if needed
- Select target & features
- Propose & execute EDA
- Save all generated code (
*.py) for EDA analysis and images (*.png) generated during EDA into <output_dir> - Run multiple ML models, select top 5, tune hyperparameters, and choose the best model
- Generate and save a 5-page technical summary into <output_dir>
- Log all reasoning steps to LangSmith
Metadata
Release files for materials-informatics-agent 0.1.24
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| materials_informatics_agent-0.1.24.tar.gz | 424.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| materials_informatics_agent-0.1.24-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 448.2 kB
Release files / materials_informatics_agent-0.1.24.tar.gz
| Download URL | materials_informatics_agent-0.1.24.tar.gz |
|---|---|
| Size | 424.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7fd7e9224d595550cbe0e479eed35b436fb584d188debf0c9f469fbcd6ad3000
|
|
BLAKE2b-256 checksum How to use checksums |
fda04ac93f51a9ee1092035a594816b3096a5a8edd5a82f3c611ab2d76349840
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.16
|
Release files / materials_informatics_agent-0.1.24-py3-none-any.whl
| Download URL | materials_informatics_agent-0.1.24-py3-none-any.whl |
|---|---|
| Size | 23.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7aaaf96f1f67636ace8f502cbc549d0405db89803fe591b63fc76c836f0a79a8
|
|
BLAKE2b-256 checksum How to use checksums |
50f97720c89dd82040137c47ebd5a749bbecbfed9f5ad5c6b99bca104a603a36
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.16
|