llm-workflow-engine

Power CLI and Workflow manager for LLMs (core package)

MIT License

Stars
3.6K

Bot releases are hidden (Show)

llm-workflow-engine - 0.10.7

Published by thehunmonkgroup over 1 year ago

  • Sat May 27 2023: allow setting system message alias in config (model.default_system_message) or CLI (-s/--system-message)
  • Sat May 27 2023: read both extra params and input file for one-shot mode
  • Thu May 25 2023: add -i/--input-file argument
  • Mon May 22 2023: restore SQLAlchemy compat with 1.4.x
  • Thu May 18 2023: kill lingering deprecated chatgpt-browser/chatgpt-api
llm-workflow-engine - 0.10.6

Published by thehunmonkgroup over 1 year ago

  • Thu May 18 2023: fix streaming when overriding a preset in templates
llm-workflow-engine - 0.10.5

Published by thehunmonkgroup over 1 year ago

  • Wed May 17 2023: add doc for browser backend with web browser support
  • Wed May 17 2023: add support for ChatGPT with browsing (alpha, browser backend only)
llm-workflow-engine - 0.10.4

Published by thehunmonkgroup over 1 year ago

  • Mon May 15 2023: fix broken streaming, clean up can/should stream logic, fixes #303
llm-workflow-engine - 0.10.3

Published by thehunmonkgroup over 1 year ago

  • Mon May 15 2023: clean up alembic config process
  • Mon May 15 2023: add util function to get directory of any file
  • Mon May 15 2023: fix missing alembic files
llm-workflow-engine - 0.10.2

Published by thehunmonkgroup over 1 year ago

v0.10.2 - 14/05/2023

  • Sun May 14 2023: fix missing init file for schema dir
llm-workflow-engine - 0.10.1

Published by thehunmonkgroup over 1 year ago

v0.10.1 - 13/05/2023

🚒Deprecations🚒

  • Configuration backend: settings have changed values
    • chatgpt-api is now api
    • chatgpt-browser is now browser

Commit log

  • Sat May 13 2023: fix some message composition and streaming bugs
  • Sat May 13 2023: fix default args to prevent mutable default args bugs
  • Sat May 13 2023: update backend config names, add deprecation warning for old names
llm-workflow-engine - 0.10.0

Published by thehunmonkgroup over 1 year ago

v0.10.0 - 13/05/2023

🚒Breaking Changes🚒

This version performs operations on the database that stores users/conversations/messages.
Please read the the upgrade warnings at https://github.com/mmabrouk/chatgpt-wrapper#upgrading prior to running the upgrade!

New features

  • Plugin support for browser backend
  • Database schema upgrade system
  • Per user default presets
  • Switching conversations loads original preset or provider/module used when conversation was created

Commit log

  • Sat May 13 2023: document per-user default presets
  • Sat May 13 2023: fix random bugs with streaming across providers
  • Sat May 13 2023: document plugin support
  • Sat May 13 2023: /plugin-enable and /plugin-disable commands, dynamically add/remove plugins
  • Sat May 13 2023: add /enabled-plugins command
  • Sat May 13 2023: underscore commands in help command substitution
  • Sat May 13 2023: add plugin support to browser backend, /plugins list command
  • Sat May 13 2023: add database upgrade warnings to README
  • Sat May 13 2023: add prompt replacement token, indicator for active preset in /presets command
  • Sat May 13 2023: schema upgrade, store provider and preset for conversation, use when re-loading conversations
  • Sat May 13 2023: exit on upgrade error
  • Sat May 13 2023: improve stream logging
  • Sat May 13 2023: working user default presets
  • Fri May 12 2023: improve display/management of system message aliases
  • Thu May 11 2023: schema upgrade, default_model -> default_preset for users
  • Thu May 11 2023: database schema upgrade system using alembic
  • Wed May 10 2023: clarify doc for presets
  • Tue May 09 2023: timeout for trying to retrieve awesome prompts
llm-workflow-engine - 0.9.0

Published by thehunmonkgroup over 1 year ago

This is a substantial rewrite to add support for multiple providers and management of preset configurations.

New features are documented in the README.

🚒Breaking Changes🚒

