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 -424, July 30, 2020

THE AI TOOLCHAIN NO. -424
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED JULY 30, 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 → 0.3.0 NOTES

Haystack 0.3.0 adds Dense Passage Retrieval, pipeline evaluation, PDF/DOCX indexing, ONNXRuntime support, and a file-upload REST endpoint.

└──▷ GET THIS VERSION
$ git clone --branch 0.3.0 https://github.com/deepset-ai/haystack.git
# already have the repo? check out this version:
$ git checkout 0.3.0
└──▷ USE IT
Use Dense Passage Retrieval to find semantically similar passages even when query and document share no overlapping tokens.
python
from haystack.retriever.dense import DensePassageRetriever

retriever = DensePassageRetriever(
    document_store=document_store,
    embedding_model="dpr-bert-base-nq",
    do_lower_case=True,
    use_gpu=True
)
results = retriever.retrieve(query="What is cosine similarity?")
Benchmark your full retriever-reader pipeline to identify whether the retriever is a bottleneck and how top_k affects accuracy.
python
document_store.add_eval_data("../data/nq/nq_dev_subset_v2.json")

retriever.eval(top_k=10)
reader.eval(document_store=document_store, device=device)
finder.eval(top_k_retriever=10, top_k_reader=10)
Index a PDF document into Haystack while stripping headers, footers, and numeric tables to improve retrieval quality.
python
from haystack.indexing.file_converters.pdf import PDFToTextConverter

converter = PDFToTextConverter(
    remove_header_footer=True,
    remove_numeric_tables=True,
    valid_languages=["de", "en"]
)
pages = converter.extract_pages(file_path="report.pdf")
  • Adds DensePassageRetriever class with embedding_model, do_lower_case, and use_gpu arguments, enabling dual-encoder BERT-based retrieval that outperforms token-overlap methods when query and passage vocabulary differ.
  • Adds eval() methods to retriever, reader, and finder (via finder.eval(top_k_retriever=..., top_k_reader=...)) for end-to-end pipeline evaluation of recall, precision, and speed.
  • Adds document_store.add_eval_data() to load evaluation datasets (e.g. NQ-format JSON) directly into a DocumentStore for retriever and reader benchmarking.
  • Adds PDFToTextConverter (from haystack.indexing.file_converters.pdf) with remove_header_footer, remove_numeric_tables, and valid_languages arguments, plus DocxToTextConverter (from haystack.indexing.file_converters.docx), both exposing extract_pages(file_path=...) for ingesting PDF and DOCX documents.
  • Adds BaseConverter class with shared cleaning functions (header/footer removal, numeric table stripping) as a foundation for file-format-specific converters.
+8 moreshow less
  • Adds ONNXRuntime support to the Reader, enabling CPU-optimised inference without GPU.
  • Adds a REST API endpoint to upload files for indexing.
  • Adds EMBEDDING_MODEL_FORMAT configuration key to the REST API config.
  • Adds a dummy retriever for benchmarking reader-only pipeline configurations.
  • Adds tag-based filtering to InMemoryDocumentStore.
  • Adds embedding query support to InMemoryDocumentStore.
  • Adds custom port configuration to ElasticsearchDocumentStore.
  • Makes the FAQ question field in DocumentStores customizable.
└──▷ BREAKING ON UPGRADE
  • !The gpu initialisation argument on DensePassageRetriever and EmbeddingRetriever is renamed to use_gpu; existing code passing gpu=True will break.
Was this useful?
◆  AI Model & Data Infrastructure

Microsoft ONNX Runtime

Sources Release notes → v1.4.0 NOTES

ONNX Runtime v1.4.0 adds Python IOBinding APIs, new quantization ops, AMD MIGraphX and ARM NN execution providers, and CUDA Einsum support.

└──▷ GET THIS VERSION
$ git clone --branch v1.4.0 https://github.com/microsoft/onnxruntime.git
# already have the repo? check out this version:
$ git checkout v1.4.0
└──▷ USE IT
Copy inference outputs from a GPU device back to CPU for result verification without manually managing device memory.
python
import onnxruntime as ort

sess = ort.InferenceSession('model.onnx', providers=['CUDAExecutionProvider'])
io_binding = sess.io_binding()
io_binding.bind_cpu_input('input', input_array)
io_binding.bind_output('output')
sess.run_with_iobinding(io_binding)
outputs = io_binding.copy_outputs_to_cpu()
  • Adds Python IOBinding methods bind_cpu_input, bind_output, and copy_outputs_to_cpu to simplify benchmarking on non-CPU devices without manual allocation or copy via third-party allocators.
  • Adds quantization operators QLinearAdd and QAttention to the quantization operator set.
  • Introduces pre-packing for constant Matrix B in DynamicQuantizeMatMul and QAttention to improve CPU transformer quantization performance.
  • Adds CUDA execution support for the Einsum operator (opset 12).
  • Adds preview-tier AMD MIGraphX Execution Provider for AMD GPU inference.
+3 moreshow less
  • Adds preview-tier ARM NN Execution Provider for ARM-based inference.
  • Adds opset 12 support in ONNX Runtime Training.
  • Telemetry is now enabled by default for Python packages and GitHub release zip files (C API).
Was this useful?

NVIDIA Triton Inference Server

Sources Release notes → v2.1.0 2 RELEASES · 2020-07-30 NOTES STABLE

Triton v2.1.0 adds automatic FP16 TensorFlow optimization and TorchVision support in the PyTorch backend.

└──▷ GET THIS VERSION
$ git clone --branch v2.1.0 https://github.com/triton-inference-server/server.git
# already have the repo? check out this version:
$ git checkout v2.1.0
  • Adds a TensorFlow optimization option that enables automatic FP16 optimization of models served by the server.
  • Adds TorchVision operations support to the PyTorch backend.
1 more release in this issue · 2020-07-30
v1.15.0 NOTES STABLE

Triton v1.15.0 publishes legacy V1 HTTP/REST and GRPC support on a dedicated branch and NGC container.

└──▷ GET THIS VERSION
$ git clone --branch v1.15.0 https://github.com/triton-inference-server/server.git
# already have the repo? check out this version:
$ git checkout v1.15.0
  • Releases legacy V1 HTTP/REST and GRPC endpoints, plus corresponding client libraries, on GitHub branch r20.07-v1 and NGC container 20.07-v1-py3 for teams that cannot yet migrate to the V2 API.
Was this useful?
Other / Uncategorized
◆  VECTOR DB RAG

Weaviate

Sources Release notes → 0.22.13 NOTES

Weaviate 0.22.13 adds _semanticPath GraphQL property to trace concept paths between search terms and results.

└──▷ GET THIS VERSION
$ git clone --branch 0.22.13 https://github.com/weaviate/weaviate.git
# already have the repo? check out this version:
$ git checkout 0.22.13
  • Adds _semanticPath underscore property to Get{} GraphQL queries with explore: {} set, returning the concept chain (e.g. ['iphone', 'apple', 'company', 'microsoft']) between the search term and each result; maximum limit for requests including _semanticPath is 25; requires contextionary v0.4.14 or later.
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 →