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.19.2 Latest Release

Published by thehunmonkgroup 5 months ago

  • Sat Jun 01 2024: migrate to langchain 0.2.x
  • Fri May 24 2024: clean exit on Ctrl+c/Ctrl+d
  • Fri May 24 2024: add doc for lwe-plugin-provider-chat-together
  • Fri May 24 2024: add core plugin: provider_chat_openai_compat Allows access to third-party providers that offer an OpenAI compatible API.
  • Mon May 20 2024: syntax cleanup
  • Mon May 20 2024: cleanup tool definitions, add debug traceback
  • Mon May 20 2024: add debug property to Config class
  • Sun May 19 2024: EXPERIMENTAL: lwe_command Ansible module, allows executing REPL commands via workflows
  • Sun May 19 2024: fix doc build warning
  • Sun May 19 2024: split execution of REPL commands into execution and output methods
  • Sun May 19 2024: add support for async compat
  • Sun May 19 2024: fix broken tests
llm-workflow-engine - 0.19.0

Published by thehunmonkgroup 5 months ago

This release migrates from the legacy OpenAI function calling to general tool calling.

Any provider that also has Langchain tool integration should now be able to use a standardized tool calling interface.

🚒Breaking Changes🚒

Deprecations

The following are deprecated, and will be removed in a future release:

  • '/functions' CLI command is now '/tools'
  • Environment variable 'LWE_FUNCTION_DIR' has been renamed to 'LWE_TOOL_DIR'
  • Configuration variable 'directories.functions' has been renamed to 'directories.tools'

Major fixes

  • Refactored OpenAI function calling to general tool use
  • Add gpt-4o model, use as default
  • Add support for passing message list to make_request() Enables Python module usage to pass a string (one user message), or a list of messages
  • Bump textract rev to support python 3.12
    • NOTE: Existing installs will need to force reinstall the textract package for this upgrade, as it is a git install:
      • pip install --force-reinstall textract@git+https://github.com/thehunmonkgroup/textract@2109f34b4f3615004de1f2b2e635cfd61dae3cb7
  • Support custom title in lwe_llm Ansible module
  • Fixed broken command line args for --template-dir, --preset-dir, --plugin-dir, --workflow-dir, function-dir
    • Renamed to --templates-dir, --presets-dir, --plugins-dir, --workflows-dir, --tools-dir
  • More robust message type detection for display in CLI
  • Add optional transform_tool() method to base Provider class

Commit log

  • Sat May 18 2024: add optional transform_tool() method to base Provider class
  • Sat May 18 2024: add func_to_json_schema_spec placeholder function
  • Sat May 18 2024: script for quickly checking tool calling across providers
  • Sat May 18 2024: tweak request unit tests
  • Sat May 18 2024: pretty up upgrade output
  • Sat May 18 2024: kill dead code
  • Sat May 18 2024: add deprecation warnings for /functions -> /tools CLI command
  • Sat May 18 2024: deprecation warning for directories.functions config option
  • Sat May 18 2024: make tool config change in presets a breaking change
  • Sat May 18 2024: remove unneeded metadata arg
  • Sat May 18 2024: more robust message type detection for display in CLI
  • Sat May 18 2024: clarify tool summary in doc
  • Sat May 18 2024: upgrade request unit tests for tools
  • Sat May 18 2024: fix broken util tests
  • Sat May 18 2024: remove dead test code
  • Sat May 18 2024: fix arg order
  • Sat May 18 2024: tweak docs for tool use
  • Fri May 17 2024: upgrade unit tests for request/token_manager/tool_cache/util for tool upgrade
  • Fri May 17 2024: upgrade system tests for tools
  • Fri May 17 2024: upgrade request integration tests for tools
  • Fri May 17 2024: remove dead code
  • Fri May 17 2024: clean up token counting calculation
  • Fri May 17 2024: fix broken check for forced tool calls
  • Fri May 17 2024: fix example workflow for new tools config
  • Fri May 17 2024: more robust handling of user metadata fields
  • Fri May 17 2024: fix streaming for tool calls
  • Fri May 17 2024: clean out private customization keys before building LLM class
  • Fri May 17 2024: abstract selection of title generation provider and llm
  • Fri May 17 2024: abstract transform of AIMessage messages
  • Fri May 17 2024: get tool call working in non-streaming case
  • Thu May 16 2024: tool call submission working, return broken
  • Thu May 16 2024: fix/rename broken CLI args
  • Thu May 16 2024: schema upgrade code
  • Thu May 16 2024: starting tool refactor, mostly renaming
  • Wed May 15 2024: fix fake_llm plugin to support latest arg structure
  • Wed May 15 2024: bump textract rev to support python 3.12
  • Mon May 13 2024: add function docstring
  • Mon May 13 2024: add gpt-4o model, use as default
  • Fri May 10 2024: add support for passing message list to make_request() Enables Python module usage to pass a string (one user message), or a list of messages
  • Fri May 10 2024: add build_message_from_template() support function to backend
  • Fri May 03 2024: add doc for Fireworks chat provider plugin
  • Tue Apr 30 2024: clarify file-summarizer new features in comments
  • Tue Apr 30 2024: improvements to file-summarizer workflow
  • Tue Apr 30 2024: support custom title in lwe_llm Ansible module
llm-workflow-engine - 0.18.11

Published by thehunmonkgroup 6 months ago

  • Fri Apr 26 2024: pass missing config object during title generation
  • Fri Apr 26 2024: add doc for backend_options.title_generation.provider
  • Thu Apr 25 2024: fix broken request class unit tests
  • Thu Apr 25 2024: improve check for custom provider in request logic
  • Sat Apr 20 2024: add doc for openrouter provider plugin
  • Sat Apr 20 2024: fix for Python 3.9 compat
  • Sat Apr 20 2024: update chat_openai provider args
llm-workflow-engine - 0.18.10

Published by thehunmonkgroup 6 months ago

  • Sat Apr 20 2024: migrate from pkg_resources to importlib.metadata
  • Sat Apr 20 2024: add [dev] extra for development packages
  • Mon Apr 15 2024: add link to chat groq provider plugin
  • Tue Apr 09 2024: add latest gpt-4-turbo models to available models list
  • Tue Apr 09 2024: switch to newest gpt-4-turbo
  • Thu Mar 14 2024: add get_raw_template(), use in template edit/run
  • Thu Feb 08 2024: check for full path in windows editor env var, more robust line splitting from where call
  • Thu Feb 08 2024: fix #340: fix langchain deprecation warning
  • Thu Feb 08 2024: add openai_api_base config option to chat_openai provider
  • Thu Feb 08 2024: switch to gpt-3.5-turbo for default model
llm-workflow-engine - 0.18.9

Published by thehunmonkgroup 8 months ago

  • Thu Feb 08 2024: enhance file-summarizer workflow, larger character limit for paper, add a fourth question
  • Thu Feb 08 2024: adjust presets for new OpenAI models
  • Thu Feb 08 2024: add gpt-4-0125-preview, gpt-4-turbo-preview, gpt-3.5-turbo-0125 models
  • Wed Feb 07 2024: sync with patched FakeMessagesListChatModel langchain class
  • Tue Jan 16 2024: Fix 404 link in templates.rst - "example templates"
  • Mon Jan 08 2024: fix commit log link
  • Mon Jan 08 2024: clean up formatting and date format
llm-workflow-engine - 0.18.8

Published by thehunmonkgroup 9 months ago

  • Mon Jan 08 2024: fix bad reference to langchain tools
  • Mon Jan 08 2024: fix broken token manager test
  • Mon Jan 08 2024: allow capabilities override in provider_fake_llm
llm-workflow-engine - 0.18.7

Published by thehunmonkgroup 9 months ago

  • Mon Jan 08 2024: fix edge cases around setting provider/model
  • Mon Jan 08 2024: fix conditional logic
  • Mon Jan 08 2024: check validate_models when verifying tokenizer
  • Mon Jan 08 2024: fix docker compose command in docs
  • Mon Jan 08 2024: move to langchain_openai partner package
llm-workflow-engine - 0.18.6

Published by thehunmonkgroup 10 months ago

  • Mon Jan 08 2024: loosen up openai/langchain requirements
  • Mon Jan 08 2024: fix test warnings
  • Mon Jan 08 2024: bump langchain/openai deps
  • Sat Dec 23 2023: add link for Github Gist plugin
  • Tue Dec 19 2023: add plugin link to provider_chat_google_genai
  • Tue Dec 19 2023: doc: add chat anthropic and chat mistralai plugin links
  • Tue Dec 19 2023: fix doc build error
  • Sun Dec 17 2023: remove dead pydantic-computed dep
llm-workflow-engine - 0.18.5

Published by thehunmonkgroup 10 months ago

  • Fri Dec 15 2023: bump langchain to 0.0.350
  • Sun Nov 26 2023: allow provider-specific token calculation
  • Sat Nov 18 2023: add Ollama plugin to doc
  • Fri Nov 17 2023: add chat-anyscale and chat-cohere plugin links
  • Fri Nov 17 2023: fix #332: force backend setting, throw user warning on legacy settings
llm-workflow-engine - 0.18.4

