Releases: svilupp/PromptingTools.jl
Releases · svilupp/PromptingTools.jl
v0.35.0
PromptingTools v0.35.0
Added
- Added a utility function to RAGTools
reciprocal_rank_fusion
, as a principled way to merge multiple rankings. See?RAGTools.Experimental.reciprocal_rank_fusion
for more information.
Commits
Merged pull requests:
v0.34.0
PromptingTools v0.34.0
Added
RankGPT
implementation for RAGTools chunk re-ranking pipeline. See?RAGTools.Experimental.rank_gpt
for more information and corresponding reranker type?RankGPTReranker
.
Commits
Merged pull requests:
v0.33.2
PromptingTools v0.33.2
Fixed
- Add back accidentally dropped DBKS keys
Commits
Merged pull requests:
v0.33.1
PromptingTools v0.33.1
Fixed
- Fixed loading RAGResult when one of the candidate fields was
nothing
. - Utility type checks like
isusermessage
,issystemmessage
,isdatamessage
,isaimessage
,istracermessage
do not throw errors when given any arbitrary input types (previously they only worked forAbstractMessage
types). It's aisa
check, so it should work for all input types. - Changed preference loading to use typed
global
instead ofconst
, to fix issues with API keys not being loaded properly on start. You can now also callPromptingTools.load_api_keys!()
to re-load the API keys (and ENV variables) manually.
Commits
Merged pull requests:
v0.33.0
PromptingTools v0.33.0
Added
- Added registry record for Anthropic Claude 3.5 Sonnet with ID
claude-3-5-sonnet-20240620
(read the blog post). Aliases "claude" and "claudes" have been linked to this latest Sonnet model.
Commits
Merged pull requests:
v0.32.0
PromptingTools v0.32.0
Updated
- Changed behavior of
RAGTools.rerank(::FlashRanker,...)
to always dedupe input chunks (to reduce compute requirements).
Fixed
- Fixed a bug in verbose INFO log in
RAGTools.rerank(::FlashRanker,...)
.
Commits
Merged pull requests:
v0.31.1
PromptingTools v0.31.1
Updated
- Improved the implementation of
RAGTools.unpack_bits
to be faster with fewer allocations.
Commits
Merged pull requests:
v0.31.0
PromptingTools v0.31.0
Breaking Changes
- The return type of
RAGTools.find_tags(::NoTagger,...)
is now::Nothing
instead ofCandidateChunks
/MultiCandidateChunks
with all documents. Base.getindex(::MultiIndex, ::MultiCandidateChunks)
now always returns sorted chunks for consistency with the behavior of othergetindex
methods on*Chunks
.
Updated
- Cosine similarity search now uses
partialsortperm
for better performance on large datasets. - Skip unnecessary work when the tagging functionality in the RAG pipeline is disabled (
find_tags
withNoTagger
always returnsnothing
which improves the compiled code). - Changed the default behavior of
getindex(::MultiIndex, ::MultiCandidateChunks)
to always return sorted chunks for consistency with other similar functions. Note that you should always use re-rankering anyway (seeFlashRank.jl
).
Commits
Merged pull requests:
v0.30.0
PromptingTools v0.30.0
Fixed
- Fixed a bug on Julia 1.11 beta by adding REPL stdlib as a direct dependency.
- Fixed too restrictive argument types for
RAGTools.build_tags
method.
Commits
Merged pull requests:
v0.29.0
PromptingTools v0.29.0
Added
- Added a package extension for FlashRank.jl to support local ranking models. See ?RT.FlashRanker for more information or examples/RAG_with_FlashRank.jl for a quick example.
Commits
Merged pull requests:
Closed issues:
- Allow changing OpenAI key after first load (#161)