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 -422, September 29, 2020

THE AI TOOLCHAIN NO. -422
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED SEPTEMBER 29, 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   # 4 tools matched
AI & LLM Tooling
◆  AI Agent Frameworks

deepset Haystack

Sources Release notes → v0.4.0 NOTES

Haystack v0.4.0 adds FAISSDocumentStore for scalable dense retrieval, Apache Tika file conversion, and DPR support for InMemoryDocumentStore.

└──▷ GET THIS VERSION
$ git clone --branch v0.4.0 https://github.com/deepset-ai/haystack.git
# already have the repo? check out this version:
$ git checkout v0.4.0
└──▷ USE IT
Set up a FAISS-backed document store for dense retrieval over large corpora where Elasticsearch vector search would be too slow.
python
document_store = FAISSDocumentStore(sql_url="sqlite:///mydb.db", vector_size=768)
Extract text from a non-PDF file format (e.g., .docx or .epub) to feed into a Haystack indexing pipeline.
python
tika_converter = TikaConverter(
    tika_url="http://localhost:9998/tika",
    remove_numeric_tables=False,
    remove_whitespace=False,
    remove_empty_lines=False,
    remove_header_footer=False,
    valid_languages=None,
)
result = tika_converter.convert(file_path="documents/report.docx")
print(result["text"])
Control multiprocessing during reader fine-tuning to maximise CPU utilisation on a multi-core machine.
python
reader.train(
    data_dir="data/squad",
    train_filename="train-v2.0.json",
    num_processes=8,
)
  • Adds FAISSDocumentStore(sql_url, vector_size) for scalable approximate nearest-neighbour dense retrieval, using FAISS for embeddings and SQL for text/metadata storage.
  • Adds TikaConverter(tika_url, remove_numeric_tables, remove_whitespace, remove_empty_lines, remove_header_footer, valid_languages) with a .convert(file_path) method to extract text from docx, pptx, html, epub, odf, and other formats via Apache Tika.
  • Adds refresh_type argument to ElasticsearchDocumentStore.
  • Adds index argument to Finder.get_answers() and Finder._via_similar_questions().
  • Adds num_processes parameter to reader.train() to configure multiprocessing during training.
+7 moreshow less
  • Adds unanswerable-question support and 'no answer' aggregation to TransformersReader.
  • Adds MultiLabel aggregation for no-answer labels across multiple passages.
  • Adds DPR (DensePassageRetriever) support for InMemoryDocumentStore.
  • Adds eval capability for DensePassageRetriever including refactored label/feedback handling.
  • Adds export-answers-to-CSV function.
  • Adds option to update existing documents when indexing in document stores.
  • Adds method to update meta fields for documents in ElasticsearchDocumentStore.
└──▷ BREAKING ON UPGRADE
  • !The database module is renamed to document_store; imports must be updated accordingly.
  • !The indexing module is split into file_converter and preprocessor; imports must be updated.
  • !Document, Label, and Multilabel classes are moved to schema; update imports to from haystack import Document, Label, Multilabel.
  • !File converter interface changed: Fileconverter.extract_pages(file_path=Path('...')) (which returned pages and meta) is replaced by Fileconverter.convert(file_path='...', meta={...}), which returns a dict with text (using \f page-break symbols) and meta.
  • !DensePassageRetriever signature changed: now accepts query_embedding_model and passage_embedding_model (HuggingFace model hub strings) instead of the previous Facebook-codebase arguments.
  • !The tags field on Documents is removed; filtering must now use the meta field (e.g., {'text': 'some', 'meta': {'category': ['1', '2']}} instead of {'text': 'some', 'tags': ['category1', 'category2']}).
Was this useful?
◆  AI Model & Data Infrastructure

Microsoft ONNX Runtime

Sources Release notes → v1.5.1 NOTES

ONNX Runtime v1.5.1 adds mobile-optimized builds, IO Binding APIs, TensorRT engine caching, and expanded execution provider support.

└──▷ GET THIS VERSION
$ git clone --branch v1.5.1 https://github.com/microsoft/onnxruntime.git
# already have the repo? check out this version:
$ git checkout v1.5.1
└──▷ TRY IT
Enable TensorRT engine caching to avoid recompilation on every process restart when running TensorRT-accelerated inference.
$ export ORT_TENSORRT_ENGINE_CACHE_ENABLE=1
python my_ort_inference.py
  • Adds ORT_TENSORRT_ENGINE_CACHE_ENABLE=1 environment variable to enable TensorRT engine caching, reducing model load time on repeated runs.
  • Adds Python API support for RegisterCustomOpsLibrary, enabling custom operator libraries to be registered at runtime.
  • Adds IO Binding API for C/C++/C# bindings, allowing use of pre-allocated buffers on targeted devices and specifying the target device for unknown output shapes.
  • Adds IntraopNumThreads and SetNamedDimensionOverrides APIs on LearningModelSessionOptions in Windows ML for fine-grained thread and dimension control.
  • Adds allocator sharing across multiple sessions, reducing per-session arena overhead in multi-session processes.
