Skip to content

Instantly share code, notes, and snippets.

@KacemMathlouthi
Last active August 31, 2025 16:58
Show Gist options
  • Save KacemMathlouthi/795de3bc265d11c46bef60c867461f14 to your computer and use it in GitHub Desktop.
Save KacemMathlouthi/795de3bc265d11c46bef60c867461f14 to your computer and use it in GitHub Desktop.

VCell AI Platform

Google Summer of Code Logo NRNB Logo

Summary

The VCell AI Assistant is an AI-powered biomodel analysis platform that integrates conversational AI with structured access to the VCell biological modeling database. It enables researchers to search, analyze, and interact with biomodels, publications, and research papers using natural language queries, AI reasoning, and semantic search. The platform supports both traditional database queries and AI-enhanced analysis, including diagram visualization and knowledge base exploration. image

Useful Links

Core Technology Stack

The system leverages modern technologies for scalable AI-powered applications:

Component Technology Purpose
Frontend Next.js React-based web application
Backend FastAPI High-performance Python API framework
AI/LLM Azure OpenAI GPT models and embeddings
Vector DB Qdrant Semantic search and knowledge storage
Observability Langfuse LLM conversation tracing
Containerization Docker Service isolation and deployment
Dependency Management Poetry Python package management

Key Features

  • AI-Powered Chatbot: Engage with biomodels using natural language queries, leveraging large language models (LLMs) for intelligent responses.
  • Publication and Research Paper Access: Query and retrieve scientific publications and research papers related to biomodels.

Biomodel Exploration Publication Exploration

  • Knowledge Base Querying: Access a curated list of documents for VCell software tutorials and guides.
image
  • Advanced Search Capabilities: Utilize both traditional database queries and AI-enhanced searches to find relevant models and publications.

Biomodel Search Biomodel Details

  • Diagram Analysis: Visualize and analyze biomodel diagrams to gain deeper insights into biological processes.
  • LLM Observability with Langfuse: Monitor and analyze LLM interactions for enhanced observability.
  • Local LLM Hosting: Run the platform with locally hosted LLMs for improved performance and privacy.

Architecture Overview

The platform is built using modern web technologies:

  • Frontend: Developed with Next.js and Tailwind CSS for a responsive, user-friendly interface.
  • Backend: Powered by FastAPI and Python 3.12+ for high performance and scalability.
  • Vector Database: Qdrant for efficient vector storage and retrieval.
  • Containerization: Docker and Docker Compose for easy deployment and scalability.

API Endpoints

Knowledge Base

  • POST /kb/create-collection: Create a new collection.
  • GET /kb/files: Retrieve list of files.
  • POST /kb/upload-pdf: Upload a PDF file.
  • POST /kb/upload-text: Upload a text file.
  • DELETE /kb/files/{file_name}: Delete a file.
  • GET /kb/similar: Retrieve similar items.
  • GET /kb/files/{file_name}/chunks: Retrieve file chunks.

LLM with Tool Calling

  • POST /query: Query the LLM.
  • POST /analyse/{biomodel_id}: Analyze a biomodel.
  • POST /analyse/{biomodel_id}/vcml: Analyze VCML content.
  • POST /analyse/{biomodel_id}/diagram: Analyze a biomodel diagram.

VCellDB API Wrapper

  • GET /biomodel: Retrieve biomodels.
  • GET /biomodel/{biomodel_id}/simulations: Retrieve simulations for a biomodel.
  • GET /biomodel/{biomodel_id}/biomodel.vcml: Retrieve VCML file.
  • GET /biomodel/{biomodel_id}/biomodel.sbml: Retrieve SBML file.
  • GET /biomodel/{biomodel_id}/diagram: Retrieve diagram URL.
  • GET /biomodel/{biomodel_id}/diagram/image: Retrieve diagram image.
  • GET /biomodel/{biomodel_id}/applications/files: Retrieve biomodel application files.
  • GET /publications: Retrieve publications.

Qdrant Vector DB

  • POST /qdrant/collection: Create a collection.
  • POST /qdrant/points: Insert a point.
  • POST /qdrant/search: Search points.
  • DELETE /qdrant/documents: Delete a document.

AI Assistant System

The AI Assistant System is the core conversational AI component, enabling natural language interaction for biomodel analysis, search, and exploration via Azure OpenAI integration. It handles user conversations, executes specialized tools for VCell data access, and delivers contextually-aware responses about biological models and simulations.

For detailed implementation:

AI Tooling Diagram

Untitled diagram _ Mermaid Chart-2025-08-31-165327

System Prompt Configuration

The AI Assistant behavior is governed by the SYSTEM_PROMPT constant, which defines core guidelines for:

  • Mathematical expression formatting using LaTeX syntax.
  • Biomodel analysis focusing on VCML content retrieval.
  • Publications handling with DOI linking.
  • Technical precision for parameters, species, and reactions.

Future Work

The VCell AI Assistant Platform is actively evolving, with the following planned enhancements:

  • Custom LLM Provider Integration: Enable users to configure their own LLM provider using their API keys for greater flexibility and customization.
  • Authentication and Private Model Integration: Complete the authentication system and integrate private biomodels into the fetching process to support secure and personalized access.
  • Enhanced Publication Filtering: Implement a sophisticated filtering system for publications to enable more precise and targeted retrieval of research papers.
  • API Migration: Transition from VCell API v0 to v1 to leverage improved features, performance, and compatibility.

Setup and Installation

Refer to the SETUP.md file in the repository for detailed setup instructions.

Contribution Guidelines

Contributions to the VCell-AI Platform are welcome. Review the CONTRIBUTING.md file for guidelines.

License

This project is licensed under the MIT License. See the LICENSE file for more information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment