Heads up This site is currently under heavy development.
Subscribe Get it delivered — the daily firehose, filtered to the tools you run, plus the documentation changes vendors never announce. Compare plans →

The AI Toolchain — issue -426, May 19, 2020

THE AI TOOLCHAIN NO. -426
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED MAY 19, 2020 · EVERY WEEKDAY
EDITIONS tail grep head diff uniq

The daily firehose — everything the toolchain shipped today, already filtered.

// HOW THIS ISSUE IS MADE

We read every release from the 174 tools on our watchlist at the source — GitHub and GitLab release notes, vendor release pages and changelogs, project blogs and feeds, vendor press releases, and the source code behind the tag. Bug-fix-only releases and non-product newsroom noise are dropped; what's left is summarized down to the new capability, how to try it, and any screenshots or videos the release itself published. Every entry links to the sources it was built from.

VIEW
ISSUE VIEW full issue
Do you prefer this view?
$ tct list   # 3 tools matched
AI & LLM Tooling
◆  AI Agent Frameworks

deepset Haystack

Sources Release notes → 0.2.1 NOTES

Haystack 0.2.1 debuts ElasticsearchDocumentStore, embedding-based retrieval, FAQ-style QA, and a FastAPI-based modular REST API.

└──▷ GET THIS VERSION
$ git clone --branch 0.2.1 https://github.com/deepset-ai/haystack.git
# already have the repo? check out this version:
$ git checkout 0.2.1
  • Adds ElasticsearchRetriever supporting Elasticsearch native BM25 scoring and custom queries (e.g. boosting and filters).
  • Adds EmbeddingRetriever that encodes texts into dense vectors (e.g. via Sentence-BERT) and retrieves via cosine similarity.
  • Adds FARMReader.train() method to fine-tune a reader on custom domain data.
  • Adds no_answer option to reader results, surfacing confidence that no answer exists in the passage.
  • Adds document_id and document_name fields to answer objects returned by both FARMReader and TransformersReader.
+8 moreshow less
  • Adds TransformersReader as an alternative inference backend alongside the existing FARM-based reader.
  • Introduces ElasticsearchDocumentStore as the recommended production document store, with BM25 indexing and optional filter support.
  • Adds an in-memory document store for lightweight prototyping without an external database.
  • Adds FAQ-style QA: index existing question-answer pairs and match incoming user questions against them to return pre-written answers.
  • Migrates the REST API from Flask to FastAPI with modular endpoints for extractive QA, FAQ-style QA, user feedback collection/export, and APM-based request monitoring.
  • Adds a Feedback export API endpoint for collecting and exporting user feedback on answers to build domain-specific training data.
  • Adds Docker images (CPU and GPU variants) using Gunicorn for production deployment of the REST API.
  • Adds optional Elastic APM integration for logging and monitoring API responses.
Was this useful?
◆  AI Model & Data Infrastructure

Microsoft ONNX Runtime

Sources Release notes → v1.3.0 NOTES

ONNX Runtime v1.3.0 adds training preview, new execution providers, Java/JS APIs, I/O binding for Python, and ONNX 1.7/opset 12 support.

└──▷ GET THIS VERSION
$ git clone --branch v1.3.0 https://github.com/microsoft/onnxruntime.git
# already have the repo? check out this version:
$ git checkout v1.3.0
  • Adds I/O binding support for the Python API, allowing inputs/outputs to be pre-staged on the GPU before model execution to significantly reduce execution time.
  • Adds API to specify free dimensions by both denotations and symbolic names.
  • Adds support for sessions to share a global threadpool, configurable via the ORT C APIs; when built with OpenMP, thread count is controlled via OpenMP environment variables.
  • Adds capability to build execution providers as shared library DLLs (initially supported for DNNL EP), enabling dynamic loading per model with no runtime cost when the EP is not loaded.
  • Adds OpenVINO v2.0 Execution Provider.
+12 moreshow less
  • Adds preview Rockchip NPU Execution Provider (RKNPU EP).
  • Adds preview Xilinx FPGA Vitis-AI Execution Provider.
  • Promotes Windows Machine Learning APIs (Microsoft.AI.MachineLearning) to General Availability on NuGet.
  • Promotes ONNX Runtime DirectML package (Microsoft.ML.OnnxRuntime.DirectML) to General Availability on NuGet.
  • Promotes Java API to General Availability (Maven package forthcoming).
  • Adds preview JavaScript (Node.js) API, buildable from the master branch.
  • Adds ARM64 Linux CPU Python package, now available on PyPI.
  • Adds ONNX Runtime Training (preview) for accelerating transformer model training.
  • Adds ONNX 1.7 and opset 12 support, including function expansion for ops such as NegativeLogLikelihoodLoss, GreaterOrEqual, LessOrEqual, and Celu without requiring a kernel implementation.
  • Updates DirectML EP to support ONNX opset 10 and 11, and adds initial support for 8-bit and quantized operators.
  • Enables Windows telemetry collection.
  • Delivers ~10% average latency improvement across key models (ONNX Model Zoo, MLPerf, production models), with further improvements for Transformer models on CPU and GPU and for large-batch scikit-learn inference (TreeEnsembleRegressor, TreeEnsembleClassifier, LinearRegressor, LinearClassifier, SVMRegressor, SVMClassifier, TopK).
└──▷ BREAKING ON UPGRADE
  • !This version requires the Visual C++ 2019 runtime; previous versions required Visual C++ 2017.
Was this useful?
Other / Uncategorized
◆  VECTOR DB RAG

Milvus

Sources Release notes → v0.9.0 NOTES

Milvus v0.9.0 adds partition existence checks, log rotation, and search-priority index suspension across all SDKs.

└──▷ GET THIS VERSION
$ git clone --branch v0.9.0 https://github.com/milvus-io/milvus.git
# already have the repo? check out this version:
$ git checkout v0.9.0
  • Adds HasPartition / has_partition / hasPartition API method across C++, Python, Java, and Go SDKs to check whether a partition exists.
  • Renames DescribeCollection to GetCollectionInfo (get_collection_info / getCollectionInfo) across all SDKs.
  • Renames CountCollection to CountEntities (count_entities / countEntities) across all SDKs.
  • Renames ShowCollections to ListCollections (list_collections / listCollections) across all SDKs.
  • Renames ShowCollectionInfo to GetCollectionStats (get_collection_stats / getCollectionStats) across all SDKs.
+9 moreshow less
  • Renames DescribeIndex to GetIndexInfo (get_index_info / getIndexInfo) across all SDKs.
  • Renames ShowPartitions to ListPartitions (list_partitions / listPartitions) across all SDKs.
  • Renames GetEntitiesByID to GetEntityByID (get_entity_by_id / getEntityByID) across all SDKs.
  • Renames GetIDsInSegment to ListIDInSegment (list_id_in_segment / listIDInSegment) across all SDKs.
  • Renames DeleteByID to DeleteEntityByID (delete_entity_by_id / deleteEntityByID) across all SDKs.
  • Renames PreloadCollection to LoadCollection (load_collection / loadCollection) across all SDKs.
  • Renames Python search_in_files to search_in_segment; removes the Java searchInFiles method entirely.
  • Supports log file rotating to prevent unbounded log growth.
  • Suspends index building when a search request arrives, prioritising query latency over background indexing.
└──▷ BREAKING ON UPGRADE
  • !DescribeCollection is renamed to GetCollectionInfo (get_collection_info / getCollectionInfo) in all SDKs; callers must update method names.
  • !CountCollection is renamed to CountEntities (count_entities / countEntities) in all SDKs; callers must update method names.
  • !ShowCollections is renamed to ListCollections (list_collections / listCollections) in all SDKs; callers must update method names.
  • !ShowCollectionInfo is renamed to GetCollectionStats (get_collection_stats / getCollectionStats) in all SDKs; callers must update method names.
  • !DescribeIndex is renamed to GetIndexInfo (get_index_info / getIndexInfo) in all SDKs; callers must update method names.
  • !ShowPartitions is renamed to ListPartitions (list_partitions / listPartitions) in all SDKs; callers must update method names.
  • !GetEntitiesByID is renamed to GetEntityByID (get_entity_by_id / getEntityByID) in all SDKs; callers must update method names.
  • !GetIDsInSegment is renamed to ListIDInSegment (list_id_in_segment / listIDInSegment) in all SDKs; callers must update method names.
  • !DeleteByID is renamed to DeleteEntityByID (delete_entity_by_id / deleteEntityByID) in all SDKs; callers must update method names.
  • !PreloadCollection is renamed to LoadCollection (load_collection / loadCollection) in all SDKs; callers must update method names.
  • !The C++ FlushCollection and FlushCollection/Flush pair is consolidated into a single Flush; C++ callers using FlushCollection must switch.
  • !The C++ CompactCollection/Compact pair is consolidated into a single Compact; C++ callers using CompactCollection must switch.
  • !The Python connect, connected, and disconnect methods are deleted; Python callers must remove those calls.
  • !The Java searchInFiles method is deleted; Java callers must migrate to search_in_segment (Python) or the equivalent new surface.
Was this useful?
my-toolchain — 0 tools
paste an install list to detect your tools

A brew list, a Brewfile, requirements.txt, a Dockerfile — or just the product names, free-form. Nothing leaves your browser.

    browse all tools →