Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SemiGenie

An intelligent AI agent for semiconductor material discovery and design. SemiGenie uses advanced AI techniques to generate, evaluate, and refine semiconductor candidates based on your specifications.

Features

  • Intelligent Candidate Generation: AI-powered generation of semiconductor material candidates
  • Flexible Evaluation: Multiple evaluation methods including literature research and DFT integration
  • Adaptive Learning: Automatically improves candidate selection through iterative refinement
  • Customizable Targets: Configure target properties and success criteria to match your needs

Installation

  1. Clone or download this repository

  2. Install dependencies:

pip install -r requirements.txt
  1. Set up your OpenAI API key:
export OPENAI_API_KEY="your-api-key-here"

Or create a .env file:

OPENAI_API_KEY=your-api-key-here

Usage

Basic Usage

Run the agent with default settings:

python semiconductor_agent.py

Custom Settings

Specify custom parameters:

python semiconductor_agent.py \
    --target-bandgap 2.0 \
    --target-hit-rate 0.85 \
    --max-iterations 15 \
    --candidates 50 \
    --method chatgpt_deep_research

Parameters

  • --target-bandgap: Target bandgap in eV
  • --target-hit-rate: Target success rate (0.0-1.0)
  • --max-iterations: Maximum number of iterations
  • --candidates: Number of candidates per iteration
  • --method: Evaluation method: chatgpt_deep_research or dft
  • --api-key: OpenAI API key (or set OPENAI_API_KEY env var)

Programmatic Usage

from semiconductor_agent import SemiconductorAgent

# Create agent
agent = SemiconductorAgent(
    target_bandgap=1.5,
    target_hit_rate=0.9,
    max_iterations=10,
    candidates_per_iteration=100,
    evaluation_method="chatgpt_deep_research"
)

# Run agent
results = agent.run()

# Access results
print(f"Final hit rate: {results['final_hit_rate']:.1%}")
print(f"Best candidates: {results['best_candidates']}")

Overview

SemiGenie employs an iterative approach to semiconductor discovery:

  1. Generation: The agent generates candidate materials based on your specifications
  2. Evaluation: Each candidate is evaluated against target properties
  3. Refinement: The system learns from results and improves subsequent iterations
  4. Results: Final candidates are ranked and saved for further analysis

Evaluation Methods

Literature Research (Default)

  • Fast evaluation using AI-powered literature analysis
  • No computational resources required
  • Suitable for initial screening and exploration

DFT Integration

For computational evaluation, SemiGenie supports integration with:

  1. Materials Project API:
pip install mp-api
export MATERIALS_PROJECT_API_KEY="your-api-key"
  1. Quantum ESPRESSO: Requires installation and setup

  2. VASP: Requires license and setup

Output

The agent provides:

  • Real-time progress updates
  • Iteration-by-iteration performance metrics
  • Ranked list of best candidates
  • Comprehensive results saved to JSON

Configuration

You can customize the agent using environment variables or the config.py file:

# config.py
target_bandgap = 1.5
target_hit_rate = 0.9
max_iterations = 10
candidates_per_iteration = 100
evaluation_method = "chatgpt_deep_research"

Requirements

  • Python 3.8+
  • OpenAI API key
  • Internet connection (for API calls)

Optional:

  • Materials Project API key (for Materials Project evaluation)
  • Quantum ESPRESSO or VASP (for DFT calculations)

Notes

  • Evaluation accuracy depends on available data and computational resources
  • Results improve with more iterations as the system learns
  • Some materials may have limited available data

License

MIT License

Contributing

Contributions welcome! Please feel free to submit a Pull Request.

About

Agentic Semiconductor Dopant Design

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages