Outshift Logo

INSIGHTS

7 min read

Blog thumbnail
Published on 08/07/2023
Last updated on 04/12/2024

Introducing BLAZE — your composable, flexible, NLP pipeline solution

Share

Cisco Research proudly presents BLAZE - Build Language Applications Easily, a flexible, standardized, no-code, open-source platform to easily assemble, modify, and deploy various NLP models, datasets, and components. How can it fit into your enterprise technology solutions? Here’s what you’ll need to know.

AI business solutions: A fast-moving frontier

The landscape of Natural Language Processing (NLP) models in enterprise technology has seen a remarkable evolution over the years, morphing from single-task parsers to Large Language Models (LLMs) capable of achieving state-of-the-art scores across various benchmarks. Despite these accelerating advances in AI business solutions, implementing this research for actual usage isn't always straightforward.  

Enterprises and researchers are inundated with new techniques, datasets, and models. With each research paper comes exciting work yet varying standards for implementing their novel methodologies. Furthermore, we are yet to see the use of open-source LLMs and other models deployed as solutions.

Even though NLP holds significant potential for enterprise applications, its adoption in existing applications is sparse. Creating an NLP pipeline or integrating services into an existing solution is complex, requiring extensive knowledge and trial of models, datasets, and processing techniques. The rapid acceleration of this field, with components evolving each day, also demands meticulous fine-tuning.   

Building BLAZE: Introducing flexible ways to create NLP pipelines

Our team carefully identified several impediments in the implementation side of the NLP world. Over the last several months, we created a scalable, open-source solution to these challenges: the BLAZE library.

BLAZE is designed to streamline the integration of Natural Language Pipelines into current software solutions. Our role is to expedite the journey from idea to prototype, offering an open, extensible framework to benchmark existing solutions and compare them with novel ones before a production shift. 

The building blocks of BLAZE are flexible blocks of the NLP pipeline. The functionality of different stages for the pipeline are abstracted out, to create flexible, Lego-like blocks that can be combined in various ways.  

Enterprises and researchers can add and arrange these building blocks to create new recipes of varying NLP pipelines. With our benchmarking and model comparison features, they can easily test new state-of-the-art (SOTA) research against existing models and processing techniques. Upon creating a pipeline recipe, they can deploy and interact with their solution through various UIs at the simple press of a button.  

BLAZE will help democratize NLP applications, providing a no-code solution to experiment with SOTA research and serving as a framework to implement NLP pipeline recipes into usable solutions.  

Build, execute, interact

The BLAZE framework operates in three stages: Build, Execute, and Interact


Build

In the Build stage, users specify the models, data, and processing components of their pipeline using a YAML format. They can create a fresh “recipe” via a block-based drag-and-drop UI, modify a pre-existing recipe, or use one directly out of the box. This YAML file contains the specifications of their custom pipeline.

For example, a user could use the drag-and-drop interface to create a solution that uses ElasticSearch and BERT for Semantic Search and BART for Summarization of uploaded documents.

The BLAZE framework

 

Upon completing the drag-and-drop step, users can examine their generated YAML recipes. For example, here we can examine what the generated YAML recipe looks like for a virtual meeting assistant.

Here, the specified functions are summarization, agenda extraction, and actionables identification, the specified UI is WebEx Meetings App, the input data is specified as the live meeting transcript, and the models are Bart (Summarization) and GPT variants (Agenda, Actionables). We'll learn how to build new solutions in a future blog post about Blaze!

The BLAZE Example (YAML)


Execute

In the Execute stage, BLAZE utilizes the YAML file generated or chosen in the preceding stage to establish a server, hosting the appropriate models, datasets, and components as specified. This server serves as the heart of the pipeline, allowing users to interact with their specified configuration of components to run their task. 

The following diagram represents the architecture, illustrating how the server enables pipeline functionality.

The BLAZE Architecture


Interact

In the Interact stage, users can choose to interact with their pipeline through a number of pre-built interfaces, or directly access each functionality through REST API services. Our current offering of interfaces include:  

  • WebApps (both in React and Dash) 
  • Chatbots (powered by WebEx, MindMeld) 
  • Plugins (both WebEx bots and WebEx Meeting Apps) 
  • Postman (or any other REST API client)  

All of these interfaces are automatically generated and are specific to the user’s pipeline

