https://github.com/chiang-yuan/llamp
A web app and Python API for multi-modal RAG framework to ground LLMs on high-fidelity materials informatics. An agentic materials scientist powered by @materialsproject, @langchain-ai, and @openai
Science Score: 33.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: arxiv.org, rsc.org -
✓Committers with academic emails
2 of 6 committers (33.3%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.4%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
A web app and Python API for multi-modal RAG framework to ground LLMs on high-fidelity materials informatics. An agentic materials scientist powered by @materialsproject, @langchain-ai, and @openai
Basic Info
- Host: GitHub
- Owner: chiang-yuan
- License: other
- Language: Jupyter Notebook
- Default Branch: main
- Homepage: http://ingress.llamp.development.svc.spin.nersc.org/about
- Size: 13.7 MB
Statistics
- Stars: 82
- Watchers: 1
- Forks: 13
- Open Issues: 7
- Releases: 0
Topics
Metadata Files
README.md
LLaMP 🦙🔮
Large Language Model Made Powerful for High-fidelity Materials Knowledge Retrieval and Distillation
[!TIP] TL;DR: LLaMP is a multimodal retrieval-augmented generation (RAG) framework of hierarchical ReAct agents that can dynamically and recursively interact with Materials Project to ground LLMs on high-fidelity materials informatics.
This repository accompanies our paper LLaMP: Large Language Model Made Powerful for High-fidelity Materials Knowledge Retrieval and Distillation. Our codebase is built upon LangChain and is designed to be modular and extensible, and can be used to reproduce the experiments in the paper, as well as to develop new experiments.
LLaMP is also a homonym of Large Language model Materials Project. :wink: It empowers LLMs with large-scale computational materials database to reduce the likelihood of hallucination for materials informatics.
🔮 Quick Start
Python API
shell
git clone https://github.com/chiang-yuan/llamp.git
cd llamp/api
pip install -e .
After installation, check out colab notebook chat or the notebooks in experiments to start.
(Optional) Atomistic Simulation
You may need to install additional packages to support atomistic simulations:
shell
pip install ase, atomate2, jobflow, mace-torch
(Optional) Docker Web Interface
shell
docker-compose up --build
👋 Contributing
We understand sometime it is difficult to navigate Materials Project database! We want everyone to be able to access materials informatics through conversational AI. We are looking for contributors to help us build a more powerful and user-friendly LLaMP to support more MP API endpoints or external datastore and agents.
To contirbute to LLaMP, please follow these steps:
- Fork the repository
- Set up environment variables
shell cp .env.example .env.local - Deploy local development environment
shell docker-compose up - Make changes and submit a pull request
🌟 Authors and Citation
If you use LLaMP, our code and data in your research, please cite our paper:
bibtex
@article{chiang2024llamp,
title={LLaMP: Large Language Model Made Powerful for High-fidelity Materials Knowledge Retrieval and Distillation},
author={Chiang, Yuan and Chou, Chia-Hong and Riebesell, Janosh},
journal={arXiv preprint arXiv:2401.17244},
year={2024}
}
🤗 Acknowledgements
We thank Matthew McDermott (@mattmcdermott), Jordan Burns in Materials Science and Engineering at UC Berkeley for their valuable feedback and suggestions. We also thank the Materials Project team for their support and for providing the data used in this work. We also thank Dr. Karlo Berket (@kbuma) and Dr. Anubhav Jain (@computron) for their advice and guidance.
Owner
- Name: Yuan Chiang
- Login: chiang-yuan
- Kind: user
- Location: Berkeley
- Company: UC Berkeley
- Website: https://chiang-yuan.github.io
- Twitter: cyrusyc_tw
- Repositories: 2
- Profile: https://github.com/chiang-yuan
GitHub Events
Total
- Watch event: 23
- Fork event: 6
Last Year
- Watch event: 23
- Fork event: 6
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Yuan Chiang | q****t@g****m | 128 |
| knhn1004 | 4****4 | 104 |
| Yuan Chiang | c****c@b****u | 66 |
| Haw-Ting | h****2@b****u | 4 |
| oliver | o****r@o****l | 4 |
| dependabot[bot] | 4****] | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 9 months ago
All Time
- Total issues: 24
- Total pull requests: 30
- Average time to close issues: 4 months
- Average time to close pull requests: 10 days
- Total issue authors: 3
- Total pull request authors: 3
- Average comments per issue: 0.25
- Average comments per pull request: 0.53
- Merged pull requests: 28
- Bot issues: 0
- Bot pull requests: 1
Past Year
- Issues: 1
- Pull requests: 2
- Average time to close issues: about 19 hours
- Average time to close pull requests: less than a minute
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 2.0
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- chiang-yuan (15)
- knhn1004 (8)
- stefanbringuier (1)
Pull Request Authors
- knhn1004 (17)
- chiang-yuan (16)
- dependabot[bot] (2)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- python 3.11-slim build
- redis alpine
- node 16-slim build
- 271 dependencies
- @skeletonlabs/skeleton 2.2.0 development
- @skeletonlabs/tw-plugin 0.2.1 development
- @sveltejs/adapter-auto ^2.0.0 development
- @sveltejs/kit ^1.20.4 development
- @tailwindcss/forms 0.5.6 development
- @tailwindcss/typography 0.5.10 development
- @types/node 20.8.0 development
- autoprefixer 10.4.16 development
- elementari ^0.2.2 development
- postcss 8.4.31 development
- prettier ^2.8.0 development
- prettier-plugin-svelte ^2.10.1 development
- svelte ^4.0.5 development
- svelte-check ^3.4.3 development
- tailwindcss 3.3.3 development
- tslib ^2.4.1 development
- typescript ^5.0.0 development
- vite ^4.4.2 development
- vite-plugin-tailwind-purgecss ^0.1.3 development
- @floating-ui/dom 1.5.3
- @fortawesome/fontawesome-svg-core ^6.4.2
- @fortawesome/free-brands-svg-icons ^6.4.2
- @fortawesome/free-solid-svg-icons ^6.4.2
- @fortawesome/svelte-fontawesome ^0.2.0
- d3 ^7.8.5
- dompurify ^3.0.6
- marked ^10.0.0
- svelte-carousel ^1.0.25
- svelte-zoo ^0.4.9
- arxiv *
- fastapi *
- langchain >=0.1.6
- langchain-experimental ==0.0.56
- langchain-openai >=0.0.6
- langchainhub >=0.1.14
- mp-api >=0.38.0
- numexpr *
- openai >=1.12.0
- pandas *
- pydantic >=2.6.1
- pydantic-core >=2.16.2
- pydantic-settings >=2.1.0
- pypdf *
- python-dotenv *
- redis >=5.0.1,<5.1.0
- uvicorn [standard]
- wikipedia *