Skip to content

aliencube/open-chat-playground

Repository files navigation

Icon for OpenChat Playground Open Chat Playground

Open Chat Playground (OCP) is a web UI that is able to connect virtually any LLM from any platform.

Supported platforms

Prerequisites

Getting started

Get the repository ready

  1. Login to GitHub.

    gh auth login
  2. Check login status.

    gh auth status
  3. Fork this repository to your account and clone the forked repository to your local machine.

    gh repo fork aliencube/open-chat-playground --clone --default-branch-only
  4. Navigate to the cloned repository.

    cd open-chat-playground

Run on local machine

Run in local container

Run on Azure

Run tests

Build app

  1. Make sure you are at the repository root.

    cd $REPOSITORY_ROOT
  2. Build the app.

    dotnet restore && dotnet build

Unit tests

  1. Make sure you are at the repository root.

    cd $REPOSITORY_ROOT
  2. Run tests.

    dotnet test --filter "Category=UnitTest"

Integration tests

  1. Make sure you are at the repository root.

    cd $REPOSITORY_ROOT
  2. Install playwright.

    pwsh $REPOSITORY_ROOT/test/OpenChat.PlaygroundApp.Tests/bin/Debug/net{YOUR_VERSION}/playwright.ps1 install
  3. Run the app.

    dotnet run --project $REPOSITORY_ROOT/src/OpenChat.PlaygroundApp
  4. Run tests.

    # With LLM provider
    dotnet test --filter "Category=IntegrationTest"
    # Without LLM provider
    dotnet test --filter "Category=IntegrationTest & Category!=LLMRequired"

Configure GitHub Actions for CI/CD Pipeline

  1. Make sure you are at the repository root.

    cd $REPOSITORY_ROOT
  2. Make sure you've logged in to Azure.

    azd auth login --check-status
  3. Run pipeline config.

    azd pipeline config
  4. Answer the question below:

    • ? Select how to authenticate the pipeline to Azure 👉 Federated Service Principal (SP + OIDC)
    • ? Would you like to commit and push your local changes to start the configured CI pipeline? 👉 No
  5. Once the configuration is done, push a new commit to GitHub to run the GitHub Actions workflow.