-
-
Features supported by RavenML - Business Insight (Automated viz, customer reviews), contract authoring and review support
-
RavenML home screen
-
Contract ML - Shows a list of items in a contract recommended for review by a Generative AI model
-
Customer Review ML - Uses a Generative AI model to categorize
-
Customer Review ML - Visualization of Automatically Labelled Clusters of Customer Reviews
RavenML: Automate Business Workflows with AI and Docker
A tool to efficiently Improve business workflows (contract authoring, signing), extract business insights (automated data visualizations) and unlock customer feedback (actionable directions) using state of the art Generative AI.
The backend powering RavenML is wrapped as a Docker Container uses the Python 3.10 container from DockerHub and deployed on Cloud Run.
Inspiration
Understanding trends in business data can be critical to decision-making. For example, dashboards that illustrate trends in business data such as sales, subscriptions, terminal usage statistics, etc., are often required for improving business strategy. However, the process of analyzing business data, asking the right questions, and creating associated visualizations can be time-consuming, tedious, and requires skills that may not be available to many small and medium-scale businesses. In addition, extracting actionable insights from handwritten customer review data can be tedious and expensive, often requiring expensive manual data entry and analysis.
For small and medium-scale businesses that may not have the resources to hire data analysts or data scientists, these challenges can be a significant barrier to growth.
To address this, Business Insights ML aims to provide a tool for automatic data analysis and extraction of insights from unstructured customer review data. This is done by leveraging state-of-the-art AI models and best-in-class UX to assist in the process of data analysis and visualization.
The backend powering RavenML is wrapped as a Docker Container uses the Python 3.10 container from DockerHub and deployed on Cloud Run.
What Does It Do?

