openCHA
Bridging the Gap Between AI Conversation and Healthcare
Mahyar Abbasian, Iman Azimi, Amir M. Rahmani, and Ramesh Jain, 2023. Conversational health agents: A personalized LLM-powered agent framework. arXiv preprint arXiv:2310.02374
What is openCHA?
openCHA is a transformative framework developed to enable Conversational Health Agents (CHAs) to deliver effective healthcare services, including assistance, coaching, and promoting patient self-awareness. Large Language Models (LLMs) often excel in conversation but struggle with analyzing diverse data types and providing reliable, personalized responses. openCHA overcomes these challenges by providing CHAs with the capabilities necessary for multi-step problem-solving, multimodal data processing, and accessing the latest information. It integrates LLMs with various datasets, knowledge bases, and analytical tools, allowing CHAs to process healthcare queries by analyzing inputs, gathering necessary information, and offering context-aware, personalized, empathetic responses. The goal of openCHA is to enhance the versatility and responsiveness of CHAs, making them better equipped to meet the unique healthcare needs of users.
Why is openCHA needed?
openCHA empowers you to create Conversational Health Agents tackling several key challenges in healthcare communication:
Trustworthiness: The agents utilize external sources (verified by domain experts) for information rather than relying solely on internal knowledge of LLMs. Therefore, the reliability and accuracy of responses are as robust as the sources selected by domain experts.
Personalized Responses: openCHA's integration with patient-specific data and personal models enhances the personalization of conversations. Agents ensure that each interaction is tailored to the individual's health context and needs.
Multi-Modal Data Processing: The framework is equipped to process various types of data by interfacing with AI models designed by domain experts. This capability allows CHAs to analyze a diverse type of input formats, including text, time series data, and images.
Dynamic Planning and Information Retrieval: Agents can be designed to dynamically integrate with an array of databases, knowledge bases, and AI models. This integration allows them to retrieve the most current and relevant health information.
Explainability: Transparency is central to openCHA. Agents collect information and construct responses based on clear, understandable procedures. Therefore, users can follow the logic behind each given response.
Empathetic Interaction Model: By leveraging contextual information, openCHA’s agents engage in human-like and supportive conversations. This feature not only enhances the quality of interaction but also strengthens the emotional support provided during health-related discussions.
How does openCHA work?
Architecture
We have developed openCHA powered by LLMs that utilizes a service-based architecture. The framework allows us to design an agent that interprets and analyzes user queries, delivers suitable responses, and coordinates access to external resources via Application Programming Interfaces (APIs). The interaction between the user and the framework is bidirectional, enabling a conversational tone for continuous and subsequent dialogues. The primary components of the framework include:
-
The interface serves as a bridge between users and agents, offering interactive tools accessible via web applications. It can combine different communication channels like text and audio, receiving and relaying user queries to the Orchestrator. Users can include metadata alongside their queries, such as biomedical signals and images. For example, a user might submit a picture of their meal to inquire about its nutritional information or calorie content, with the image acting as metadata.
-
The Orchestrator drives problem-solving and decision-making to deliver relevant responses to user queries. It employs the Perceptual Cycle Model to perceive, transform, and analyze input data, interacting with external sources for information gathering, analysis, and insights. Here, we detail its five main components:
Task Planner: Empowered with language model capabilities, it generates procedures to gather necessary information to generate a response to the user’s inquiry.
Task Executor: Implements Task Planner procedures and interacts with external sources through function calling.
Data Pipe: Serves as temporary storage for acquired metadata and data from external sources, utilized in response generation.
Promptist: Transforms text or outcomes from external sources into suitable prompts for the Task Planner or Response Generator.
Response Generator: Leverages language models to refine gathered information, infer appropriate responses, and maintain conversational empathy and companionship.
-
External Sources play a key role in accessing vital information from the broader world. These sources typically provide application program interfaces (APIs) used by the Orchestrator to retrieve, process, and extract meaningful health data. openCHA integrates with four primary external sources essential for conversational health agents.
Healthcare Data Sources enable the gathering, ingestion, and integration of data acquired from diverse sources, including Electronic Health Records (EHR), smartphones, and smartwatches. Examples of such sources include mHealth platforms and healthcare databases.
Knowledge Base retrieves the latest and most relevant healthcare data from various sources, including healthcare literature, reputable websites, and knowledge graphs, utilizing search engines or retrieval models.
AI and Analysis Models offer data analytics tools for extracting information, associations, and insights from data. They are capable of performing a range of tasks such as data denoising, abstraction, classification, and event detection.
Translators efficiently convert diverse languages into commonly spoken ones like English, thereby improving the accessibility and inclusivity of CHAs.
Documentation
Quick Start
How to Contribute
We appreciate your enthusiasm in joining this open-source project.
Demos
Community and Support
Tutorial Workshop on openCHA
Get in touch
We welcome contributions from diverse communities to share their ideas, integrate their tools with openCHA, and build AI health agents. If you are interested in collaborating, please don't hesitate to contact us.
Contact Person
Iman Azimi