Граф коммитов

64 Коммитов

Автор SHA1 Сообщение Дата
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