langchain-ai / opengpts

MIT License
6.31k stars 829 forks source link

feature request - "plugin" architecture #261

Open weipienlee opened 3 months ago

weipienlee commented 3 months ago

Would be great to be able to add custom llms, agents, and tools to opengpts without the code "intrusion".

An intermediate step towards actual plugin architecture is to allow custom code to co-exist next the base code:

  1. Allow LLMType and AgentType to be "extendable" (maybe with class derivative or so).
  2. Allow get_agent_executor, get_chatbot, ConfigurableRetrieval to be "extendable" in the ifel chain (maybe with function injection).
  3. Allow TOOLS to be "extendable" (maybe with class derivative or so).
  4. This also means to decouple llm choice from agent type e.g. llm + React, Reflection, Plan-and-Execute etc.