Configuration
  • Removed the following values from shell.prompt_prefix:
    • $TOP_P
    • $PRESENCE_PENALTY
    • $FREQUENCY_PENALTY
  • Removed chat.model configuration setting.
  • Removed chat.model_customizations configuration setting.
  • Added a new model configuration hash, with the following new attributes:
    • default_preset
  • Moved chat.model_customizations.system_message configuration setting to model.system_message
  • Moved chat.streaming configuration setting to model.streaming
CLI use
  • --model command line argument has been removed
  • --preset command line argument has been added
  • Saving/editing a default model per user in the API backend has been removed
  • /model command has been rewritten. See /help model for more information
  • Removed the following commands:
    • /model-temperature: Now set under /model temperature
    • /model-top-p: Now set under /model model_kwargs
    • /model-presence-penalty: Now set under /model model_kwargs
    • /model-frequency-penalty: Now set under /model model_kwargs
  • Renamed the following commands:
    • /model-system-message to /system-message
Templates
  • Special model_customizations variable has been renamed to request_overrides, and functionality has changed. See the Templates section in the README for more info.
Python module use
  • API backend modules location changed to backends/api
  • API backend file location changed to backends/api/backend.py
  • API backend class OpenAIAPI renamed to ApiBackend
  • Removed the following abstract methods from the base Backend class:
    • get_backend_name
    • set_available_models
  • Added the following abstract methods to the base Backend class:
    • set_override_llm

Commit log

  • Mon May 08 2023: update documentation for presets/providers
  • Mon May 08 2023: add /providers command to list providers, sort presets/templates
  • Mon May 08 2023: update example config
  • Mon May 08 2023: enhance browser backend test, add wait arg
  • Mon May 08 2023: convert all direct API calls in browser backend to use injected XHR requests
  • Mon May 08 2023: function/var renames for clarity
  • Mon May 08 2023: update pip package description
  • Mon May 08 2023: rename classes for clarity
  • Sun May 07 2023: add commented list of openai codex models
  • Sun May 07 2023: add huggingface_hub provider
  • Sun May 07 2023: add openai provider
  • Sun May 07 2023: add AI21 provider
  • Sun May 07 2023: update CLI args, remove model, add preset
  • Sun May 07 2023: fix streaming on override LLM
  • Sun May 07 2023: custom LLM override functionality, allow override using preset in templates
  • Sun May 07 2023: include name in preset metadata
  • Sun May 07 2023: re-add max-submission-tokens, abstract for multiple providers, enhance error message for get_set_backend_setting(), add get_capability() method to provider class, discover provider from model, use when switching conversations, remove errant streaming capabilitiy from cohere provider
  • Sat May 06 2023: update sample config
  • Sat May 06 2023: move preset_manager to backend, refactor init model to init with default preset, remove dead constants, model_customizations -> request_overrides, refactor config setting locations
  • Sat May 06 2023: strings instead of arrays for non-chat LLM messages
  • Sat May 06 2023: upgrade langchain/sqlalchemy, cohere dep
  • Sat May 06 2023: abstract title generation, message preparation/extraction
  • Sat May 06 2023: REPL stream references backend stream setting
  • Fri May 05 2023: should_stream() for backend, look at streaming setting directly
  • Thu May 04 2023: add get_customizations() method, scrubs metadata
  • Thu May 04 2023: working presets, fix streaming in API backend
  • Wed May 03 2023: add cohere plugin
  • Wed May 03 2023: rebuild completions on provider change, start abstracting model property name
  • Wed May 03 2023: /provider command to switch providers
  • Wed May 03 2023: more robust provider loading
  • Wed May 03 2023: add PROVIDER_PREFIX constant
  • Wed May 03 2023: display/full name management for providers
  • Wed May 03 2023: refactor model handling, get/set models
  • Wed May 03 2023: restrict langchain version, fixes #296
  • Tue Apr 25 2023: check for and close browser page in cleanup()
  • Mon Apr 24 2023: basic working API backend implementation with ChatOpenAI
  • Sun Apr 23 2023: clarify instructions for GPT-4 use
  • Sat Apr 22 2023: check for existing browser pages before closing context, add more debugging to cleanp()
  • Thu Apr 13 2023: rip out model specific commands, refactor do_model, fix model completions
  • Thu Apr 13 2023: loosen up timestamp string for conversion, fixes #287
  • Wed Apr 12 2023: move llm creation into provider class, move browser backend provider to plugin
  • Wed Apr 12 2023: initial preset manager
  • Tue Apr 11 2023: make api key/org private
  • Tue Apr 11 2023: PresetValue class, functionality to set model customizations
  • Tue Apr 11 2023: Get Docker container working, clarify documentation, fixes #268, fixes #276, fixes #281
  • Tue Apr 11 2023: clean up browser integration test
  • Tue Apr 11 2023: speed up zap plugin loading
  • Mon Apr 10 2023: move plugin manager instantiation to backends
  • Mon Apr 10 2023: support passing list of additional plugins to plugin manager
  • Mon Apr 10 2023: add provider base class, move chat_openai provider plugin
  • Sat Apr 08 2023: initial provider manager implementation
