WhisperScale packages a stateless chatbot workflow on serverless primitives so you can launch conversational experiences without wrangling infrastructure.
- Elastic by design: Functions scale with traffic bursts while keeping costs near-zero when idle.
- Stateful memory layer: MongoDB persists session transcripts and enrichment data for follow-up messages.
- Assistant-ready: Ships with a Watson Assistant integration path but stays agnostic so you can swap in any NLU provider.
- Deployment in minutes: A single manifest describes all functions, actions, and bindings for a predictable rollout.
The stack relies on three lightweight building blocks:
- Event gateway (HTTP or messaging) triggers the
assistantfunction. - The function forwards user utterances to the configured NLU service and enriches replies.
- The
mongodbfunction stores context records, enabling continuity across sessions.
Consult doc/source/images/architecture.jpg for a visual overview.
- Provision IBM Cloud Functions (or another OpenWhisk-compatible runtime), Watson Assistant, and MongoDB instances in the same region.
- Copy
src/assistant.jsandsrc/mongodb.jsinto your preferred tooling and replace the placeholder configuration values with secure environment variables. - Update
manifest.ymlwith your package name, credentials, and sequence wiring. - Deploy with
ibmcloud fn deploy --manifest manifest.ymlor an equivalent OpenWhisk deployment command. - Test by sending a sample payload to the published HTTP endpoint and monitor logs to verify the conversation flow.
- Rotate API keys regularly and inject them through the platform’s secret manager.
- Enable MongoDB authentication and network rules; avoid embedding credentials in source files.
- Add automated tests for new intents to ensure fulfillment logic keeps pace with the dialog.
This project is licensed under the Apache 2.0 License. Refer to LICENSE for the full text.