<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ai on RawCull</title><link>https://techrawcull.netlify.app/tags/ai/</link><description>Recent content in Ai on RawCull</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 12 Aug 2026 15:22:20 +0200</lastBuildDate><atom:link href="https://techrawcull.netlify.app/tags/ai/index.xml" rel="self" type="application/rss+xml"/><item><title>How PhotoAIKit Is Constructed</title><link>https://techrawcull.netlify.app/docs/packages/photoaikit/</link><pubDate>Thu, 30 Jul 2026 00:00:00 +0000</pubDate><guid>https://techrawcull.netlify.app/docs/packages/photoaikit/</guid><description>&lt;h1 id="how-photoaikit-is-constructed"&gt;How PhotoAIKit Is Constructed&lt;a class="td-heading-self-link" href="#how-photoaikit-is-constructed" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;PhotoAIKit is a reusable Swift package extracted from application code. Its most
important achievement is not merely that CLIP and SAM 3 run. It is that reusable
AI behavior has been separated from RawCull&amp;rsquo;s UI, RAW-file handling, paths,
sandbox rules, and culling policy.&lt;/p&gt;
&lt;p&gt;This document explains the construction from the bottom up and gives the reason
for each boundary.&lt;/p&gt;
&lt;h2 id="1-begin-with-the-package-boundary"&gt;1. Begin With The Package Boundary&lt;a class="td-heading-self-link" href="#1-begin-with-the-package-boundary" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The package owns:&lt;/p&gt;</description></item><item><title>How RawCull Loads and Uses CLIP</title><link>https://techrawcull.netlify.app/docs/ai/clip-in-rawcull/</link><pubDate>Wed, 29 Jul 2026 00:00:00 +0000</pubDate><guid>https://techrawcull.netlify.app/docs/ai/clip-in-rawcull/</guid><description>&lt;h1 id="how-rawcull-loads-and-uses-clip"&gt;How RawCull Loads and Uses CLIP&lt;a class="td-heading-self-link" href="#how-rawcull-loads-and-uses-clip" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;RawCull supports two CLIP models:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;OpenAI CLIP ViT-B/32&lt;/strong&gt;, which processes a 224 × 224 image;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OpenCLIP DataComp ViT-B-32-256&lt;/strong&gt;, which processes a 256 × 256 image.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The user selects one model in &lt;strong&gt;Settings &amp;gt; AI&lt;/strong&gt;. That one selection defines the
vector space used for both image-to-image similarity and text-to-image semantic
search. RawCull never mixes vectors from the two models.&lt;/p&gt;
&lt;p&gt;This page starts with the basic idea behind CLIP and then follows the current
source code from application startup, through model validation and Core AI
inference, to search results, burst groups, and persisted artifacts.&lt;/p&gt;</description></item><item><title>AI Model Download Service</title><link>https://techrawcull.netlify.app/docs/ai/aimodeldownloads/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://techrawcull.netlify.app/docs/ai/aimodeldownloads/</guid><description>&lt;h1 id="ai-model-download-service"&gt;AI model download service&lt;a class="td-heading-self-link" href="#ai-model-download-service" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;RawCull supports exactly three optional model bundles:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Model&lt;/th&gt;
					&lt;th&gt;PhotoAIKit bundle&lt;/th&gt;
					&lt;th&gt;Runtime asset&lt;/th&gt;
					&lt;th&gt;Use&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;DataComp CLIP&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;CLIP-DataComp&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;ViT-B-32-256-datacomp_s34b_b86k_float16_static.aimodel&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Similarity and semantic search&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;OpenAI CLIP&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;CLIP-OpenAI&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;clip-vit-base-patch32_float16_static.aimodel&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Similarity and semantic search&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Meta SAM 3&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;SAM3&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;sam3_float16.aimodel&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Promptable segmentation&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;SigLIP2 and EfficientSAM are not part of the RawCull download catalogue or
