Chris Trevino
19c9786a68
Make cache_interactor injectable ( #321 )
...
* make cache interactor injectable
* version bump
* update lockfile
2024-11-18 11:02:27 -08:00
Chris Trevino
a2ab2f64b5
Proposal: llm.child ( #319 )
...
* llm child fn
* test update
* add runtime_checkable to protocols
* test updates
* test update
2024-11-12 11:35:47 -08:00
Chris Trevino
08a0e5f4a4
Add JSON-mode retry loop ( #318 )
...
* add retry loop to json generation
* update retry loop
* add json retry test
* version bump
* update lockfile
2024-11-06 07:29:28 -08:00
Chris Trevino
b58a7344ee
release fnllm v0.0.7 ( #317 )
2024-11-01 16:22:04 -06:00
Chris Trevino
945740b246
add json-repair to loose-mode json parsing ( #316 )
2024-11-01 16:18:38 -06:00
Chris Trevino
855fb188a4
Upate fnllm Exports ( #315 )
...
* remove 'instance' from type names
* rename impl files
* add generalized EmbeddingsLLM/ChatLLM interfaces
* update import
* chmod +x
2024-11-01 15:13:20 -07:00
Chris Trevino
99725f3846
fix some dangling poetry refs ( #314 )
2024-10-30 14:16:54 -07:00
Chris Trevino
6f4a37f839
Proposal: Replace `poetry` with `uv` ( #289 )
...
* poetry -> uv
* update ci
* update config collapsing
* remove sync step
* lint update
* use pypi index
* remove ruff config from pyproject.toml
* lockfile update
* add --locked flag to uv sync
* use yarn/cache for uv deps
* remove uv cache step
* update uv.lock, .gitignore
2024-10-30 13:32:45 -07:00
Rodrigo Martins Racanicci
99870e781b
[fnllm] Triggering on_execute_llm event ( #313 )
...
* triggering on_execute_llm event
* bumping version to 0.0.6
2024-10-30 15:15:08 -03:00
Chris Trevino
e48866c0c8
fnllm release ( #310 )
...
* fnllm release
* lockfile update
2024-10-23 16:57:09 -03:00
Brian Caswell
3678b0283f
create parent directories when creating cache directory ( #306 )
...
Co-authored-by: Brian Caswell <bcaswell@microsoft.com>
2024-10-18 09:03:42 -07:00
Andres Morales
6b1ed3578d
Test literal values ( #308 )
...
* Test literal values
* Fix literal values on convert
2024-10-17 10:15:22 -06:00
Andres Morales
1f37dee94d
Self ref configuration ( #304 )
...
* Self reference configuration support
* Recursive support for self references
2024-10-09 11:55:32 -06:00
Chris Trevino
ebcfb46a17
update docsites to have explicit page ordering ( #303 )
...
* update docsites to have explicit page ordering
* use mkdocs.yml for page order
2024-10-04 09:15:28 -07:00
Andres Morales
5ebcb59cac
Mkdocs monorepo ( #299 )
...
* Mkdocs monorepo setup
2024-10-03 15:49:29 -06:00
Andres Morales
b73e170e7c
Config mkdocs ( #298 )
...
Adds mkdocs to essex-config
2024-10-03 14:45:34 -06:00
Chris Trevino
db4afdf022
add code block copying/selecting config ( #297 )
2024-10-03 10:59:34 -07:00
Chris Trevino
f342940267
Use mkdocs-material and mermaid in reactivedataflow ( #296 )
...
* use mkdocs-material
* remove images
2024-10-03 10:40:26 -07:00
Chris Trevino
9024b5121a
Move `reactivedataflow` docs into mkdocs ( #294 )
...
* add mkdocs
* formatting
* formatting
2024-10-03 09:59:47 -07:00
Chris Trevino
e80909b429
add reactivedataflow docs ( #293 )
...
* add reactivedataflow docs
* add a few more cases
2024-10-02 13:44:57 -07:00
Chris Trevino
2dee8ec0a6
Centralize Ruff configuration ( #291 )
...
* centralize ruff config
* remove commented-out config
2024-10-02 11:15:57 -07:00
Chris Trevino
9797be5748
Ruff Updates ( #290 )
...
* update ruff
* update formatting
* update pyproject.toml
* update settings.json
* formatting update
* ruff config update
* ruff config
* add target-version config
* version bump reactivedataflow since deps were cleaned
* roll back version bump
2024-10-02 09:25:24 -07:00
Chris Trevino
0d44a635ea
Add Callbacks interface ( #287 )
...
* add onStart/onEnd callbacks to node execution
* pr comments
* add callbacks protocol
* update readme
* remove redundant lines
* use structural pattern matching
2024-09-30 16:03:02 -07:00
Andres Morales
518d8bc9e8
Fix/prefix ( #288 )
...
* Fix prefix bug
2024-09-26 17:02:11 -06:00
Chris Trevino
14c29939cc
Cut essex-config release ( #286 )
...
* cut essex-config release
* update poetry lock
2024-09-16 11:25:07 -06:00
Chris Trevino
a678938403
ensure that output names are valid in model-mode ( #284 )
2024-09-11 10:27:46 -07:00
Derek Worthen
207477f20f
Parse env vars after loading config from sources ( #282 )
...
* Parse environment variables after loading sources
- Parse environment variables into config after
loading values from all sources.
- Uses string Template syntax of ${SOME_VAR} to
reference environment variables.
- Support $${} syntax for escaping ${} in string
templates. Allows for the $${timestamp} use case
so users may perform their own string parsing
after config loading.
- load dotenv files from env sources, preferring
values defined in earlier files over later ones
and preferring values defined in dotenv files
over os.environ.
* support debugging pytests in vscode
* update test coverage
* add feedback
* undo pyproject update
* update match statement
2024-09-09 15:35:18 -07:00
Chris Trevino
a4b6e5c015
Add bypass_cache option to LLMInput; set minumum Python version to 3.10 ( #281 )
...
* add nocache option to LLMInput; set Python version to 3.10
* Add 3.10 to python build matrix
* add toml dep for 3.10 support
* lint/typecheck fixes
* update pyright
* add typing-inspect, typing-extensions libraries
* py3.10 updates for essex-config
* import required from typing_extensions for 3.10 support
* nocache -> bypass_cache
* udpate file-parsing tests to use real files
2024-09-09 08:55:44 -07:00
dependabot[bot]
fdabc8c67c
Bump cryptography from 43.0.0 to 43.0.1 in /python/essex-config ( #283 )
...
Bumps [cryptography](https://github.com/pyca/cryptography ) from 43.0.0 to 43.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/43.0.0...43.0.1 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-09 08:28:54 -07:00
dependabot[bot]
97a9a49a3b
Bump cryptography from 43.0.0 to 43.0.1 in /python/fnllm ( #280 )
...
Bumps [cryptography](https://github.com/pyca/cryptography ) from 43.0.0 to 43.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/43.0.0...43.0.1 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-09 08:14:28 -07:00
Andres Morales
87d4086f3e
Updatable config annotation ( #279 )
2024-08-28 14:07:46 -06:00
Andres Morales
96e841b2a6
Load config ( #276 )
2024-08-28 12:53:22 -06:00
Andres Morales
025b418ec2
Improvements for graphrag config compatibility ( #275 )
...
* Add an option to add a Parser to a field - useful when you need to parse a list from a string.
* Add an ArgSource which you can provide in runtime arguments to the config.
* Fix order of sources. - Add break when the first source matches a field.
* Add silence_error flag when loading files. - useful when the files are optional.
* Add dotenv support for EnvSource
* Add prefix override to Source
* Other improvements
---------
Co-authored-by: Chris Trevino <chtrevin@microsoft.com>
2024-08-26 12:00:06 -06:00
Chris Trevino
dcdc4c4434
add input to cache entries ( #273 )
2024-08-23 11:53:46 -07:00
Chris Trevino
f0ceeb4132
Experiment: Model GraphRag config with EssexConfig ( #272 )
...
* add graphrag config into integration test
* update graphrag config
* skip non-class field types
* fix env var name interpolation to replace "." with "_"
* update graphrag tests
* remove datashaper dep
* remove devtools call
2024-08-23 08:49:44 -07:00
Chris Trevino
9a50f893c3
Add the ability to bind a NamedInput port to multiple sources, using rx.merge ( #271 )
...
* add the ability to bind a named input to multiple sources
* revert math_ops changes
2024-08-21 14:34:34 -07:00
Chris Trevino
65bd4c0890
Initial commit of fnllm ( #270 )
...
* fnapi init
* add install file
* use install scripts
* chmod
* update authors; version
* update publish script
* move openai to an extra
* remove twine
* streamline module layout
* formatting updates
* rename some util factories
* uppercase jsonstrategy enum
* turn ensure_ascii=False; add encoding option to FileCache
* remove any cast
* remove aoai endpoint specifics
* add blob-storage cache
2024-08-21 11:44:09 -07:00
Chris Trevino
d90fa75abf
Catch invalid node ID errors earlier ( #268 )
...
* catch schema errors earlier
* version bump
2024-08-14 13:59:33 -06:00
Chris Trevino
6b7eb7cde5
raise errors when unknown nodes are referenced in edge schemas ( #267 )
2024-08-14 12:03:46 -07:00
Andres Morales
88c9628e2a
Union type support ( #266 )
...
* Union type support
2024-08-09 10:19:25 -06:00
Andres Morales
309754aec9
Documentation generation ( #265 )
2024-08-08 16:34:46 -06:00
Andres Morales
47f11c873f
Initial commit for essex-config library ( #261 )
...
Initial version of essex-config
2024-07-26 18:29:58 -06:00
Chris Trevino
6b889c4d94
Add support for using `Annotated` arguments in verb functions. ( #263 )
...
* improve verb reflection
* test coverage
* version bump
* test update
* conditions tweak
* updates
2024-07-16 13:27:51 -07:00
Chris Trevino
7446229a20
Refactor/graph building ( #262 )
...
* split graph building from execution graph construction
* get tests passing
* add config builder tests
* update raw config injection
* improve error cases
* add coverage
* add coverage
* get test coverage
* formatting
2024-07-16 11:41:44 -07:00
Chris Trevino
134736d3fb
Add default_output as default argument to output conditions ( #260 )
...
* add default_output as default argument to output conditions
* make conditions log file-private
2024-07-08 12:25:05 -07:00
Chris Trevino
cc4ce4938a
implement 'config_providers' graph construction option ( #259 )
2024-07-08 10:27:38 -07:00
Chris Trevino
93665e4498
add tests for the new conditions, use the coverage-based tests in cI ( #258 )
2024-07-01 16:37:32 -07:00
Chris Trevino
52d87e1a82
Use shallow-copies of node-inputs on recompute ( #257 )
...
* update execution_node tasks to use shallow copies of fn inputs
* use toposort in drain order
* version bump
2024-07-01 15:24:01 -07:00
Chris Trevino
c8e1eb6e1b
add debug logs for firing, emitting, execution ( #256 )
...
* add debug logs for firing, emitting, execution
* formatting
2024-07-01 12:19:04 -07:00
Chris Trevino
1668d4cc4f
Make Verb Functions Async ( #255 )
...
* make async a first-class primitive by defining the VerbFunction callback as async
* documentation update
2024-07-01 11:49:48 -07:00