Skip to content

Development Setup

William Garneau edited this page Oct 8, 2024 · 2 revisions

Development Setup

Note: This document is a work in progress. As we are in the early stages of the project and currently validating the system architecture, the information provided here is subject to change.

Overview

This guide provides initial instructions for setting up the development environment for the Veracity Evaluation Backend system. As the project evolves, we will update this document with more detailed and finalized information.

Prerequisites

  • Python 3.10+
  • Docker
  • Google Cloud SDK
  • kubectl

Initial Setup Steps

  1. Clone the Repository

    git clone https://github.com/your-org/veracity-eval-backend.git
    cd veracity-eval-backend
  2. Set Up Virtual Environment

    python -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
  3. Install Dependencies

    pip install -r requirements.txt
  4. Set Up Google Cloud Project

    As we're planning to use Google Cloud Platform, you'll need to set up a GCP project. This process may change as we finalize our architecture.

    gcloud init
    gcloud auth application-default login
  5. Local Development Server

    To run the FastAPI server locally:

    uvicorn app.main:app --reload

    The API will be available at http://localhost:8000.

Working with the LLM (Llama 3.1 70B)

Details on how to work with the Llama 3.1 70B model will be provided once we've finalized our approach for integrating and deploying the model.

Database Setup

We're planning to use Cloud SQL (PostgreSQL). Local setup instructions for development will be provided once we've established our database schema and migration processes.

Running Tests

pytest

Deployment

Our deployment process will utilize Google Kubernetes Engine (GKE). Detailed instructions will be provided once we've finalized our deployment pipeline.

Next Steps

As we progress with the project, we will be adding more detailed information about:

  • Working with the Vertex AI Search
  • Setting up and using GCP Secret Manager for managing secrets
  • Configuring and using Cloud Load Balancing
  • Setting up Cloud CDN for static asset delivery
  • Implementing and testing the authentication system with external provider

Contributing

Please refer to our Contribution Guidelines for information on how to contribute to this project.

Questions and Support

If you have any questions about the development setup or encounter any issues, please post in the #misinfo-app-discussion channel in our team communication platform.

Remember, as we're in the early stages of development, your feedback on the architecture and development process is valuable and welcome!

Clone this wiki locally