As an example, the following UI displays the WebApp interface for a user who wished to benchmark their new model, a combination of ElasticSearch and BERT on Stanford’s Question-Answering (SQUAD) dataset.  

 

The BLAZE Interact Stage

Similar examples of the WebApp interface, but with search and summarization tasks are shown as well.

The BLAZE Interact Stage_Dashboard

The BLAZE Interact Stage_Dashboard_Cisco_Research

Powered by BLAZE's modular design, these varying interfaces were made without a single line of code. All a user has to do is specify their task in either the drag-and-drop builder or in the YAML recipe directly.

Another example shows the WebEx Meeting App interface, serving as the UI for a user who wished to summarize, extract agenda items, and identify actionables from a live WebEx meeting transcript.

The BLAZE Interact Stage_Dashboard_WebEx Plugin

A complementary example shows the same pipeline, but now with a conversational AI WebEx chatbot interface instead. This was achieved simply by replacing “WebEx-Plugin” with “WebEx-ChatBot.” 

The BLAZE_Dashboard_WebEx Plugin_II

You can modify, deploy, and utilize their NLP pipeline in a few minutes. That’s the power of BLAZE. 


Taking a step back: A comprehensive solution for building NLP applications

Designed for flexibility and extensibility, BLAZE offers a comprehensive enterprise technology solution for building NLP applications. Users can effortlessly add new models or components to the pipeline, integrating their existing models into the BLAZE framework and sharing 'recipes' (YAML files) to the community for others to use.  

Different ingredients, in different orders, give different applications.  

It democratizes the rapidly evolving NLP landscape, acting as a standardized, universal breadboard to combine and build various SOTA NLP tools. As research continues to flourish, users can easily upload new components as well, leveraging the modularized design of BLAZE to access the most cutting-edge tools.  

AI business solutions and the road to tomorrow

The above examples illustrate only a small fraction of what BLAZE can offer.  

This platform can harmoniously blend various functionalities with different models. The framework empowers developers to create, share, and deploy custom pipelines in a standardized manner with no code. With our open-source commitment, BLAZE will help democratize NLP, making this frontier accessible to all.  

In the coming weeks, we’ll demonstrate the creation of several applications, walking-through how to set-up, create, and deploy your own NLP solutions via BLAZE. Here’s a sneak peek into the next few weeks:  

  • Coming Soon - Sample App: WebEx Meetings PlugIn Assistant  
  • Coming Soon - Sample App: WebEx ChatBot for Transcript Analysis   
  • Coming Soon - Building Enterprise Gateway for LLMs (Part 1) 

Stay tuned to the Outshift blog for updates!  

Getting started with BLAZE

To learn more about BLAZE, please take a look at our GitHub repository and documentation.  

If you have any questions, want to share your thoughts, or wish to contribute, feel free to reach out to our Group Mailing List (blaze-github-owners@cisco.com) — we’d love to hear from you! And if you want to learn more, check out our blog post on Building with BLAZE.

Acknowledgments

A lot of work went into building BLAZE — our team started this project last summer, and we have been meticulously working to ensure a seamless experience for users wishing to harness the promise of NLP.  

BLAZE couldn’t have been possible without the contributions of the following individuals, to whom we express our sincere thanks:

  • Thomas Le Menestrel, Jason Rauchwerk, and Tudor Vioreanu
  • Cisco Open Source Team, specifically Stephen Augustus and Jason DeTiberius
  • Justin Cohen (developmental VM support) and Ahmed Ismail (SRE Team)
  • The support and guidance of the Cisco Research team, including Ali Payani, Hugo Latapie, Myungjin Lee, Ramana Kompella, and Vijoy Pandey
Subscribe card background
Subscribe
Subscribe to
the Shift!

Get emerging insights on emerging technology straight to your inbox.

Unlocking Multi-Cloud Security: Panoptica's Graph-Based Approach

Discover why security teams rely on Panoptica's graph-based technology to navigate and prioritize risks across multi-cloud landscapes, enhancing accuracy and resilience in safeguarding diverse ecosystems.

thumbnail
I
Subscribe
Subscribe
 to
the Shift
!
Get
emerging insights
on emerging technology straight to your inbox.

The Shift keeps you at the forefront of cloud native modern applications, application security, generative AI, quantum computing, and other groundbreaking innovations that are shaping the future of technology.

Outshift Background