The demo-ai-weaviate repository is a demonstration project that implements a retrieval-augmented generation (RAG) workflow for summarizing financial data. The project integrates Weaviate, a vector database, with Red Hat OpenShift and Red Hat Build of Apache Camel to create an end-to-end system that retrieves financial information and generates natural language summaries using large language models.
The core functionality centers on importing financial data from AlphaVantage's Stock Market API into Weaviate's vector database, which runs as a stateful set on OpenShift for enterprise-grade deployment. The system builds a private knowledge base of company overviews containing descriptions and financial metrics such as market capitalization, book value, and earnings per share. Users can query this database using natural language, and Weaviate performs semantic search to identify the most relevant companies. The system then uses the granite3-dense:8b large language model to generate financial summaries based on the retrieved data, ensuring that outputs are grounded in the actual financial data rather than purely generated by the LLM.
The application architecture includes several key components deployed on OpenShift. Weaviate serves as the vector database and is installed in its own namespace. Ollama runs as a model server in a separate namespace, hosting both the all-minilm and granite3-dense:8b models. The stock overview ingestion engine consists of two parts: a caching proxy and a stock overview synchronizer, both deployed in the camel namespace. A Gradio-based user interface provides the front-end for interacting with the system. OpenShift DevSpaces offers developers an integrated development environment within the Kubernetes cluster itself.
The repository is written in Python and has been classified by GitGenius as covering multiple domains including Weaviate, vector databases, AI demonstrations, semantic search, natural language processing, Red Hat technologies, data indexing, machine learning, knowledge graphs, and cloud integration. The repository shares contributors with redhat-developer/vscode-java, indicating some overlap in the development community.
The installation process requires cluster-admin access to Red Hat OpenShift and an AlphaVantage API key for refreshing stock symbol data. The API key is configured in a secret file at src/main/jkube/secret.yml. The project provides detailed installation instructions for each component, including separate documentation for installing Weaviate and references to external repositories for the caching proxy and AlphaVantage synchronizer. The repository notes that automated installation is a work in progress. Users have multiple options for accessing OpenShift, including Code Ready Containers for local mini-clusters, OKD clusters with Eclipse-Che, managed OpenShift with DevSpaces, or managed services from major cloud providers.