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

https://github.com/bionic-gpt/bionic-gpt

Bionic is an on-premise replacement for ChatGPT, offering the advantages of Generative AI while maintaining strict data confidentiality
https://github.com/bionic-gpt/bionic-gpt

architecture full-stack llmops llms rust

Last synced: 2 days ago
JSON representation

Bionic is an on-premise replacement for ChatGPT, offering the advantages of Generative AI while maintaining strict data confidentiality

Awesome Lists containing this project

README

          

Bionic




Bionic is an on-premise replacement for ChatGPT, offering the advantages of Generative AI while maintaining strict data confidentiality

Bionic can run on your laptop or scale into the data center.





License


License




Homepage

|

Contributing

|

Documentation



![Alt text](crates/static-website/assets/landing-page/bionic-console.png "Bionic Screenshot")

### Run Gen AI Locally in Seconds

Try our [Docker Compose](https://bionic-gpt.com/docs/running-locally/docker-compose/) installation. Ideal for running AI locally and for small pilots.

### Familiar Chat Experience

- ๐Ÿ–ฅ๏ธ Intuitive Interface: Our chat interface is inspired by ChatGPT to ensure a user-friendly experience.
- ๐ŸŒˆ Theme Customization: The theme for Bionic is completely customizable allowing you to brand Bionic as you like.
- โšก Ultra Fast UI: Enjoy fast and responsive performance from our Rust based UI.
- ๐Ÿ“œ Chat History: Effortlessly access and manage your conversation history.

### AI Assistants (Retrieval Augmented Generation)

- ๐Ÿค– AI Assistants: Users can create assistants that work with their own data to enhance the AI.
- ๐Ÿ—จ๏ธ Share Assistants with Team Members: Generate and share assistants seamlessly between users, enhancing collaboration and communication.
- ๐Ÿ“‹ Agentic RAG Pipelines: Assistants are full scale enterprise ready Agentic RAG pipelines that can be launched in minutes.
- ๐Ÿ“‘ Any Documents: 80% of enterprise data exists in difficult-to-use formats like HTML, PDF, CSV, PNG, PPTX, and more. We support all of them.
- ๐Ÿ’พ No Code: Configure embeddings engine and chunking algorithms all through our UI.
- ๐Ÿ—จ๏ธ System Prompts: Configure system prompts to get the LLM to reply in the way you want.

### Teams

- ๐Ÿ‘ซ Teams: Your company is made up of Teams of people and Bionic utilises this setup for maximum effect.
- ๐Ÿ‘ซ Invite Team Members: Teams can self-manage in a controlled environment.
- ๐Ÿ™‹ Manage Teams: Manage who has access to Bionic with your SSO system.
- ๐Ÿ‘ฌ Virtual Teams: Create teams within teams to
- ๐Ÿš  Switch Teams: Switch between teams whilst still keeping data isolated.
- ๐Ÿš“ RBAC: Use your SSO system to configure which features users have access to.

### Defence in Depth Security

- ๐Ÿ‘ฎ SAST: Static Application Security Testing - Our CI/CD pipeline runs SAST so we can identify risks before the code is built.
- ๐Ÿ“ข Authorization RLS - We use Row Level Security in Postgres as another check to ensure data is not leaked between unauthorized users.
- ๐Ÿš” CSP: Our Content Security Policy is at the highest level and stops all manner of security threats.
- ๐Ÿณ Minimal containers: We build containers from Scratch whenever possible to limit supply chain attacks.
- โณ Non root containers: We run containers as non root to limit horizontal movement during an attack.
- ๐Ÿ‘ฎ Audit Trail: See who did what and when.
- โฐ Postgres Roles: We run the minimum level of permissions for our postgres connections.
- ๐Ÿ“ฃ SIEM integration: Integrate with your SIEM system for threat detection and investigation.
- โŒ› Resistant to timing attacks (api keys): Coming soon.
- ๐Ÿ“ญ SSO: We didn't build our own authentication but use industry leading and secure open source IAM systems.

### Observability and Reporting

- ๐Ÿ“ˆ Observability API: Compatible with Prometheus for measuring load and usage.
- ๐Ÿค– Dashboards: Create dashboards with Grafana for an overview of your whole system.
- ๐Ÿ“š Monitor Chats: All questions and responses are recording and available in the Postgres database.

### Token Usage Limits and Controls

- ๐Ÿ“ˆ Fairly share resources: Without token limits it's easy for your models to become overloaded.
- ๐Ÿ”’ Reverse Proxy: All models are protected with our reverse proxy that allows you to set limits and ensure fair usage across your users.
- ๐Ÿ‘ฎ Role Based: Apply token usage limits based on a users role from your IAM system.

### Turn AI Assistants into APIs

- ๐Ÿ” Assistants API: Any assistant you create can easily be turned into an Open AI compatible API.
- ๐Ÿ”‘ Key Management: Users can create API keys for assistants they have access to.
- ๐Ÿ” Throttling limits: All API keys follow the users throttling limits ensuring fair access to the models.

### Manage Data Governance with GuardRails

- ๐Ÿ“ Batch Guardrails: Apply rules to documents uploaded by our batch data pipeline.
- ๐Ÿ… Streaming Guardrails: LLMs deliver results in streams, we can apply rules in realtime as the stream flies by.
- ๐Ÿ‘พ Prompt injection: We can guard against prompt injections attacks as well as many more.

### Local or Remote Large Language Models

- ๐Ÿค– Full support for open source models running locally or in your data center.
- ๐ŸŒŸ Multiple Model Support: Install and manage as many models as you want.
- ๐Ÿ‘พ Easy Switch: Seamlessly switch between different chat models for diverse interactions.
- โš™๏ธ Many Models Conversations: Effortlessly engage with various models simultaneously, harnessing their unique strengths for optimal responses. Enhance your experience by leveraging a diverse set of models in parallel.

### Role Based Access Control

- โš ๏ธ Configurable UI: Give users access or not to certain features based on roles you give them in your IAM system.
- ๐Ÿšฆ With limits: Apply token usage limits based on a users role.
- ๐ŸŽซ Fully secured: Rules are applied in our server and defence in depth secured one more time with Postgres RLS.

### Data Integrations

- ๐Ÿ“ค 100s of Sources: With our Airbyte integration you can batch upload data from sources such as Sharepoint, NFS, FTP, Kafka and more.
- ๐Ÿ“ฅ Batching: Run upload once a day or every hour. Set the way you want.
- ๐Ÿ“ˆ Real time: Capture data in real time to ensure your models are always using the latest data.
- ๐Ÿš† Manual Upload: Users have the ability to manually upload data so Agentic RAG pipelines can be setup in minutes.
- ๐ŸŸ Datasets: Data is stored in datasets and our security ensures data can't leak between users or teams.
- ๐Ÿ“š OCR: We can process documents using OCR to unlock even more data.

### Deploy to Bare Metal or The Cloud

- ๐Ÿš€ Effortless Setup: Install seamlessly using Kubernetes (k3s, Docker Desktop or the cloud) for a hassle-free experience.
- ๐ŸŒŸ Continuous Updates: We are committed to improving Bionic with regular updates and new features.

## Try it out

follow [our guide](https://bionic-gpt.com/docs/) to running Bionic in production.

### Configuration

Set the `APP_BASE_URL` environment variable to the public URL of your Bionic server. This value is used when constructing OAuth2 callback URLs.

## Architecture

```mermaid
flowchart LR
%% External actors
User((User))
IdP["External
Identity Provider"]
LLM["LLM Provider
Ollama / OpenAI / Anthropic"]
S3["S3-Compatible
Object Storage"]

%% Kubernetes boundary
subgraph K8s["Kubernetes
EKS ยท AKS ยท GKE ยท k3s"]
direction LR

%% Ingress & Auth
Nginx["Nginx Router"]
OAuth2["OAuth2 Proxy"]

%% Core API
RustServer["High Performance
Rust Web Server"]

%% Engines
RAG["High Performance
RAG Engine"]
DocEngine["Rust Document
Engine"]

%% Database
Postgres["Postgres
Relational DB & PgVector"]
end

%% Request flow
User --> Nginx --> OAuth2 --> RustServer

%% Authentication flow
OAuth2 --> IdP
IdP --> OAuth2

%% Control & inference
RustServer --> RAG
RustServer --> LLM
RustServer --> Postgres

%% RAG orchestration
RAG --> Postgres
RAG --> DocEngine

%% Object storage access
RustServer --> S3
```

## Enterprise

For companies that need better security, user management and professional support

[Talk to the founders](https://calendly.com/bionicgpt)

This covers:
- โœ… **Help with integrations**
- โœ… **Feature Prioritization**
- โœ… **Custom Integrations**
- โœ… **LTS (Long Term Support) Versions**
- โœ… **Professional Support**
- โœ… **Custom SLAs**
- โœ… **Secure access with Single Sign-On**
- โœ… **Continuous Batching**
- โœ… **Data Pipelines**

# Support / talk with founders

- [Schedule a Chat ๐Ÿ‘‹](https://calendly.com/bionicgpt)
- [Connect on Linked in ๐Ÿ’ญ](https://www.linkedin.com/in/kulbinderdio/)

# Scales to 1000's of users.

Bionic is optimized to run on Kubernetes and provide Generative AI services for potentially 1000's of users.

![Alt text](crates/static-website/assets/readme/k9s.png "Bionic in Kubernetes")