Skip to content

seokhokang/lc_agent

Repository files navigation

LC Agent: Towards AI-Driven Recommendation of Liquid Chromatography Conditions for Chemical Reactions

Youngchun Kwon†‡ · Hyukju Kwon†‡ · Jinju Park¶ · Youn-Suk Choi*‡ · Seokho Kang*¶

† Equal contribution    ‡ Samsung Advanced Institute of Technology, Samsung Electronics Co. Ltd., Suwon, Republic of Korea
¶ Department of Industrial Engineering, Sungkyunkwan University, Suwon, Republic of Korea



This repository is the official Pytorch implementation code of our "LC Agent: Towards AI-Driven Recommendation of Liquid Chromatography Conditions for Chemical Reactions - Youngchun Kwon, Hyukju Kwon, Jinju Park, Youn-Suk Choi, and Seokho Kang". Our LC Agent system is an LLM-based multi-agent framework that automatically recommends reaction-level LC conditions given a chemical reaction and user-defined analytical requirements.


Abstract

Liquid Chromatography (LC) is a foundational tool for the identification and monitoring of chemical compounds. However, its application to complex chemical reactions remains challenging, as analytical methods optimized for individual compounds often fail to capture the full scope of a reaction. The difficulty lies in establishing LC conditions that achieve simultaneous detection and chromatographic resolution for multiple reactants and products with diverse physicochemical properties. In this work, we investigate the capability of large language models (LLMs) in agentic LC condition recommendation for comprehensive chemical reaction analysis. We present an LLM-based multi-agent system that comprises multiple sub-agents that are context-engineered to perform specific functional roles that an analytical chemist would perform when determining the LC conditions, emulating the decision-making process of an analytical chemist. Given a chemical reaction and user-defined analytical requirements in natural language, the system autonomously searches relevant literature, reasons over compound properties, and proposes plausible LC conditions that can detect all reaction components within a single analytical run. We demonstrate its effectiveness through a case study on organic electronic materials, confirming that the recommended LC conditions are highly suitable for a diverse set of chemical reactions.


User Interface

The LC Agent provides a web-based interface for interactive reaction analysis and report generation. The left panel enables conversational interaction with the agent, while the right panel displays the generated LC recommendation report.


By following the setup instructions below, you can launch the application and access this interface.

Installation

Clone the repository and set up the environment as follows:

conda create -n lcms_agent python=3.11 -y
conda activate lcms_agent
pip install -r requirements.txt

Quick Start

Step 1. Set Environment Variables

Edit the .env file in the project root with your API keys (for base LLMs and the search tool):

GOOGLE_API_KEY=[your api key here]
TAVILY_API_KEY=[your api key here]

The API keys can be obtained from:

(Optional) API keys for scholarly search:

GOOGLE_CSE_ID=[your api key here]
ELSEVIER_API_KEY=[your api key here]
TDM_API_TOKEN=[your api key here]
SN_API_KEY=[your api key here]

The API keys can be obtained from:

For the Google Programmable Search Engine to search articles from the selected publishers, you need to create a custom search engine and include the following as "Sites to search" in the Search Features setting:

  • Elsevier: sciencedirect.com/science/article/*
  • Wiley: *.onlinelibrary.wiley.com/doi/*
  • Springer: link.springer.com/article/*
  • Nature: nature.com/articles/*

Step 2. Set Configurations

Modify config.yaml to adjust LLM settings and agent options.


Step 3. Run the Application

python app.py

You can then:

  • Input a chemical reaction
  • Specify analytical requirements
  • Generate LC condition recommendations

Step 4. View the Generated Report

  • The report will be displayed in the UI
  • A copy will be saved in the reports/ directory

Project Structure

lm_lc_agent/
├── agents/
├── data/
├── downloads/
├── figs/
│   └── framework.png
│   └── report.png
├── reports/
├── .env
├── agents.py
├── app.py
├── chem_utils.py
├── config.yaml
├── doc_utils.py
├── graph.py
├── procedure.py
├── prompt.py
├── README.md
├── requirements.txt
├── tools.py
└── ui.py

Citation

If you think our repo is useful, please cite our paper:

TBU

About

LC Agent: Towards AI-Driven Recommendation of Liquid Chromatography Conditions for Chemical Reactions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors