TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Review driven development for ML / LMM applications

1 pointsby arauhala9 months ago

1 comment

arauhala9 months ago
Author here. The article seeks to answer the question &quot;How to make ML &#x2F; LMM development faster with higher quality?&quot;<p>The long format article seeks address the pain points in current tooling (Jupyter Notebook, unittests) used to support intelligent application RnD. It proposes a new approach for tooling and development, which combines the benefits of notebooks (review driven process, caches) with benefits of unit testing (repeatiability, regression testing)<p>The tool has been succesfully used to support the developmvent topic models, analytics and GPT based functionality. Here&#x27;s an example of how to create a simple test that both creates a snapshot for results that also snapshots the environment and (e.g. GPT) API calls so that the test interaction can be replayed e.g. in CI.<p><pre><code> import booktest as bt import os import requests import json @bt.snapshot_env(&quot;HOST_NAME&quot;) @bt.mock_missing_env({&quot;API_KEY&quot;: &quot;mock&quot;}) @bt.snapshot_requests() def test_requests_and_env(t: bt.TestCaseRun): t.h1(&quot;request:&quot;) host_name = os.environ[&quot;HOST_NAME&quot;] response = ( t.t(f&quot;making post request to {host_name} in &quot;).imsln( lambda: requests.post( host_name, json={ &quot;message&quot;: &quot;hello&quot; }, headers={ &quot;X-Api-Key&quot;: os.environ[&quot;API_KEY&quot;] }))) t.h1(&quot;response:&quot;) t.tln(json.dumps(response.json()[&quot;json&quot;], indent=4)) </code></pre> <a href="https:&#x2F;&#x2F;github.com&#x2F;lumoa-oss&#x2F;booktest&#x2F;blob&#x2F;main&#x2F;getting-started.md">https:&#x2F;&#x2F;github.com&#x2F;lumoa-oss&#x2F;booktest&#x2F;blob&#x2F;main&#x2F;getting-star...</a>