Published by thehunmonkgroup 11 months ago

  • Thu Nov 16 2023: exclude example dirs that start w/ an underscore
  • Thu Nov 16 2023: fix examples plugin to work with non-dev installs
llm-workflow-engine - 0.18.3

Published by thehunmonkgroup 11 months ago

  • Thu Nov 16 2023: upgrade to latest langchain, openai 1.x
  • Thu Nov 16 2023: add provider_azure_openai_chat to plugins list
  • Thu Nov 16 2023: lock openai package to legacy version for now
  • Mon Nov 06 2023: upgrade default model to gpt-3.5-turbo-1106
  • Mon Nov 06 2023: add new OpenAI provider models dated 1106, default to them in presets
  • Fri Oct 20 2023: remove zap plugin from plugin list
llm-workflow-engine - 0.18.2

Published by thehunmonkgroup about 1 year ago

  • Thu Sep 21 2023: bump langchain to 0.0.298
  • Thu Sep 21 2023: add debug message for built LLM attributes
llm-workflow-engine - 0.18.1

Published by thehunmonkgroup about 1 year ago

  • Tue Sep 19 2023: bump langchain to 0.0.295
  • Sun Sep 10 2023: integrate Backend/ApiBackend
  • Sun Sep 10 2023: set max_submission_tokens if provided
  • Sun Sep 10 2023: remove unused import
  • Sun Sep 10 2023: lwe_llm fixes: not loading profile config from file, add max_submission tokens
  • Sun Sep 10 2023: add debug log to request init
  • Sun Sep 10 2023: remove dead arg for max_submission_tokens()
llm-workflow-engine - 0.18.0

Published by thehunmonkgroup about 1 year ago

Major rewrite of the ApiBackend for maintainability/testability.

No changes to functionality of the Python module or REPL.

