Skip to content
@OpenGPTs-platform

OpenGPTs-platform

End to end open-source "GPTs store" clone based on OpenAI standard with minimal abstraction, high modularity and extensibility.

Hi there 👋

OpenGPTs is an open-source initiative with the goal of replicating the OpenAI "GPTs" product by creating open-source replicas of the several components that "GPTs" consist of. The successful execution of this project entails a fully observable and configurable GPTs alternative that can be deployed in a siloed environment, which can interface with any LLM, and can be extended to use unique tools.

To replicate "GPTs" we will develop a series of services that can be categorized into the following layers (top-down):

  1. Client: A client to serve as a user interface (chat-ui, forked from HuggingFace assistants client)
  2. GPTs-to-assistants API layer: An API layer (currently developed on the same chat-ui Svelte-kit repository) to manage the storage of "GPTs" then mediate the requests to the assistants API.
  3. Assistants API: Assistants API which will be a python based OpenAI assistants API clone (will strictly follow OpenAI Assistants API's OpenAPI spec).
  4. Run Executor Worker: Run Executor Worker will execute the model's runs against the inference infrastructure while leveraging tools and according to the prompt.
  5. Inference Infrastructure: Infrastructure to host the LLMs will include pre and post-processing to standardize features across any LLM (Will follow OpenAI completions API standard, will also be forking LiteLLM).

Layers #3,4 will be highly modular so that they can serve a variety of other purposes while #1,2 are more interdependent and built specifically for the "GPTs" use case. This is a large project; you are welcome to contribute as much or as little as you want.

This project was just recently put into motion by a team open-sourcerors 🧙. We strive to make it fully open-source while following best practices to ensure an efficient development process. Hosting will be provided by Agent Artificial (an organization run by a subset of these sourcerors).

Architecture

image View full Figma spec

This project is organized in a way so that there is a separation of responsibilities this enables systems to be independent and easier to develop. The OpenGPTs system as a whole begins with the Client & Business Layer API service where a user would create and use GPTs. All requests will be sent to the OS Assistants API which handles persistent storage and requesting generations, it functions in the same way as OpenAI's Assistants API. Finally, the request for generation is sent to Run Executor Worker which will handle the execution of the generation.

Monorepo containing the UI for users to create and use GPTs, it also handles the API requests (Business layer) and executes the API calls using the assistants portion of the openai SDK. This repository is a fork from huggingface/chat-ui.

Python clone of the official OpenAI Assistants API. By leveraging the structure of the Assistants API we leapfrog the necessity to create our own system for managing tool-enabled AI chats.

Run Executor Worker (note currently in dev branch)

Agent that handles the execution of AI generations (termed Runs in Assistants API). With knowledge of the relevant details regarding the thread it utilizes tools and generates content iteratively untill completion.

Contribute

By joining this team you can expect the following:

  • Learn to effectively contribute to a large-scale open-source project
  • Work on a cutting-edge AI application.
  • Become familiar with the AI ecosystem and pipeline.

What layer is best for me?

Client:

  • User experience obsessed.
  • You love front-end.
  • You can make effective win-win (between HuggingFace and OpenGPTs) proposals for system changes.
  • Want to learn or improve in SvelteKit.

Assistants API:

  • You thrive when the tasks and objectives are clearly scoped.
  • Want to deeply learn the inner workings of OpenAI's AssistantAPI.
  • You thoroughly test and evaluate your code by cross-checking with OpenAI's AssistantAPI.
  • Want to learn and improve in FastAPI API, MinIO file storage, PostgreSQL dataabse, and Redis cache.

Cognitive Architecture Language Agents:

  • You strive to make efficient LLM agents.
  • Your LLM agents are stable and fault-tolerant.
  • You make informed system design decisions.
  • You have strong intuitions on the scope of the project and need little guidance.
  • You love uncharted waters.

Popular repositories Loading

  1. assistants-api assistants-api Public

    Clone of OpenAI assistants API

    Python 8 1

  2. chat-ui chat-ui Public

    Forked from huggingface/chat-ui

    Open source codebase powering the HuggingChat app

    TypeScript 1

  3. HexAmerous HexAmerous Public

    Forked from Bakobiibizo/HexAmerous

    code optimized chat application

    Python 1

  4. .github .github Public

  5. openai-python openai-python Public

    Forked from openai/openai-python

    The unofficial Python library for the OpenAI API

    Python 1

Repositories

Showing 5 of 5 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…