opengpts
by
langchain-ai

Description: OpenGPTs is an open source project that replicates the experience of OpenAI's GPTs and Assistants API, built on top of LangGraph, LangChain, LangServe, and...

View on GitHub ↗

Summary Information

Updated 2 hours ago
Added to GitGenius on June 20th, 2024
Created on November 4th, 2023
Open Issues & Pull Requests: 128 (+0)
Number of forks: 908
Total Stargazers: 6,736 (+0)
Total Subscribers: 65 (+0)

Issue Activity (beta)

Open issues: 102
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 771 days
Stale 30+ days: 102
Stale 90+ days: 102

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Repository Insights (GitGenius)

Median issue/PR response: 18.2 days
Mean response time: 85.6 days
90th percentile: 236.4 days
Tracked items: 27

Most active contributors

Detailed Description

OpenGPTs is an open source project that replicates the experience of OpenAI's GPTs and Assistants API, built on top of LangGraph, LangChain, LangServe, and LangSmith. The project gives users extensive control over their AI applications by allowing configuration of the language model, prompts, tools, vector database, retrieval algorithm, and chat history database. Most significantly, it provides full control over the cognitive architecture of applications, with three different architectures currently implemented: Assistant, RAG, and Chatbot.

The repository is classified across 24 different categories including plugin, API framework, chatbots, agents, natural language processing, framework, model deployment, dialogue systems, language models, and custom GPTs. This broad classification reflects the project's role as a comprehensive framework for building and deploying conversational AI systems. The primary language is listed as Rich Text Format, indicating substantial documentation alongside code.

OpenGPTs offers a Docker-based setup that streamlines installation and execution by automatically building images for frontend and backend components and setting up Postgres. For users preferring non-Docker installation, the project supports Python 3.11 and uses Poetry for dependency management. The backend requires Postgres with the vector extension for persistence, storing agent configurations and chat message history. Database migrations are managed with golang-migrate, and the system supports switching between 50+ vector databases available in LangChain.

The project implements three cognitive architectures. Assistants can be equipped with arbitrary tools and use an LLM to decide when to use them, making them flexible but potentially less reliable. RAGBot focuses on the use case of uploading files to give bots knowledge of those files. The Chatbot architecture represents the third option. All three architectures are written in LangGraph, making them easily modifiable or replaceable with custom implementations.

Feature parity with OpenAI is a stated goal. Implemented features include a sandbox for importing and testing chatbots, custom actions defined via OpenAPI specifications, knowledge files that can be uploaded from the UI or API, basic tools like DuckDuckGo and PythonREPL, analytics through LangSmith, draft saving and sharing, and publishing through LangServe deployment. A marketplace for searching and deploying user-created chatbots is listed as coming soon.

The repository structure separates frontend code, backend code, LangServe code for exposing APIs, and core logic packages including agent-executor runtime and gizmo-agent configuration. The project supports multiple language models including OpenAI, Azure OpenAI, Anthropic, and Amazon Bedrock, with configuration through environment variables.

According to GitGenius activity tracking, the repository shows median issue and pull request response latency of 436.9 hours across 27 tracked items, with a mean latency of 2053.4 hours. The most active triagers and contributors tracked are ptgoetz with 3 events, followed by Gitmaxd and ZhiminHeGit with 2 events each. The repository shares overlapping contributors with microsoft/vscode, microsoft/typescript, and rust-lang/rust, indicating cross-project collaboration among maintainers.

A significant breaking change occurred in Migration 5, which transitioned from pickle-based checkpointing to a multi-table checkpoint management system aligned with LangGraph's new checkpoint architecture. This change improved state management and persistence but made historical threads and checkpoints created before the migration inaccessible in the UI, though previous checkpoint data is preserved in the old_checkpoints table.

opengpts
by
langchain-ailangchain-ai/opengpts

Repository Details

Fetching additional details & charts...