Commit log

  • Sat Sep 09 2023: formatting fixes via black
  • Sat Sep 09 2023: system tests for ApiBackend template operations
  • Sat Sep 09 2023: add pytest-datadir plugin
  • Sat Sep 09 2023: move make_template_file to base test module
  • Sat Sep 09 2023: add links to test badges
  • Sat Sep 09 2023: better name for test workflow badge
  • Sat Sep 09 2023: add test/CodeQL badges
  • Sat Sep 09 2023: fix more linting errors
  • Sat Sep 09 2023: fix missing test asserts, B015 linting error
  • Sat Sep 09 2023: fix B907 linting errors
  • Sat Sep 09 2023: reformat with black
  • Sat Sep 09 2023: extend flake8 config, add black config
  • Sat Sep 09 2023: fix linting errors/warnings
  • Sat Sep 09 2023: add flake8 config file
  • Sat Sep 09 2023: remove xclip/xvfbwrapper deps
  • Sat Sep 09 2023: mock pyperclip for unit tests
  • Sat Sep 09 2023: turn off testing debug
  • Sat Sep 09 2023: clean up dependency installation
  • Sat Sep 09 2023: use Xvfb for clipboard tests
  • Sat Sep 09 2023: use custom FakeMessagesListChatModel for now
  • Sat Sep 09 2023: set fake OPENAI_API_KEY for tests
  • Sat Sep 09 2023: temporary hack to debug Github workflow tests
  • Sat Sep 09 2023: separate workflow step to install app
  • Sat Sep 09 2023: switch to development install of package
  • Sat Sep 09 2023: bump Python version requirement to 3.9 or later
  • Sat Sep 09 2023: fix python version declaration
  • Sat Sep 09 2023: update codeQL workflow
  • Sat Sep 09 2023: remove old workflow
  • Thu Aug 17 2023: don't pollute base presets
  • Sat Sep 09 2023: Create python-app.yml
  • Sat Sep 09 2023: more ApiRequest system tests
  • Fri Sep 08 2023: add missing API doc
  • Fri Sep 08 2023: add config for API doc
  • Fri Sep 08 2023: remove unneeded import
  • Fri Sep 08 2023: script to count total asserts tests
  • Fri Sep 08 2023: more ApiRequest system tests
  • Fri Sep 08 2023: combine ApiBackend system tests, add more.
  • Fri Sep 08 2023: add second test preset to preset manager
  • Fri Sep 08 2023: template -> template_manager
  • Fri Sep 08 2023: fix missing API doc
  • Thu Sep 07 2023: improve TemplateManager unit tests
  • Thu Sep 07 2023: clean up util class and tests
  • Thu Sep 07 2023: add more template/util tests
  • Thu Sep 07 2023: return filepath from create_file()
  • Thu Sep 07 2023: polish up system tests
  • Thu Sep 07 2023: add another ConversationStorageManager integration test
  • Thu Sep 07 2023: add test support methods for creating conversations/messages
  • Wed Sep 06 2023: add integration tests for ConversationStorageManager
  • Wed Sep 06 2023: init defaults
  • Wed Sep 06 2023: add more integration tests for ApiRequest
  • Wed Sep 06 2023: more unit tests for ApiRequest
  • Wed Sep 06 2023: refactor build_llm() into more testable units
  • Wed Sep 06 2023: add more unit tests for ApiRequest
  • Wed Sep 06 2023: support function to clean colorized output
  • Wed Sep 06 2023: move log message
  • Wed Sep 06 2023: reorganize system/integration tests, add more ApiRequest integration tests
  • Wed Sep 06 2023: refactor post_response, clean up init defaults
  • Tue Sep 05 2023: more tests for ApiRequest
  • Tue Sep 05 2023: clean up docstrings
  • Tue Sep 05 2023: more ApiRequest tests
  • Tue Sep 05 2023: update function cache tests for recent changes
  • Tue Sep 05 2023: pass fake testing functions in function_manager fixture
  • Tue Sep 05 2023: allow passing additional_functions to function manager
  • Tue Sep 05 2023: only add string function defs to cache, raise on missing functions for non-messages
  • Tue Sep 05 2023: refactor expand_functions()
  • Tue Sep 05 2023: abstract output_chunk_content
  • Tue Sep 05 2023: raise on post_response errors
  • Mon Sep 04 2023: use config test fixture in integration tests
  • Mon Sep 04 2023: more robust setup for config fixture
  • Mon Sep 04 2023: log when test preset is auto-loaded
  • Mon Sep 04 2023: leverage FakeMessagesListChatModel for fake LLM provider
  • Mon Sep 04 2023: load test preset conditionally in preset manager
  • Mon Sep 04 2023: more unit tests for ApiRequest
  • Mon Sep 04 2023: clean up log message
  • Mon Sep 04 2023: move terminate_stream() to request class
  • Sun Sep 03 2023: more unit tests for ApiRequest/ConversationStorageManager
  • Sat Sep 02 2023: allow providing custom defaults for default customizations
  • Sat Sep 02 2023: bump openai package
  • Sat Sep 02 2023: add backend_options.title_generation.provider, allows passing a custom provider for title generation
  • Sat Sep 02 2023: use file-based test database for history test
  • Sat Sep 02 2023: support filepath replacement tokens for database settinng
  • Sat Sep 02 2023: initialize database from backend
  • Sat Sep 02 2023: add backend_options.auto_create_first_user config option
  • Sat Sep 02 2023: refactor database connection/session management to support in-memory SQLite
  • Fri Sep 01 2023: initial ApiRequest tests
  • Fri Sep 01 2023: add preset_manager test fixture
  • Fri Sep 01 2023: pass default preset name, always return tuple for set_request_llm()
  • Fri Sep 01 2023: allow passing additional presets to preset manager
  • Fri Sep 01 2023: add get_preset() util function
  • Fri Sep 01 2023: add docstring
  • Thu Aug 31 2023: abstract more to base test module
  • Thu Aug 31 2023: reorganize fixtures and util functions
  • Thu Aug 31 2023: kill unneeded config file
  • Thu Aug 31 2023: abstract fixtures to base test file
  • Thu Aug 31 2023: upgrade langchain to v0.0.278
  • Thu Aug 31 2023: use FakeListChatModel instead
  • Thu Aug 31 2023: add provider_fake_llm
  • Thu Aug 31 2023: support function calls in streaming responses
  • Wed Aug 30 2023: ignore class for testing
  • Wed Aug 30 2023: fix deprecation warning
  • Wed Aug 30 2023: unit tests for tokenmanager class
  • Wed Aug 30 2023: add FakeBackend for testing
  • Wed Aug 30 2023: fix request function calls
  • Mon Aug 28 2023: more FunctionCache tests
  • Mon Aug 28 2023: unit tests for FunctionCache
  • Mon Aug 28 2023: fix conditional check for function message
  • Mon Aug 28 2023: add flake8 config
  • Mon Aug 28 2023: abstract test config setup to helper module
  • Sat Aug 26 2023: display template before colleting variables
  • Sat Aug 26 2023: fixes for non chat models
  • Thu Aug 24 2023: more token manager and function cache to core
  • Mon Aug 21 2023: bug fixes, first working LLM reqeust and conversation storage
  • Mon Aug 21 2023: bugfixes
  • Mon Aug 21 2023: break out much of API backend into multiple support classes
  • Thu Aug 17 2023: don't pollute base presets
  • Tue Aug 15 2023: log step of stripping messages based on max tokens
  • Tue Aug 15 2023: add backend_options attributes to sample config
  • Tue Aug 15 2023: first pass to revamp streaming