release manifest. Do not include their bundles, notices, archives, or asset-pack
IDs in a RawCull model release.&lt;/p&gt;</description></item><item><title>AI Model Licence</title><link>https://techrawcull.netlify.app/docs/ai/licenceprocedure/</link><pubDate>Sun, 02 Aug 2026 00:00:00 +0000</pubDate><guid>https://techrawcull.netlify.app/docs/ai/licenceprocedure/</guid><description>&lt;h1 id="ai-model-licence-and-provenance-clearance-procedure"&gt;AI model licence and provenance clearance procedure&lt;a class="td-heading-self-link" href="#ai-model-licence-and-provenance-clearance-procedure" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Status: publication hold&lt;br&gt;
Last reviewed: 2026-08-03&lt;/p&gt;
&lt;h2 id="purpose-and-current-decision"&gt;Purpose and current decision&lt;a class="td-heading-self-link" href="#purpose-and-current-decision" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This document defines how RawCull clears the DataComp CLIP, OpenAI CLIP, and
Meta SAM 3 model packs for public download. It covers technical provenance,
licence evidence, upstream contacts, questions to ask, acceptable answers, and
the final release gate.&lt;/p&gt;
&lt;p&gt;No &lt;code&gt;.aar&lt;/code&gt; model archive has been uploaded. Do not create a public GitHub
Release, publish a download manifest, or change a production descriptor to
&lt;code&gt;ready&lt;/code&gt; until every model is either:&lt;/p&gt;</description></item><item><title>Evaluating CLIP Models</title><link>https://techrawcull.netlify.app/docs/ai/evaluateclipmodels/</link><pubDate>Wed, 12 Aug 2026 00:00:00 +0000</pubDate><guid>https://techrawcull.netlify.app/docs/ai/evaluateclipmodels/</guid><description>&lt;h1 id="evaluating-clip-models-against-source-framework-cosine-values-and-rawcullfb"&gt;Evaluating CLIP Models Against Source-Framework Cosine Values and RawCullFB&lt;a class="td-heading-self-link" href="#evaluating-clip-models-against-source-framework-cosine-values-and-rawcullfb" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This document is the complete repeatable procedure for validating CLIP model bundles used by RawCullFB. It covers both supported candidates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OpenAI CLIP ViT-B/32 at 224 × 224.&lt;/li&gt;
&lt;li&gt;OpenCLIP DataComp ViT-B/32-256 with &lt;code&gt;datacomp_s34b_b86k&lt;/code&gt; weights.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;SigLIP2 is outside the current evaluation scope.&lt;/p&gt;
&lt;p&gt;The procedure has two independent validation layers:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Numerical parity:&lt;/strong&gt; compare embeddings produced by the Core AI bundle with reference embeddings produced by the original Hugging Face Transformers or OpenCLIP implementation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Product behavior:&lt;/strong&gt; use RawCullFB to build a real catalog index, execute the same 77 semantic queries, inspect image-similarity neighborhoods, and measure labeled retrieval quality.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A model must pass both layers. Numerical parity proves that the conversion and integration reproduce the source model; it does not prove that the model retrieves useful photographs. Conversely, plausible search results do not prove that the converted model is correct.&lt;/p&gt;</description></item><item><title>New RawCull AI models</title><link>https://techrawcull.netlify.app/docs/ai/newmodels/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://techrawcull.netlify.app/docs/ai/newmodels/</guid><description>&lt;h1 id="publishing-new-rawcull-ai-models"&gt;Publishing new RawCull AI models&lt;a class="td-heading-self-link" href="#publishing-new-rawcull-ai-models" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This runbook publishes exactly three optional models:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Model&lt;/th&gt;
					&lt;th&gt;Asset-pack ID&lt;/th&gt;
					&lt;th&gt;Installed destination&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;DataComp CLIP&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;no.blogspot.RawCull.models.clip-datacomp&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;Models/CLIP-DataComp&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;OpenAI CLIP&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;no.blogspot.RawCull.models.clip-openai&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;Models/CLIP-OpenAI&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Meta SAM 3&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;no.blogspot.RawCull.models.sam3&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;Models/SAM3&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;SigLIP2 and EfficientSAM are deliberately excluded. Do not add them to the
