Releases: OoriData/OgbujiPT
Releases · OoriData/OgbujiPT
Even more proper release for PGVector fixes
Proper release for PGVector fixes
Deal with the weirdness in building wheels. Needs a proper fix.
v0.9.4
Added
- (PGVector) Support for init via DSN connection string:
PGVectorHelper.from_conn_string()
- (PGVector) Support setting max & min connection pool size in
PGVectorHelper.from_*()
methods - (PGVector) Support for DB schema use for PGVector, e.g., constructors now take a
schema
kwarg. - (PGVector) Support for
halfvec
half-precision vector type & other quantized types, plus HNSW indexing, including half-precision indexing. - (PGVector)
stringify_json
flag on PGVector helpers, to help deal with cases where JSONB type registration isn't reliable
Fixed
llm_wrapper.openai_chat_api
call to takemessages
arg, as expected, notprompt
0.9.3
0.9.2
Added
joiner
param totext_helper.text_split()
for better control of regex separator handling- query filter mix-in,
embedding.pgvector.match_oneof()
, for use withmeta_filter
argument toDB.search
llm_wrapper.response_type
to differentiate tool calling vs regular LLM responses
Changed
- Index word loom items by their literal default language text, as well
- Cleaned up PGVector query-building logic
Fixed
llm_wrapper.llm_response
objects to handle tool calls- failure of some matching scenarios in
embedding.pgvector.match_exact()
Removed
- Previously deprecated
first_choice_text
&first_choice_message
methods
0.9.1
0.9.0
[0.9.0] - 20240604
Added
text_helper.text_split_fuzzy()
as basically a generator version oftext_helper.text_splitter()
, and deprecate the lattertext_helper.text_split()
which brooks no overlapembedding.pgvector_data
module for vector database embedding of data fields using PGVector. Document fields are now treated as simple text, with specialized metadata generalized in the newmetadata
field- query filter mix-in,
embedding.pgvector.match_exact()
, for filtering vector search by metadata fields via newmeta_filter
argument to DB.search. This restores some of the tag matching search functionality that's been removed. clone()
method onwordloom.language_item
class (formerlytext_item
)meta
andpreserve_key
args onwordloom.language_item
(formerlytext_item
) initializer, to preserve TOML table items and top-level TOML key for each language item, respectively, in object properties
Changed
- Deprecation of
text_helper.text_splitter()
tags
field of table encapsulated inembedding.pgvector_data
now modified into a general, JSONmeta
field- Word Loom now uses
_
as the TOML table key for text content. The formertext
is deprecated - Word Loom now uses
_m
as the TOML table key for text substitution markers. The formermarkers
is deprecated - Word Loom now reserves TOML table keys beginning with
_
, and passes on all other keys to the newmeta
property wordloom.text_item
class now renamedwordloom.language_item
lang
arg onwordloom.language_item
(formerlytext_item
) initializer renameddeflang
Removed
embedding.pgvector_data_doc
(now justembedding.pgvector_data
)conjunctive
option for tags searching now removed, in favor of a query filter mix-in approach
0.8.0
[0.8.0]
Added
llm_wrapper.llama_cpp_http_chat
&llm_wrapper.llama_cpp_http
; llama.cpp low-level HTTP API supportllm_wrapper.llama_response
class with flexible handling across API specswindow
init param for forembedding.pgvector.MessageDB
, to limit message storage per history key
Changed
- Deprecated
first_choice_text
&first_choice_message
methods in favor offirst_choice_text
attributes on response objects - Clarify set quite setup docs
0.7.1
[0.7.1] - 2024-02-22
Added
- MessageDB.get_messages() options:
since
(for retrieving messages aftter a timestamp) andlimit
(for limiting the number of messages returned, selecting the most recent)
Changed
- PGVector users now manage their own connection pool by default
- Better modularization of embeddings test cases; using
conftest.py
more pgvector_message.py
PG table timstamp column no longer a primary key
Fixed
- Backward threshold check for ogbujipt.embedding.pgvector_data_doc.DataDB
0.7.0
What's changed
Added
- Command line options for
demo/chat_web_selects.py
- Helper for folks installing on Apple Silicon:
constraints-apple-silicon.txt
- Function calling demo
ogbujipt.embedding.pgvector_message.insert_many()
Changed
- Improved use of PGVector helper SQL query parameters
- PGVector helper
search(query_tags=[..])
now uses contains operator (filters by existence in tag sets), not the same as where tags are OR - PGVector helper
search
can now be set to work conjunctively or disjunctively - PGVector helper
query
now has threshold arg based on degree of similarity.limit
default now unlimited. Use SQL query args for query_embedding. embedding.pgvector
split into a couple of modules.- Separated data-style PGVector DBs from doc-style. tags is no longer the final param for PGVector docs helper methods & some params renamed.
- PGVector helper method results now as
attr_dict
- PGVector helper now uses connection pooling & is more multiprocess safe
ogbujipt.embedding.pgvector_chat
renamed toogbujipt.embedding.pgvector_message
- DB MIGRATION REQUIRED -
ogbujipt.embedding.pgvector_message
table schema
Fixed
insert_many
PGVector helper method; semantics & performancedemo/chat_web_selects.py
&demo/chat_pdf_streamlit_ui.py
(formerly non-functional)- Tests & CI for PGVector helper