+17 moreshow less
  • Adds Reduced Operator Kernel build support, enabling ORT binaries to be compiled with only the operators required by specific model(s).
  • Adds preview support for ORT on Mobile Platforms, minimizing build size for mobile and embedded devices.
  • Adds new static quantization operators: QLinearMul, QLinearAdd, QLinearSigmoid, and QLinearLeakyRelu.
  • Extends quantization tooling to support quantization-aware training models and models larger than 2 GB.
  • Adds Python 3.8 support for official Python packages (excluding Windows GPU and Linux ARM builds).
  • Adds CUDA 11 build-from-source support and upgrades the official package to CUDA 10.2 / cuDNN 8.0.
  • Adds TensorRT 7.1 support and delivers the TensorRT EP as a separate shared library DLL.
  • Adds OpenVINO 2020.4 support, VPU hardware selection runtime options, fast model compilation for VPU, and C# binding support for the OpenVINO EP.
  • Adds DirectML EP Python API (build from source) and C# NuGet package Microsoft.ML.OnnxRuntime.DirectML.
  • Adds 7 new DirectML operators for ONNX opset 12: Celu, GreaterOrEqual, LessOrEqual, ArgMin/ArgMax with select_last_index, GatherND with batch_dim, and RoiAlign.
  • Adds 1D–8D dimension support for DirectML ElementWise*, Activation*, Reduce*, ArgMin/ArgMax, Gather*, Scatter*, and OneHot operators.
  • Adds Android NNAPI EP support for dynamic input shapes, Int32/float32/uint8 data types, Uint8 static quantization, and CPU fallback for Android API level 26 and below, expanding supported operators to 36 (50% increase).
  • Adds MiGraphX EP operators: GatherElements, NonZero, Equal, and Where, plus Boolean data type support.
  • Adds Windows ML NuGet support for UWP (Windows Store, CPU only), .NET, and .NET Framework applications.
  • Adds Rust developer support for Windows ML, with sample and documentation available.
  • Adds Windows ML support for additional ONNX image type denotations: Gray8, normalized [0..1], and normalized [-1..1].
  • Enables telemetry in Java and Node.js packages for Windows builds via the Windows OS trace event system.
└──▷ BREAKING ON UPGRADE
  • !macOS binaries now require OpenMP to be installed as an external dependency.
Was this useful?
Other / Uncategorized
◆  VECTOR DB RAG

Milvus

Sources Release notes → v0.10.3 NOTES

Milvus v0.10.3 expands IVF search limits and unlocks per-search metric_type on FLAT indexes

└──▷ GET THIS VERSION
$ git clone --branch v0.10.3 https://github.com/milvus-io/milvus.git
# already have the repo? check out this version:
$ git checkout v0.10.3
  • Allows specifying metric_type at search time for collections using a FLAT index, enabling per-query distance metric selection without re-indexing.
  • Expands valid values for IVF_PQ indexing parameter m to any value evenly divisible by dim (the number of vector dimensions), unlocking more tuning options.
  • Expands the valid range of nprobe to [1, 16384] for all IVF indexes, allowing finer recall/latency tradeoffs at scale.
  • Expands the valid range of top_k in embedding searches to [1, 16384], supporting much larger result sets per query.
Was this useful?

Weaviate

Sources Release notes → 0.22.16 NOTES

Weaviate 0.22.16 adds full environment-variable config support, eliminating the need for a separate config file.

└──▷ GET THIS VERSION
$ git clone --branch 0.22.16 https://github.com/weaviate/weaviate.git
# already have the repo? check out this version:
$ git checkout 0.22.16
└──▷ TRY IT
Enable OIDC authentication with AdminList authorization entirely via environment variables in a docker-compose deployment, replacing a separate config file.
$ AUTHENTICATION_OIDC_ENABLED=true
AUTHENTICATION_OIDC_ISSUER=https://myissuer.com
AUTHENTICATION_OIDC_CLIENT_ID=my-client-id
AUTHENTICATION_OIDC_USERNAME_CLAIM=email
AUTHENTICATION_OIDC_GROUPS_CLAIM=groups
AUTHORIZATION_ADMINLIST_ENABLED=true
[email protected],[email protected]
[email protected],[email protected]
ORIGIN=https://my-weaviate-deployment.com
CONFIGURATION_STORAGE_URL=http://etcd:2379
CONTEXTIONARY_URL=http://contextionary
ESVECTOR_URL=http://esvector:9200
  • Adds ORIGIN, CONFIGURATION_STORAGE_URL, CONTEXTIONARY_URL, ESVECTOR_URL, ESVECTOR_NUMBER_OF_SHARDS, ESVECTOR_AUTO_EXPAND_REPLICAS, STANDALONE_MODE, PERSISTENCE_DATA_PATH, AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED, AUTHENTICATION_OIDC_ENABLED, AUTHENTICATION_OIDC_ISSUER, AUTHENTICATION_OIDC_CLIENT_ID, AUTHENTICATION_OIDC_USERNAME_CLAIM, AUTHENTICATION_OIDC_GROUPS_CLAIM, AUTHORIZATION_ADMINLIST_ENABLED, AUTHORIZATION_ADMINLIST_USERS, and AUTHORIZATION_ADMINLIST_READONLY_USERS environment variables, allowing full configuration of Weaviate without a separate config file.
  • Expands CRUD capabilities in experimental STANDALONE_MODE=true standalone mode, a preview of features planned for 1.0.0.
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 →