llm-workflow-engine - 0.8.4

Published by thehunmonkgroup over 1 year ago

  • Thu Apr 13 2023: loosen up timestamp string for conversion, fixes #287
  • Tue Apr 11 2023: Get Docker container working, clarify documentation, fixes #268, fixes #276, fixes #281
  • Tue Apr 11 2023: clean up browser integration test
  • Sat Apr 08 2023: clarify API backed model is set per user, fixes #283
  • Sat Apr 08 2023: provide empty config if config file is empty, fixes #282
  • Fri Apr 07 2023: enable echo plugin by default, remove awesome plugin as default
  • Fri Apr 07 2023: move test plugin to echo
  • Fri Apr 07 2023: fix syntax error in setup script, fixes #280
  • Fri Apr 07 2023: add support for plugin packages
llm-workflow-engine - 0.8.3

Published by thehunmonkgroup over 1 year ago

  • Fri Apr 07 2023: properly set user object in all login scenarios, fixes #260, fixes #262
  • Thu Apr 06 2023: sync docs
llm-workflow-engine - 0.8.2

Published by thehunmonkgroup over 1 year ago

  • Wed Apr 05 2023: enable console/file debugging for --debug arg, print backtrace on command exceptionn when --debug enabled
  • Tue Apr 04 2023: add shell.history_file config option
llm-workflow-engine - 0.8.1

Published by thehunmonkgroup over 1 year ago

🚒Breaking Changes🚒

Backends have been converted to use Langchain's LLM class implementation:

  • Shell usage and straightforward module usage should not be affected
  • More esoteric module uses may be affected, depending on use case

Commit log

  • Mon Apr 03 2023: add support for listing incompatible backends in plugins
  • Mon Apr 03 2023: abstract prompt prefixing for REPLS, add model prefix for browser backend
  • Mon Apr 03 2023: add warning message for broken stream interruption on API backend
  • Mon Apr 03 2023: abstract launching browser context, add warning streaming not working properly on browser backend
  • Sun Apr 02 2023: support interrupting streaming on API backend
  • Sun Apr 02 2023: add current datatime util function
  • Sun Apr 02 2023: convert backends to use langchain custom chat LLM
  • Sun Apr 02 2023: move LLM class/object creation methods to base backend class
  • Mon Apr 03 2023: fix ctrl-c/ctrl-d functionality with prompt thread
  • Sat Apr 01 2023: reorg install section
  • Sat Apr 01 2023: update doc for backend installation
  • Sat Apr 01 2023: update sample config
  • Sat Apr 01 2023: register cleanup function for browser backend
llm-workflow-engine - 0.8.0

Published by thehunmonkgroup over 1 year ago

v0.8.0 - 01/04/2023

🚒Breaking Changes🚒

  • All async functionality has been removed
    • Async functionality was determined to be overly complex and buggy for the common use cases in this project.
    • If you were using any async Python modules, switch to their sync version, and consider implementing your own async wrapper or using multithreading if necessary.
  • Browser backend and ChatGPT module usage have been deprecated
    • No support will be provided for ChatGPT module usage
    • API backend is now the default
    • Browser backend will remain for now, but may be removed in a future release

