Skip to content

doughayden/answer-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

58 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Answer App

Version Python License Code style: black FastAPI Streamlit Google Cloud Terraform

A production-ready Retrieval-Augmented Generation (RAG) server that uses Vertex AI Search and the Discovery Engine API to serve the Answer method - a conversational search experience with generative answers grounded on document data.

  • πŸ€– Fully-managed RAG pipeline: Stateful multi-turn conversational search with generative answers
  • ⚑ Production-capable performance: Autoscaling, concurrency, and regional redundancy via multiple Cloud Run services
  • πŸ”— Integration flexibility: Authenticated external HTTPS endpoint using Google-managed TLS
  • πŸ“Š Resource observability: Single-pane-of-glass Cloud Monitoring dashboard with customizable metrics and alerts
  • πŸ” Explainable and debuggable results: Investigate generative answers using the full RAG pipeline results logged to BigQuery
  • πŸ“ˆ Data-driven LLM-ops: Tune the conversational search agent using question/answer pairs labelled with user feedback
  • πŸ›‘οΈ Identity-Aware Proxy: Secure access control
  • πŸ‘€ Google OAuth: Personalized sessions with user authentication
  • πŸš€ Automated deployments: One-click install and uninstall with Terraform and Cloud Build

Architecture

Application Architecture

Quick Start

Prerequisites

See detailed deployment prerequisites β†’

Installation

  1. Configure OAuth for user authentication
    πŸ“– Complete OAuth setup guide β†’

  2. Deploy the application

    source scripts/install.sh
  3. Enable Vertex AI Agent Builder in the Cloud Console and import your documents

  4. Configure Identity-Aware Proxy to secure access

πŸ“– View complete installation guide β†’

Documentation

Installation & Deployment

Development

Infrastructure

Troubleshooting

Uninstall

Remove all resources:

source scripts/uninstall.sh

Development

This project uses:

  • Python 3.13+ with Poetry for dependency management
  • FastAPI backend with an example Streamlit frontend
  • Terraform for infrastructure as code
  • pytest for testing

πŸ“– Full development guide β†’

Repository Structure

answer-app/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ answer_app/          # FastAPI backend service
β”‚   β”œβ”€β”€ client/              # Streamlit frontend application
β”‚   └── package_scripts/     # Helper scripts (OAuth secrets)
β”œβ”€β”€ terraform/
β”‚   β”œβ”€β”€ bootstrap/           # Initial project setup
β”‚   β”œβ”€β”€ main/                # Main infrastructure deployment
β”‚   └── modules/             # Reusable Terraform modules
β”œβ”€β”€ docs/                    # Modular documentation
β”‚   β”œβ”€β”€ installation/        # Setup guides
β”‚   β”œβ”€β”€ infrastructure/      # Infrastructure documentation
β”‚   β”œβ”€β”€ development/         # Development & API docs
β”‚   └── troubleshooting/     # Known issues & solutions
β”œβ”€β”€ scripts/                 # Automation scripts
β”œβ”€β”€ tests/                   # Unit tests
└── assets/                  # Documentation screenshots

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Production-ready Vertex AI Search RAG server

Resources

License

Stars

1 star

Watchers

2 watching

Forks

Packages

 
 
 

Contributors