Raven ML offers value across several features:
AI-Assisted Contract Authoring and Review
- Automated Contract Review (with Human in the loop). Highlights important terms or issues in a contract that the user should double check before signing.
- AI-Assisted Contract Authoring [in progress]. A work flow that supports users in creating their own contracts customized to their service or business needs.
- Contract Gallery [in progress]: A collection of contracts that users can use as a starting point for their own contracts
- Multiparty Contract Signing with multiple parties powered by DropBox Sign. Utilizes the DropBox sign API to allow users to sign contracts with multiple parties.
AI Assisted Business Insights
- Automated Visualization
- Data Loader: Supports loading (tabular) data from multiple business data sources such as the Square API (e.g. data on subscriptions, invoices, etc) or data warehouses like BigQuery.
- Automatic Visualization: Use the PaLM API large language model to:
- Generate a summarized representation of the data. This step is critical as it provides grounding for the subsequent steps.
- Generate a list of questions that can be answered by the data. This is done by asking the model to generate questions that can be answered by the data as represented by the summary.
- For each question, generate a visualization that answers the question. This is done by asking the model to first write code to generate the visualization and then executing the code to generate the visualization.
- NL2Viz: Provides a natural language interface for generating visualizations from data. This is done by asking the user to describe the visualization they want and then using the PaLM API to generate the code for the visualization.
- Customer Review Insights
- Data Loader: Supports loading customer review data (unstructured text) from multiple data sources, e.g., the Google Business Profile API, GiHub Issues API, Yelp Reviews API, etc.
- Review Clustering: Use the Vertex AI PaLM text embedding API to derive embeddings for each review and then use the embeddings to cluster the reviews into groups. This allows us to identify common themes in the reviews.
- Cluster Labelling: For each cluster, use the PaLM Text generation API to derive a concise, accurate summary of the cluster. This involves sampling from the nucleus of the cluster, assembling a passage, and summarizing the passage with attribution.
- Automated Resolution: For each cluster, use the PaLM text generation API to generate a list of suggested actions that can be taken to address the issues raised in the cluster.
- Cluster Visualization: For each cluster, use the summary to also generate visual icons (using the PaLM text-to-image API) that can be used to represent the cluster. This improves the user experience by providing a visual representation of the cluster.
Project Category: How it Uses the Square API and Generative AI (Large Language Models)
- Text/Chat Foundational Model: The PaLM text/chat model series are used in both the data visualization and business review workflows. Specifically, the PaLM text generation API is used to generate the following:
- Summarized representation of the data
- Questions that can be answered by the data
- Code for generating visualizations that answer the questions
- Summaries of each cluster of reviews
- Suggested actions for addressing issues raised in each cluster of reviews
- Image + Text Modalities: The PaLM text-to-image API is used to generate visual icons that represent each cluster of reviews. This improves the user experience by providing a visual representation of the cluster.
- Positive Social Change, Multi-Lingual Models, and Unlocking Customer Voice: The tool is designed to be accessible to small and medium-scale businesses that may not have the resources to hire data analysts or data scientists. This allows them to make data-driven decisions that can improve their business. In addition, the use of LLMs like the PaLM API that is multi-lingual enables support for users in multiple languages. More importantly, it unlocks the voice and perspectives of customers who may not be able to provide feedback in English.
Why is Raven ML Important/Novel?
- Demonstrates a concrete scenario for enabling data visualization capabilities for small and medium-scale businesses that may not have the resources to hire data analysts or data scientists. This allows them to make data-driven decisions that can improve their business.
- A pipeline for automated extraction of insights from unstructured customer review data. This is achieved by combining techniques in clustering and dimensionality reduction, as well as applying Generative AI (LLM) models to automatically label clusters without any human input. In addition an LLM is also used to synthesize potential ationable steps. This in turn allows businesses to understand the needs of their customers and take actions to address them.
How Raven ML is Built
Raven ML is built using the following technologies:
- Frontend: React and GatsbyJS
- Backend: FastAPI
- Hosting and Infrastructure: Google Cloud Platform (Firebase Firestore for database, Firebase Auth for authentication and access control, VertexAI PaLM model for AI-assisted data analysis and visualization, DockerHub Images + Cloud Run for hosting the backend API).
Responsible AI and Reliability Considerations
To ensure the AI assistance offered by Business Insights ML is consumed in a responsible manner, the following considerations were prioritized:
- Human in the loop User Experience: The user is always in control of the process and can choose to accept or reject the AI suggestions. The user is also able to modify the AI-generated content to suit their needs.
Addressing Hallucination and Quality Control: LLMs are susceptible to generating content that may not be factual or grounded in existing referenceable documents, which could lead to poor decision-making. To address this, Business Insights ML does the following:
- Task Decomposition: The LLM model is tasked with analyzing data and generating visualizations on a step-by-step basis. This simplifies the task and reduces the likelihood of hallucination.
- UX Checks: The interface provides the user with a clear indication of the AI-generated content, the possibility of errors, the need to double-check, and allows them to modify it as needed.
- Transparency: Business Insights ML provides clear explanations of the AI-generated insights, visualizations, and suggested actions, allowing users to understand the reasoning behind the AI's suggestions and make informed decisions.
Accomplishments I am Proud Of
Working on this project involved learning about the following:
- Prompting techniques for reliable LLM generation for data analysis and visualization
- Best practices for UX design for AI-assisted workflows
- Working with the PaLM LLM API via VertexAI
- Working with the SQUARE API (REST endpoints) as a business data source for data analysis and visualization
- Proud of the integrations with GCP tools (Firebase, VertexAI, Cloud Run)
- Implemented Caching layer to speed up development, testing and minimize cost.
- Implemented an Open Source library (llmx) that codifies some of the insights above (e.g. caching, prompting) help others with the development of LLM based applications.
What's next for Business Insights ML
The next steps for Business Insights ML will focus on additional quality and safety checks to ensure that the AI assistance provided is of the highest quality and reliability. These options include:
- Support for additional customer review data sources
- Support for additional business data sources
- Improved UX for organizing the data import and customer review data analysis into projects and associated project dashboards.
- Deeper Integration with external services. E.g., making easy to integrate data sources - Google Business Profile Data, GitHub issues, Yelp etc directly from the tool.


Log in or sign up for Devpost to join the conversation.