OntoGraph / Documentation.md
CSAT's picture
Upload Documentation.md
f7fa71d verified
|
Raw
History Blame Contribute Delete
3.1 kB

A newer version of the Streamlit SDK is available: 1.64.0

Upgrade

OntoGraph - Drug Interaction Analysis System

A sophisticated Python-based application that combines ontology reasoning with LLM capabilities to analyze drug interactions, conflicts, and alternatives. The system provides comprehensive analysis through both CLI and web interfaces. alt text

Key Features

  • Dual Interface Options:
    • Web-based interface using Streamlit
    • Command-line interface for direct interaction
  • Comprehensive Drug Analysis:
    • Drug interaction detection
    • Conflict identification
    • Similar drug suggestions
    • Alternative medication recommendations
  • Advanced Technology Stack:
    • RDF/OWL ontology for knowledge representation
    • Groq LLM integration for natural language processing
    • Agent-based architecture using Langgraph for modular analysis
    • Structured logging system

Technical Requirements

  • Python 3.x
  • Groq API key
  • Required Python packages:
    • rdflib
    • langchain
    • python-dotenv
    • langchain-community
    • langchain-groq
    • langgraph
    • streamlit

Installation

  1. Clone the repository:
git clone https://github.com/Manithj/onto_graph.git
cd onto_graph
  1. Install dependencies:
pip install -r requirements.txt
  1. Configure environment:
    • Create a .env file in the project root
    • Add your Groq API key:
GROQ_API_KEY=your_api_key_here

Usage

Web Interface

streamlit run app.py

Navigate to the displayed local URL to access the web interface.

Command Line Interface

python appcli.py

Project Structure

onto_graph/
├── app.py              # Streamlit web interface
├── appcli.py          # Command line interface
├── agents/            # Agent implementations
│   ├── __init__.py
│   ├── alternative_agent.py
│   ├── base_agent.py
│   ├── conflict_agent.py
│   ├── interaction_agent.py
│   └── similarity_agent.py
├── analyzers/         # Analysis coordination
│   ├── __init__.py
│   └── drug_interaction_analyzer.py
├── ontology/         # Knowledge base
│   └── DrugInteraction.owl
└── requirements.txt  # Project dependencies

Features in Detail

Agent System

  • Base Agent: Common functionality for ontology queries
  • Alternative Agent: Identifies alternative medications
  • Similarity Agent: Finds similar drugs
  • Conflict Agent: Detects drug conflicts
  • Interaction Agent: Analyzes drug interactions

Analysis Pipeline

  1. User input processing
  2. Ontology querying
  3. LLM-powered result synthesis
  4. Structured response generation

Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to your branch
  5. Create a Pull Request

Logging

The system maintains detailed logs in app.log, capturing:

  • Information level messages
  • Warning and error states
  • Query execution details
  • System state changes

License

This project is licensed under the Apache 2.0.