Quick Start

This guide will help you get started with chemsource quickly.

Basic Usage

from chemsource import ChemSource

# Initialize ChemSource with your OpenAI API key
chem = ChemSource(model_api_key="your_openai_api_key")

# Retrieve information and classify a compound
info, classification = chem.chemsource("aspirin")

print(f"Source: {info[0]}")
print(f"Content: {info[1][:100]}...")
print(f"Classification: {classification}")

Configuration

You can configure chemsource with various parameters:

from chemsource import ChemSource

# Configure with custom settings
chem = ChemSource(
    model_api_key="your_openai_api_key",
    model="gpt-4o",
    clean_output=True,
    allowed_categories=["MEDICAL", "FOOD", "INDUSTRIAL", "PERSONAL CARE", "ENDOGENOUS", "INFO"]
)

Retrieving Information Only

If you only want to retrieve information without classification:

from chemsource import ChemSource

chem = ChemSource()

# Prioritize retrieval from Wikipedia (default)
source, content = chem.retrieve("caffeine")

# Prioritize PubMed for retrieval
source, content = chem.retrieve("caffeine", priority="PUBMED")

Classification Only

If you already have information about a compound:

from chemsource import ChemSource

chem = ChemSource(model_api_key="your_openai_api_key")

compound_info = "Aspirin is a medication used to reduce pain, fever, or inflammation."
classification = chem.classify("aspirin", compound_info)

print(classification)

Using Clean Output

For structured output with spell checking and validation:

from chemsource import ChemSource

chem = ChemSource(
    model_api_key="your_openai_api_key",
    clean_output=True,
    allowed_categories=["MEDICAL", "FOOD", "INDUSTRIAL", "PERSONAL CARE", "ENDOGENOUS, INFO"]
)

info, classification = chem.chemsource("ibuprofen")

# classification will be a list of validated categories
print(classification)  # ['MEDICAL']