Releases: stanfordnlp/dspy
2.6.18
What's Changed
General
- Move num_threads into global settings by @TomeHirata in #8071
- Move provide_traceback into global settings by @TomeHirata in #8056
- Add max size for global history by @TomeHirata in #8057
- Relax openai version, i.e. no longer <=1.61.0 by @okhat in #8084
Adapters & Modules
- Introduce two step adapter by @TomeHirata in #8011
- Support default args in dspy.Tool by @chenmoneygithub in #8082
- Add regex to match json object - fixes issues caused by Azure OpenAI response structure by @hmoazam in #8054
Optimizers
- Fix SIMBA max recursion depth error by @klopsahlong in bbc3581
- Handle empty demo case correctly in GroundedProposer by @TomeHirata in #8053
- Generic streaming support by @chenmoneygithub in #7856
- Performance improvement of evaluate.py by @koptagel in #8074
New Contributors
- @GangGreenTemperTatum made their first contribution in #8066
- @koptagel made their first contribution in #8074
Full Changelog: 2.6.17...2.6.18
2.6.17
What's Changed
Adapters
- Refactor DSPy adapters to make it more extensible by @chenmoneygithub in #7996
- Fix chat adapter finetune by @dilarasoylu in #8044
- Fix the type of format_demos by @TomeHirata in #8049
- Fix JSON Adapter's first attempt, all Adapters for ReAct trajectories by @okhat in #8051
Optimizers
- MIPROv2 Updates: New defaults, fixed Trial Logging by @klopsahlong in #8029
- Remove inspect_history from COPRO by @TomeHirata in #8033
LMs
- Fix usage tracking error when some fields are None by @chenmoneygithub in #8030
- Use exponential_backoff_retry for completion call by @TomeHirata in #8023
New Contributors
Full Changelog: 2.6.16...2.6.17
2.6.16
What's Changed
- Fix the numpy dependency and re-support Python 3.9 by @chenmoneygithub in #8013, #8021
- SIMBA Improvements: Bug fixes + Adding Trial Logs by @klopsahlong in #8019
- Add usage tracking by @chenmoneygithub in #8014
New Contributors
- @rifolio made their first contribution in #8012
- @charviupreti made their first contribution in #8025
Full Changelog: 2.6.15...2.6.16
2.6.15
What's Changed
- Release experimental
dspy.SIMBA
optimizer and a corresponding Tool-Use Tutorial by @okhat in #8002 - Allow
dspy.ChainOfThought
to be more customizable by @zbambergerNLP in #8006 - Allow
dspy.ProgramOfThought
to accept multiple output fields (and other reliability improvements) by @lxdlam in #8004
Full Changelog: 2.6.14...2.6.15
2.6.14
What's Changed
-
Limit openai version temporarily due to #7986 by @okhat in #7995
-
Maintenance: Update dependency LiteLLM for CVE by @mikeweltevrede in #7981
-
Don't crash dspy import when cache initialization fails by @chenmoneygithub in #7983
-
feat: support context protocol in
PythonInterpreter
by @lxdlam in #7984 -
feat: refine PythonInterperter to proper take out the exception arguments by @lxdlam in #7992
-
Refactor evaluate and introduce construct_result_table method by @TomeHirata in #7991
New Contributors
- @mikeweltevrede made their first contribution in #7981
- @lxdlam made their first contribution in #7984
Full Changelog: 2.6.13...2.6.14
2.6.13
What's Changed
-
dspy.BestOfN
: Adds Improved Error Handling, Documentation, and Tests by @cezarc1 in #7964 -
Make
dspy.BaseLM
extensible by @chenmoneygithub in #7950 -
Adapters: Support Pydantic field constraint in DSPy by @chenmoneygithub in #7980
-
dspy.ChatAdapter
: allow field headers and content on same line in parser by @laitifranz in #7955 -
dspy.JSONAdapter
: add image support to JSON Adapter too by @laitifranz in #7968 -
Define compile and get_params to Teleprompter by @TomeHirata in #7973
-
Fix completion being unable to be deserialized by pickle by @asparagus in #7960
New Contributors
- @laitifranz made their first contribution in #7955
- @jinnovation made their first contribution in #7963
- @asparagus made their first contribution in #7960
Full Changelog: 2.6.12...2.6.13
2.6.12
What's Changed
-
dspy.MIPROv2
: Fix error handling and add tests for eval_candidate_program by @TomeHirata in #7936 -
dspy.Refine
anddspy.BestOfN
: Adds Improved Error Handling, Documentation, and Tests by @cezarc1 in #7926 -
Simplify
dspy.LM
by @chenmoneygithub in #7940 -
Fix unnecessary mlflow calls by @TomeHirata in #7942
-
Remove upper bound on datasets version by @shermansiu in #7933
-
Reorder dependencies by @TomeHirata in #7946
-
Add callback_metadata to evaluate by @TomeHirata in #7952
New Contributors
- @shermansiu made their first contribution in #7933
Full Changelog: 2.6.11...2.6.12
2.6.11
What's Changed
- Fix saving issue by @chenmoneygithub in #7905
- enh: unblock Python 3.13 by @stevapple in #7912
- Add timeout-based straggler resubmission in ParallelExecutor by @okhat in #7914
- Decrease the memory usage at
import dspy
by @chenmoneygithub in #7915 - Fix undefined variables in dsp/utils/dpr.py by @TomeHirata in #7916
New Contributors
- @stevapple made their first contribution in #7912
Full Changelog: 2.6.10...2.6.11
2.6.10
What's Changed
- Add support for non-image mimes in image_url content by @glesperance in #7872
- Refactor ProgramOfThought and add unit tests by @TomeHirata in #7878
- Change the LM check to BaseLM by @chenmoneygithub in #7897
- Fix package name var in github actions by @TomeHirata in #7898
- Enhance type hints of adapters by @TomeHirata in #7896
Full Changelog: 2.6.9...2.6.10
2.6.9
What's Changed
-
Support multiturn history by @chenmoneygithub in #7851 #7874
-
Add evaluate callback by @TomeHirata in #7895
-
enh(mipro): Allow to pass
provide_traceback
in mipro by @Samoed in #7890 -
Fix save predict model with LM by @TomeHirata in #7861
-
Fix model name error in finetune by @TomeHirata in #7880
-
Fix pyproject.toml to include package data by @TomeHirata in #7869
-
Fixes and removes non-existent dependency on dsp.SentenceTransformersVectorizer from KNN and KNNFewShot by @cezarc1 in #7884
-
Add more testing before publishing to pypi by @hmoazam in #7889
New Contributors
- @TomeHirata made their first contribution in #7869
- @Ziems made their first contribution in #7875
- @kanjurer made their first contribution in #7881
- @cezarc1 made their first contribution in #7884
- @Samoed made their first contribution in #7890
Full Changelog: 2.6.8...2.6.9