Skip to content

7.0.2

Latest
Compare
Choose a tag to compare
@poissoncorp poissoncorp released this 30 May 14:57
· 2 commits to v7.0 since this release
7159ea6

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