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:

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
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

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
“we ingest and process a these big data sources and store them in a vector database So then whenever a user asks a question this question is kind of embedded and compared to the vector database”transcript, stated
“we started just with a raw audio file and are left here with highly structured data that we can use in a write a database for an application”transcript, stated
“the P line itself uh was a few different steps uh the first was called diarization”transcript, stated
“transcription and translation um so the transcription was taking the raw audio and turning that into textt that the llm could then take and analyze”transcript, stated

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
“we don't have enough resources to test every single molecule every single time we want to do this exploration much more efficient”transcript, stated
“for regulatory purposes their production environment was UN Prem so they actually had hybrid environment the development happened in the cloud in Azure and the production environment was on Prem”transcript, stated
“you'll notice that a majority of this pipeline is not llm stuff a majority of it is cleansing and pre-processing data”transcript, stated

Models used: chemical language models · transformers · GANs · autoencoders · RAG · LLMs · OpenAI Whisper · Silero VAD · PyAnnote Audio · Mistral 7B OpenOrca GPTQ · Horovod · MLRun

Scale

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.

“they were not able to leverage some of the more powerful API based models everything had to be hosted on Prem using open source models”transcript, stated

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.

“they found that it worked but it was also very heavy”transcript, stated
“it was only able to process one audio file at a time”transcript, stated

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.

“open a whisper at the time again uh maybe this is Chang in then does not support processing multiple audio files at once”transcript, stated
“GPU number one was about 20% utilization and GPU was at 0%”transcript, stated

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.

“retrieval elment generation use case”transcript, stated
“the documents that are most relevant for this question are retrieved and then you can select like how many documents you retrieve”transcript, stated

structured-output-contract (interfaces)

The chemistry RAG demo asks for JSON columns, while the call-center LLM analysis produces structured table columns for dashboards.

“we also specified that we want to have a Json that has the refrigerant name as a colum”transcript, stated
“what comes out is a very structured uh essentially table uh where we have those different columns that we saw in our end application”transcript, stated

privacy-preserving-processing (governance)

The banking workflow uses on-prem open-source models and PII anonymization because production data and development transfer are regulated.

“for regulatory purposes their production environment was UN Prem”transcript, stated
“sensitive information that they wanted to scrub out and anonymize”transcript, stated

batch-offline-processing (operations)

Historical call audio files are processed in a batch Kubernetes pipeline with separate containerized stages.

“the application was a batch application so it was taking a batch of historical audio files uh running through some analysis”transcript, stated
“each one of these steps is uh running in its own container on kubernetes and can have its own runtime resources”transcript, stated

latency-optimization (serving)

The call-center pipeline uses stereo-channel domain knowledge, CPU VAD, multiprocessing, Whisper batching, and Horovod distribution to maximize limited compute.

“switching from the uh GPU to the CPU based model and then leveraging multiprocessing to leverage multiple CPU cores at once”transcript, stated
“each copy of the model is then processing multiple audio files at once”transcript, stated

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.

“this would not work for any general purpose audio”transcript, stated
“it freed their GPU up to do other stuff”transcript, stated

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.

“they implemented batching so they made it so that each uh open AI whisper model was able to process multiple audio files at once”transcript, stated
“they introduced parallelization uh they used a uh distributed compute tool called horod”transcript, stated

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.

“500,000 chemistry or chemistry related papers published per year”transcript, stated
“this is like a most efficient way to go through all of the knowledge”transcript, stated

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.

“the main problem that we were facing is that we were producing a lot of nonvisible molecules”transcript, stated
“we had to sit down with the chemist and start like filtering them out based you know on basic rules”transcript, stated

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.

“we need a lot of label data but these data sets are usually small because we have very few labeled samples”transcript, stated
“these models can be fine-tuned for a specific predictive test Downstream”transcript, stated

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.

“call Center store their data is the one speakers on the Left Channel and the other speakers on the right channel”transcript, stated
“silvero vad which is voice activity detector voice activity detection model”transcript, stated

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.

“if you didn't have the styz step all you're sending to the model is basically a big block of a big block of text and the model has to infer who is speaking”transcript, stated
“adding these explicit labels here really helped uh the model determine who was talking and when”transcript, stated

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
“okay a hallucination score which is basically checking how much do can I trust this value all of the document IDs that were retrieved for this answer”transcript, stated
“allowed them to use roughly 100% of their GPU utilization”transcript, stated
“classify the topic or the summary or was the address concern”transcript, stated

Outcomes

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.

3 supporting quotes
“we started just with a raw audio file and are left here with highly structured data”transcript, stated
“way way way faster and way way more efficient”transcript, stated
“use this historical information in the calls not just for uh the call center purposes but also for other Downstream applications in the future”transcript, stated