An open API service indexing awesome lists of open source software.

https://github.com/ritechsolutions/genassist

GenAssist combines orchestration, runtime, analytics, and learning — in one open platform.
https://github.com/ritechsolutions/genassist

agentic-ai agentic-workflow ai conversation-ai llm llm-finetuning ml-training multi-ai-providers

Last synced: 2 months ago
JSON representation

GenAssist combines orchestration, runtime, analytics, and learning — in one open platform.

Awesome Lists containing this project

README

          

GenAssist Infographics

# GenAssist

GenAssist is an AI-powered platform for managing and leveraging various AI workflows, with a focus on conversation management, analytics, and agent-based interactions.

## Documentation

For comprehensive guides and tutorials, visit our [Official Documentation](https://docs.genassist.ai/docs/introduction/).

Internal technical documentation can be found in the [docs](./docs) directory:
- [Architecture Diagrams](./docs/architecture_diagrams.md)
- [Tech Stack](./docs/tech_stack.md)

How-to Videos: [GenAssist Workflows](https://docs.genassist.ai/docs/workflows/)

## Overview

GenAssist provides a comprehensive solution for building, managing, and deploying AI agents with the following key features:

- **User Management**: Authentication, authorization, role-based access control, and API key management
- **AI Agents**: Configure and manage agents with various LLM providers and tools
- **Knowledge Base**: Document management with RAG (Retrieval-Augmented Generation) configuration
- **Analytics**: Performance metrics, conversation analysis, and KPI tracking
- **Conversation Management**: Transcript viewing, conversation analysis, and sentiment analysis
- **Audit Logging**: System activity tracking and change history

## Architecture

### Frontend
- Built with React, TypeScript, Vite, and Tailwind CSS
- Uses shadcn-ui for accessible UI components
- Follows a well-structured component architecture

### Backend
- Python-based API built with FastAPI
- SQLAlchemy ORM with PostgreSQL database
- Follows layered architecture with dependency injection

## Getting Started

### Prerequisites

- Git
- Docker and Docker Compose
- Node.js and npm (for local development)
- Python 3.12+ (for local development)

### Clone the Repository

```bash
# Clone the repository
git clone https://github.com/RitechSolutions/genassist
cd genassist

## Docker Containers
### Prepare .env files
Create a ./frontend/.env environment file based on ./frontend/.env.example
Create a ./backend/.env environment file based on ./backend/.env.example

### Build containers from source
docker compose -f docker-compose.dev.yml -p genassist_dev build app

#RUN
docker compose -f docker-compose.dev.yml -p genassist_dev up --build -d
#STOP
docker compose -f docker-compose.dev.yml -p genassist_dev down
```

### Use container registry
```bash
#RUN
docker compose -f docker-compose.yml -p genassist_local_01 up -d
#STOP
docker compose -f docker-compose.yml -p genassist_local_01 down
```

## Local Development

### Frontend

```bash
cd frontend
```
Create a `.env` file in the root directory of frontend similar to .env.example:
Follow Readme.md for frontend project

Access the frontend app at: http://localhost
User: admin
Password: genadmin

### Backend

```bash
cd backend
```

Create a `.env` file in the root directory of backend similar to .env.example:
Follow Readme.md for backend project

Access the backend API: http://localhost:8000/api
Access API documentation: http://localhost:8000/docs

Celery jobs: http://localhost:5555 (user:user1 password: password1)

## Integration Options

GenAssist provides multiple integration options:

### React Integration

```bash
#Build the plugin
cd plugins/react
npm run build

#Run chat plugin example
cd example-app
npm run dev
```

### IOS Integration

```bash
#Build the plugin
cd plugins/ios
```

## UI Test Automation

```bash
# Frontend Tests
cd ui_tests

npx playwright install
npx playwright test
```

## Backend Testing

```bash
# Backend Tests
cd backend
python -m pytest tests/

# Run tests with coverage
coverage run --source=app -m pytest -v tests && coverage report -m

# Detailed coverage report
python -m pytest tests/ -v --cov=app --cov-report=html
```