LLM Applications in Drug Discovery and Call Center Analytics
quantumblack · Healthcare · 2023 · source Agentic: yes · promotional bias: low · source-backed · extracted with prompt 0.5.6 (schema v2)
Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.
Problem
Domain: scientific discovery and regulated call-center analytics
QuantumBlack presented two LLM-adjacent production patterns: using language models and RAG for molecule discovery, and building an on-prem batch pipeline that turns banking call-center audio into structured analytics under regulatory and GPU constraints.
Constraints:
- Chemical discovery has extremely large molecular search spaces and small labeled datasets for supervised property prediction.
- Scientific literature is too large for manual review and includes text, patents, preprints, grants, clinical studies, diagrams, and domain-specific chemistry terms.
- The banking call-center pipeline had to develop in Azure but run in on-prem Kubernetes with limited GPUs and self-hosted open-source models.
- Spanish audio had to be diarized, transcribed, translated, anonymized, and analyzed before downstream dashboards could use it.
Architecture
The molecule-discovery side uses chemical language models over molecular representations for generation and property prediction, plus a RAG agent that searches millions of chemistry papers, patents, grants, and studies and returns structured JSON answers with document IDs and hallucination scores. The call-center side is a batch MLRun/Kubernetes pipeline with diarization, Whisper transcription/translation, PII anonymization, and Mistral 7B OpenOrca GPTQ analysis. Domain-specific optimizations replace generic diarization with stereo-channel VAD and parallelize Whisper with batching and Horovod to maximize limited on-prem GPUs.
Diagram confidence: reconstructed (reconstructed from prose).
flowchart LR Chemistry_vector_database["Chemistry vector database"] --> Chemistry_RAG_agent["Chemistry RAG agent"] Chemistry_RAG_agent --> Structured_answer_table["Structured answer table"] Molecular_representations["Molecular representations"] --> Chemical_language_models["Chemical language models"] Chemical_language_models --> Property_prediction_functions["Property prediction functions"] MLRun_batch_pipeline["MLRun batch pipeline"] --> Diarization_step["Diarization step"] Diarization_step --> Whisper_transcription_step["Whisper transcription step"] Whisper_transcription_step --> PII_recognition_step["PII recognition step"] PII_recognition_step --> LLM_analysis_step["LLM analysis step"] LLM_analysis_step --> Analytics_database["Analytics database"] MLRun_batch_pipeline --> Analytics_database
Components
| Component | Role | Interacts with |
|---|---|---|
Chemical language models |
Transformer, GAN, or autoencoder-style models adapted to molecular string or graph representations for generation and property prediction. | Molecular representations, Property prediction functions |
Molecular representations |
SMILES/string, graph, and adjacency-matrix representations of molecules. | Chemical language models |
Property prediction functions |
Downstream fine-tuned tasks that predict molecular properties for target diseases or use cases. | Chemical language models |
Chemistry RAG agent |
Interface that retrieves chemistry documents and prompts an LLM to extract chemical insights in structured output. | Chemistry vector database, Structured answer table |
Chemistry vector database |
Stores embeddings over papers, preprints, grants, patents, clinical studies, and chemical knowledge. | Chemistry RAG agent |
Structured answer table |
JSON/table output containing extracted substances, hallucination score, retrieved document IDs, and document chunks. | Chemistry RAG agent |
MLRun batch pipeline |
Kubernetes-compatible orchestration for cloud development and on-prem production call-center batch jobs. | Diarization step, Whisper transcription step, PII recognition step, LLM analysis step, Analytics database |
Diarization step |
Labels call segments as agent or client using stereo-channel domain knowledge and Silero VAD. | MLRun batch pipeline, Whisper transcription step |
Whisper transcription step |
Transcribes and translates Spanish audio to English using batched OpenAI Whisper across GPUs. | Diarization step, PII recognition step |
PII recognition step |
Detects names, emails, and phone numbers and replaces them with anonymized placeholders. | Whisper transcription step, LLM analysis step |
LLM analysis step |
Uses Mistral 7B OpenOrca GPTQ to generate structured call topics, summaries, sentiments, resolution flags, and subjective scores. | PII recognition step, Analytics database |
Analytics database |
Stores structured outputs for applications and dashboards. | MLRun batch pipeline, LLM analysis step |
Data flow
For molecule discovery, publications and chemistry knowledge are ingested into a vector database; a user configures sources and years, retrieves top chunks, prompts an LLM as a chemist, and receives structured JSON with evidence document IDs and hallucination scores. For call-center analytics, historical audio files run through speaker diarization, transcription and translation, PII recognition, and LLM analysis, producing structured rows such as topic, summary, concern resolved, sentiment, upsell, professionalism, kindness, and active listening.
4 supporting quotes
Why this architecture
The chemistry work uses specialized representations and retrieval because molecular space and scientific literature are too large for brute-force lab testing or manual review. The call-center pipeline uses open-source, self-hosted components because banking production had to run on-prem, and it optimizes each preprocessing stage because most of the work is data preparation rather than the final LLM call.
3 supporting quotes
Models used: chemical language models · transformers · GANs · autoencoders · RAG · LLMs · OpenAI Whisper · Silero VAD · PyAnnote Audio · Mistral 7B OpenOrca GPTQ · Horovod · MLRun
Scale
- Small-molecule search space is estimated around 10^60, while the largest available molecular database has around 10^8 compounds.“the space of a small molecules and it's on the order of 10 to the 60 however the largest molecular database that we have available has around 10 to the eight compounds”transcript, stated
- The chemistry RAG demo ingested millions of papers and chemical knowledge.“we have um like a rag y so we have ingested millions of different papers and chemical um knowledge”transcript, stated
- The chemistry search space includes about 500,000 chemistry-related papers per year.“I think there are like 500,000 chemistry or chemistry related papers published per year”transcript, stated
- Reading chemistry papers at one per minute would take about 12 months for the cited annual volume.“if you were reading like one every minute it would take up to like 12 12 months to go through them”transcript, stated
- The call-center diarization optimization sped one pipeline step up by 60 times.“they able to speed this one pipeline Step Up by 60 times 60 60 times”transcript, stated
- The Whisper optimization moved from roughly 20% utilization on one GPU and 0% on the second to roughly 100% utilization.“GPU number one was about 20% utilization and GPU was at 0%”transcript, stated“allowed them to use roughly 100% of their GPU utilization”transcript, stated
Alternatives considered (roads not taken)
Use API-based frontier models in production
Rejected because: Banking regulatory requirements required on-prem hosting with open-source models.
Use PyAnnote Audio for call-center diarization
Rejected because: It worked but processed one audio file at a time and was too heavy for the required throughput.
Run off-the-shelf Whisper one audio file at a time
Rejected because: It underutilized GPUs and did not process multiple audio files at once.
Patterns
rag-retrieval (retrieval)
The chemistry agent embeds user questions, retrieves relevant chemistry chunks from a vector database, and sends them as context to an LLM.
structured-output-contract (interfaces)
The chemistry RAG demo asks for JSON columns, while the call-center LLM analysis produces structured table columns for dashboards.
privacy-preserving-processing (governance)
The banking workflow uses on-prem open-source models and PII anonymization because production data and development transfer are regulated.
batch-offline-processing (operations)
Historical call audio files are processed in a batch Kubernetes pipeline with separate containerized stages.
latency-optimization (serving)
The call-center pipeline uses stereo-channel domain knowledge, CPU VAD, multiprocessing, Whisper batching, and Horovod distribution to maximize limited compute.
Tradeoffs
Diarization method
Chose Silero VAD plus stereo-channel domain knowledge over General PyAnnote Audio diarization.
Rationale: The call-center format made channel-based voice-activity detection faster and cheaper, freeing GPUs for other stages.
Transcription scaling
Chose Whisper batching plus Horovod/OpenMPI distribution over Single-file off-the-shelf Whisper inference.
Rationale: The optimized path maximized limited on-prem GPUs by distributing chunks across workers and batching within each model copy.
Chemistry insight extraction
Chose RAG over chemistry corpora over Manual reading of annual chemistry literature.
Rationale: The annual volume of chemistry-related papers makes manual review impractical for broad molecule repurposing.
Gotchas (what bit them)
Generated molecules can be invalid or non-viable.
Root cause: Chemical language models can produce candidates that violate basic chemistry if rules are not incorporated.
Resolution: Filter generated molecules with chemist-reviewed rules and improve models to incorporate chemistry constraints.
Property-prediction models struggle with small labeled datasets.
Root cause: Lab testing molecules is difficult, so supervised training data is limited and generalization suffers.
Resolution: Use self-supervised pretraining on large molecule spaces, then fine-tune for downstream predictive tasks.
Generic diarization wasted GPU resources for call-center audio.
Root cause: PyAnnote worked for general audio but was heavy and one-file-at-a-time.
Resolution: Exploit call-center stereo-channel structure and use CPU-based Silero VAD with multiprocessing.
Open-source LLM quality depended on explicit speaker labels.
Root cause: The self-hosted seven-billion-parameter model was less capable than API-based alternatives and could not infer speakers reliably from raw text.
Resolution: Add a diarization preprocessing step with explicit agent/client labels before LLM analysis.
Evaluation
The chemistry demo exposes retrieved document IDs, chunks, and hallucination scores for answer checking. The call-center pipeline evaluates operationally through structured artifacts, GPU utilization, step runtime, speaker-label usefulness, and downstream call-analysis fields.
Metrics: hallucination score · retrieved document IDs and chunks · 60x diarization speedup · GPU utilization near 100% · topic, summary, resolution, sentiment, upsell, professionalism, kindness, active listening fields
3 supporting quotes
Outcomes
- The call-center pipeline produced structured analytics from raw historical audio.
- Diarization improved model understanding and one step was sped up by 60x.
- Whisper batching and Horovod improved GPU utilization to roughly 100%.
- The molecule-discovery RAG demo showed how LLMs can navigate large chemistry corpora with document-backed answers.
The case combines research and production demos; the strongest concrete production outcomes are the call-center 60x diarization speedup, near-100% GPU utilization, and batch conversion of historical call audio to structured analytics.