Commit log

  • Sat Apr 01 2023: tweak config instructions
  • Sat Apr 01 2023: update docker entrypoint instructions
  • Sat Apr 01 2023: deprecate browser backend, ChatGPT module usage, default to API backend
  • Sat Apr 01 2023: make conversation_data_to_messages() consistent in browser backend
  • Sat Apr 01 2023: fix set_title(), cleanup get_history() on API backend
  • Sat Apr 01 2023: add helper func to convert SQLAlchemy objects to plain dicts
  • Sat Apr 01 2023: dynamically fetch history for older chats on switch/chat/title
  • Fri Mar 31 2023: completely rip out all async functionality
  • Fri Mar 31 2023: Add new_conversation to ChatGPT
  • Thu Mar 30 2023: add interactive arg to launch_backend(), fixes #265
  • Thu Mar 30 2023: add /copy command, fixes #264
  • Wed Mar 29 2023: fix broken template tests
  • Wed Mar 29 2023: add file/directory util functions
  • Tue Mar 28 2023: add LLM base methods for plugins to leverage
llm-workflow-engine - 0.7.2

Published by thehunmonkgroup over 1 year ago

  • Tue Mar 28 2023: add support for .jsonl/.xml to data_query plugin
  • Tue Mar 28 2023: add config options to shell plugin
  • Tue Mar 28 2023: small logic improvements to database/data_query plugins
  • Tue Mar 28 2023: extend /config with edit/section args
  • Mon Mar 27 2023: add data_query plugin
  • Mon Mar 27 2023: more robust filename to class conversion
  • Mon Mar 27 2023: snake_to_class() util function
  • Mon Mar 27 2023: bump langchain required version
  • Mon Mar 27 2023: add database plugin
  • Mon Mar 27 2023: add agent:verbose config value to zap plugin
  • Mon Mar 27 2023: tighten up prompt template for generating shell commands
  • Mon Mar 27 2023: allow plugins/users to access configuration for plugins
  • Mon Mar 27 2023: return None on missing value in config.get()
  • Sun Mar 26 2023: add unit tests for util functions
  • Sun Mar 26 2023: reorg docs
  • Sun Mar 26 2023: convert to Pytest framework
  • Sun Mar 26 2023: fix SQLAlchemy deprecation warnings
llm-workflow-engine - 0.7.1

Published by thehunmonkgroup over 1 year ago

  • Sun Mar 26 2023: per profile playwright sessions for browser backend
  • Sun Mar 26 2023: no password for test users
  • Sun Mar 26 2023: clean up errant console references, fixes #256
  • Sun Mar 26 2023: allow custom style for util.print_status_message()
llm-workflow-engine - 0.7.0

Published by thehunmonkgroup over 1 year ago

🚒Breaking Changes🚒

Lots of file/class/function reorganization:

  • Shell usage should be unaffected
  • Basic use cases of Python module should be unaffected
  • More complex use cases of Python module will probably need code adjustments

Commit log

  • Sat Mar 25 2023: abstract template functionality, abstract common functions to util module
  • Sat Mar 25 2023: user found/not found message helper
  • Sat Mar 25 2023: reorg file structure, group modules into core/backends
llm-workflow-engine - 0.6.6

Published by thehunmonkgroup over 1 year ago

  • Fri Mar 24 2023: add troubleshooting section to docs
  • Fri Mar 24 2023: add 'chatgpt reinstall' one shot command
  • Thu Mar 23 2023: add shell plugin
llm-workflow-engine - 0.6.5

Published by thehunmonkgroup over 1 year ago

  • Wed Mar 22 2023: inject id into get_conversation() result, add timeout logic for api requests, use for gen_title()
  • Tue Mar 21 2023: add comment, ctrl-c interrupt generation not working on windows
  • Tue Mar 21 2023: add support for interrupting streaming by ctrl-c
  • Mon Mar 20 2023: fix issue writing awesome prompts CSV file
  • Mon Mar 20 2023: restore ability of /template-edit to create new templates
  • Sun Mar 19 2023: attempt to fix sync wrapper when loop is always running
  • Sun Mar 19 2023: add upgrading section to doc
llm-workflow-engine - 0.6.4

Published by thehunmonkgroup over 1 year ago

  • Sun Mar 19 2023: add all core plugins to example config
  • Sun Mar 19 2023: add init file to plugins dir, fixes #239
  • Sun Mar 19 2023: add langchain dependency
  • Sun Mar 19 2023: add doc for current core plugins
  • Sun Mar 19 2023: add zap plugin
Badges
Extracted from project README
Test status CodeQL status Star History Chart
Related Projects