Python Client 7.0.2 is out ππ
It delivers powerful streaming capabilities, AI Integration query API, plus a fix for handling emojis
- New: Document and Query Streaming API β stream large result sets efficiently ππ
- New: AI Integration's
using_task
support in vector search β vector queries using AI Embedding Generation Tasks π€π§ - Fix: Better error parsing in
RequestExecutor
for smoother debugging π οΈ - Fix: π UTF-8 encoding added to document data β your emojis are safe now πΎπ¦
New Contributors
- π @yh-0 implemented streaming support (#238)
- π @MohKamal improved emoji handling with UTF-8 encoding (#239)
Feel free to join our Discord Community & discuss the release here: https://discord.gg/ravendb π¬π§βπ»
π‘ Highlight: AI Integration using_task
Perform semantic search using AI Embeddings Generation:
q = session.query(object_type=Dto).vector_search_text_using_task("EmbeddingField", "fishing", "my-ai-task")
Also supports variants:
vector_search_text_i1_using_task(...)
vector_search_text_i8_using_task(...)
- All with optional
is_exact=True
RavenDB Embeddings Generation docs here.
πΏ Streaming API: Lightweight Queries at Scale
Stream documents, queries, raw queries, and even query statistics without loading all results into memory:
β Stream a normal query
query = session.query(object_type=Color)
stream = session.advanced.stream(query)
for result in stream:
print(result.document.name)
β Stream a raw RQL query
raw_query = session.advanced.raw_query("from Colors where is_primary = true", object_type=Color)
stream = session.advanced.stream(raw_query)
for result in stream:
print(result.document.name)
β Stream with statistics
def stats_callback(stats):
print(f"Total results: {stats.total_results}")
query = session.query(object_type=Color).where_equals("is_primary", True)
stream = session.advanced.stream_with_statistics(query, stats_callback)
for result in stream:
print(result.document.name)
β Stream documents by ID prefix
stream = session.advanced.stream_starting_with("colors/", object_type=Color)
for result in stream:
print(result.document.name)
PRs
- RDBC-893 Fix parsing of errors inside
RequestExecutor._handle_unsuccessful_response
by @poissoncorp (#236) - RDBC-900 Add
usingTask
to Python Vector Search API by @poissoncorp (#237) - RDBC-670 Streaming by @yh-0 (#238)
- Add UTF-8 encoding to document data by @MohKamal (#239)
Full Changelog: 7.0.0...7.0.2