llm-workflow-engine - 0.16.1

Published by thehunmonkgroup about 1 year ago

  • Sat Aug 05 2023: rip out langchain monkey patching, switch to using .stream()
  • Sat Aug 05 2023: add config.properties, '/config config_dir', etc.
llm-workflow-engine - 0.17.0

Published by thehunmonkgroup about 1 year ago

🚒Breaking Changes🚒

Command syntax changes for /user*, /template*, /preset*, /workflow*:

  • /user -> /user show
  • /user-[action] -> /user [action]
  • /template -> /template show
  • /template-[action] -> /template [action]
  • /preset-[action] -> /preset [action]
  • /workflow-[action] -> /workflow [action]

Commit log

  • Mon Aug 07 2023: convert /user-* commands to '/user [action]'
  • Mon Aug 07 2023: convert /workflow-* commands to '/workflow [action]'
  • Sun Aug 06 2023: convert /preset-* to '/preset [action]'
  • Sun Aug 06 2023: reference class instance for actions
  • Sun Aug 06 2023: clean temporary templates, catch template parsing errors
  • Sun Aug 06 2023: fix template / action_template doc
  • Sun Aug 06 2023: convert /template-* commands to '/template [action]'
llm-workflow-engine - 0.16.0

Published by thehunmonkgroup about 1 year ago

🚒Breaking Changes🚒

ApiBackend ask() / ask_stream() method signatures changed:

  • title argument was removed
  • title key added to request_overrides arg

Template title declaration syntax changed:

Top level title key moved under request_overrides key.

Commit log

  • Thu Aug 03 2023: fix function signatures for ask/ask_stream
  • Thu Aug 03 2023: fix call to run_template_compiled()
  • Thu Aug 03 2023: backend run_template() should accept template vars
  • Thu Aug 03 2023: fix order of overrides merge
  • Thu Aug 03 2023: move title override into request_overrides dict
llm-workflow-engine - 0.15.2

Published by thehunmonkgroup about 1 year ago

  • Wed Aug 02 2023: add 'activate_preset' option to request_overrides for templates, allows switching to template-defined preset as default
  • Wed Aug 02 2023: add example code generator template, generates code based on written spec
  • Wed Aug 02 2023: tweak example code spec generator template
  • Wed Aug 02 2023: add example code spec generator template
  • Tue Aug 01 2023: fix namespace collision for 'description' arguments
  • Mon Jul 31 2023: fix user directories always using 'default' profile path
  • Mon Jul 31 2023: rip out unneeded Ansible Runner code
llm-workflow-engine - 0.15.1

Published by thehunmonkgroup about 1 year ago

  • Sat Jul 29 2023: fix /template-edit* commands to properly re-parse edited template
  • Fri Jul 28 2023: add vertex provider plugins to list
  • Wed Jul 26 2023: /workflow-copy command
  • Tue Jul 25 2023: bump langchain to 0.0.242
  • Tue Jul 25 2023: remove unneeded override method
  • Mon Jul 24 2023: add constants for new/untitled title
  • Sun Jul 23 2023: relax JSON parsing from strict mode, add some logging for function call/response only returns
  • Sun Jul 23 2023: add code doc for template manager
  • Sat Jul 22 2023: add prompt prefix token, kill parent_messsage_id
llm-workflow-engine - 0.15.0

Published by thehunmonkgroup over 1 year ago

🚒Breaking Changes🚒

The following deprecated items have been removed:

  • Browser backend: This backend became to brittle and difficult to support, thus the developers made the decision to remove it. Users should consider switching to the more stable API backend.
  • chatgpt binary: Use the lwe binary instead to start the program

Commit log

  • Mon Jul 17 2023: remove incompatible_backend() from Plugin subclass
  • Mon Jul 17 2023: remove deprecated browser backend, deprecated legacy command leader, deprecated chatgpt binary
  • Mon Jul 17 2023: kill API example
  • Mon Jul 17 2023: enable PDF/ePub builds
  • Mon Jul 17 2023: add research dir, first paper
  • Sun Jul 16 2023: numerous doc improvements
  • Sun Jul 16 2023: shell -> command
  • Sun Jul 16 2023: update installation video links
  • Sun Jul 16 2023: add code doc example template
  • Sun Jul 16 2023: switch to multi-column autocomplete menu
  • Sun Jul 16 2023: improve config display, add options to output individual sections
Badges
Extracted from project README
Test status CodeQL status Star History Chart
Related Projects