release staging tree, packaging manifests, download manifest, production
catalogue, settings UI, notices, or tests.&lt;/p&gt;
&lt;p&gt;The examples use the &lt;code&gt;v2&lt;/code&gt; release in
&lt;a href="https://github.com/rsyncOSX/RawCull-AI-Models/releases"&gt;&lt;code&gt;RawCull-AI-Models&lt;/code&gt;&lt;/a&gt;.
Tag names and GitHub release URLs are case-sensitive. If another tag is chosen,
replace &lt;code&gt;v2&lt;/code&gt; everywhere and keep both RawCull manifest URLs identical.&lt;/p&gt;</description></item><item><title>CLIP Model Evaluation Results</title><link>https://techrawcull.netlify.app/docs/ai/evaluation/</link><pubDate>Wed, 12 Aug 2026 00:00:00 +0000</pubDate><guid>https://techrawcull.netlify.app/docs/ai/evaluation/</guid><description>&lt;h1 id="clip-model-evaluation-results"&gt;CLIP Model Evaluation Results&lt;a class="td-heading-self-link" href="#clip-model-evaluation-results" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Report date:&lt;/strong&gt; 2026-08-12&lt;/p&gt;
&lt;p&gt;This report compares the product-behavior results produced by RawCullFB for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OpenAI CLIP ViT-B/32 at 224 × 224; and&lt;/li&gt;
&lt;li&gt;OpenCLIP DataComp ViT-B/32-256 using the &lt;code&gt;datacomp_s34b_b86k&lt;/code&gt;
checkpoint.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The runs follow the product-behavior portion of
&lt;a href="../evaluateclipmodels/"&gt;Evaluating CLIP Models&lt;/a&gt;. They cover the canonical 77
semantic queries and a complete all-pairs image-similarity pass over 453 indexed
images.&lt;/p&gt;
&lt;p&gt;The reports show that both integrations completed cleanly, neither model shows
semantic collapse, and both produce coherent image-neighbourhood structures.
DataComp is modestly faster and more consistent across paraphrases. Those are
promising sanity-check results, but they are not labeled accuracy metrics.&lt;/p&gt;</description></item><item><title>RawCull Packages</title><link>https://techrawcull.netlify.app/docs/packages/</link><pubDate>Thu, 30 Jul 2026 00:00:00 +0000</pubDate><guid>https://techrawcull.netlify.app/docs/packages/</guid><description>&lt;h1 id="rawcull-packages"&gt;RawCull Packages&lt;a class="td-heading-self-link" href="#rawcull-packages" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;RawCull is split across four reusable Swift packages. Each package owns one kind
of knowledge and deliberately avoids importing the others. RawCull is the
composition root: it decodes a file and capture metadata with RawParserKit, asks
PhotoAnalysisKit or PhotoAIKit to measure or index it, translates the evidence
into RawCullCore values and decisions, and presents or persists the outcome.&lt;/p&gt;
&lt;pre class="mermaid"&gt;flowchart LR
 Files[&amp;#34;ARW, NEF, and rendered files&amp;#34;] --&amp;gt; Parser[&amp;#34;RawParserKit\ndecode &amp;#43; capture metadata&amp;#34;]
 Parser --&amp;gt; Host[&amp;#34;RawCull adapters\nsource and cache policy&amp;#34;]
 Host --&amp;gt; Analysis[&amp;#34;PhotoAnalysisKit\nsharpness &amp;#43; focus evidence&amp;#34;]
 Host --&amp;gt; AI[&amp;#34;PhotoAIKit\nimage/text embeddings &amp;#43; segmentation&amp;#34;]
 Analysis --&amp;gt; Host
 AI --&amp;gt; Host
 Host --&amp;gt; Core[&amp;#34;RawCullCore\nburst grouping &amp;#43; ranking&amp;#34;]
 Core --&amp;gt; App[&amp;#34;RawCull UI, persistence, and culling actions&amp;#34;]&lt;/pre&gt;
&lt;p&gt;The arrows are runtime data flow, not package dependencies. The four sibling
packages do not depend on one another; the RawCull application imports and
adapts them.&lt;/p&gt;</description></item><item><title>Artificial Intelligence</title><link>https://techrawcull.netlify.app/docs/ai/</link><pubDate>Sat, 18 Jul 2026 00:00:00 +0000</pubDate><guid>https://techrawcull.netlify.app/docs/ai/</guid><description>&lt;h1 id="artificial-intelligence-in-rawcull"&gt;Artificial Intelligence in RawCull&lt;a class="td-heading-self-link" href="#artificial-intelligence-in-rawcull" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This section explains how RawCull uses reusable AI components without allowing model-runtime details to spread through the application. It is written as a learning path: first understand the boundary between RawCull and PhotoAIKit, then study the package itself, and finally follow CLIP from application startup to a persisted similarity artifact.&lt;/p&gt;
&lt;p&gt;The source for this section comes from the sibling &lt;code&gt;PhotoAIKit&lt;/code&gt; and &lt;code&gt;RawCull&lt;/code&gt; projects. Paths beginning with &lt;code&gt;Sources/&lt;/code&gt; refer to PhotoAIKit. Paths beginning with &lt;code&gt;Model/&lt;/code&gt;, &lt;code&gt;Main/&lt;/code&gt;, &lt;code&gt;Views/&lt;/code&gt;, or &lt;code&gt;Actors/&lt;/code&gt; refer to the RawCull app target.&lt;/p&gt;</description></item></channel></rss>