PageSourceSearch

https://cookbook.chromadb.dev/strategies/image-search/

html chromadb.dev collected 2026-10-03 22:09:57 UTC 70,730 bytes, 3,325 lines download raw bytes

1
2<!doctype html>
3<html lang="en" class="no-js">
4  <head>
5    
6      <meta charset="utf-8">
7      <meta name="viewport" content="width=device-width,initial-scale=1">
8      
9        <meta name="description" content="Recipes and operational guides for building with Chroma.">
10      
11      
12      
13        <link rel="canonical" href="https://cookbook.chromadb.dev/strategies/image-search/">
14      
15      
16        <link rel="prev" href="../go-local-markdown-cli/">
17      
18      
19        <link rel="next" href="../keyword-search/">
20      
21      
22        
23      
24      
25      <link rel="icon" href="../../favicon.ico">
26      <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.6">
27    
28    
29      
30        <title>Image Search (Multimodal Retrieval) - Chroma Cookbook</title>
31      
32    
33    
34      <link rel="stylesheet" href="../../assets/stylesheets/main.484c7ddc.min.css">
35      
36        
37        <link rel="stylesheet" href="../../assets/stylesheets/palette.ab4e12ef.min.css">
38      
39      
40
41
42    
43    
44      
45    
46    
47      
48        
49        
50        <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
51        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CJetBrains+Mono:400,400i,700,700i&display=fallback">
52        <style>:root{--md-text-font:"Roboto";--md-code-font:"JetBrains Mono"}</style>
53      
54    
55    
56      <link rel="stylesheet" href="../../stylesheets/ethicalads.css">
57    
58      <link rel="stylesheet" href="../../stylesheets/concepts-flow.css">
59    
60      <link rel="stylesheet" href="../../stylesheets/custom.css">
61    
62      <link rel="stylesheet" href="../../stylesheets/filter-builder.css">
63    
64    
64<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
64
65    
66      
67  
68
69
70  
71  
72
73<script id="__analytics">function __md_analytics(){function e(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],e("js",new Date),e("config","G-FZFKK5FLEY"),document.addEventListener("DOMContentLoaded",(function(){document.forms.search&&document.forms.search.query.addEventListener("blur",(function(){this.value&&e("event","search",{search_term:this.value})}));document$.subscribe((function(){var t=document.forms.feedback;if(void 0!==t)for(var a of t.querySelectorAll("[type=submit]"))a.addEventListener("click",(function(a){a.preventDefault();var n=document.location.pathname,d=this.getAttribute("data-md-value");e("event","feedback",{page:n,data:d}),t.firstElementChild.disabled=!0;var r=t.querySelector(".md-feedback__note [data-md-value='"+d+"']");r&&(r.hidden=!1)})),t.hidden=!1})),location$.subscribe((function(t){e("config","G-FZFKK5FLEY",{page_path:t.pathname})}))}));var t=document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtag/js?id=G-FZFKK5FLEY",document.getElementById("__analytics").insertAdjacentElement("afterEnd",t)}</script>
73
74  
75    
75<script>if("undefined"!=typeof __md_analytics){var consent=__md_get("__consent");consent&&consent.analytics&&__md_analytics()}</script>
75
76  
77
78    
79    
80  
81  
81<script async src="https://media.ethicalads.io/media/client/ethicalads.min.js"></script>
81
82
83  </head>
84  
85  
86    
87    
88      
89    
90    
91    
92    
93    <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
94  
95    
96    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
97    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
98    <label class="md-overlay" for="__drawer"></label>
99    <div data-md-component="skip">
100      
101        
102        <a href="#image-search-multimodal-retrieval" class="md-skip">
103          Skip to content
104        </a>
105      
106    </div>
107    <div data-md-component="announce">
108      
109    </div>
110    
111    
112      
113
114  
115
116<header class="md-header md-header--shadow" data-md-component="header">
117  <nav class="md-header__inner md-grid" aria-label="Header">
118    <a href="/" title="Chroma Cookbook" class="md-header__button md-logo" aria-label="Chroma Cookbook" data-md-component="logo">
119      
120  <img src="../../assets/images/logo.png" alt="logo">
121
122    </a>
123    <label class="md-header__button md-icon" for="__drawer">
124      
125      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
126    </label>
127    <div class="md-header__title" data-md-component="header-title">
128      <div class="md-header__ellipsis">
129        <div class="md-header__topic">
130          <span class="md-ellipsis">
131            Chroma Cookbook
132          </span>
133        </div>
134        <div class="md-header__topic" data-md-component="header-topic">
135          <span class="md-ellipsis">
136            
137              Image Search (Multimodal Retrieval)
138            
139          </span>
140        </div>
141      </div>
142    </div>
143    
144      
145        <form class="md-header__option" data-md-component="palette">
146  
147    
148    
149    
150    <input class="md-option" data-md-color-media="(prefers-color-scheme)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo"  aria-label="Switch to light mode"  type="radio" name="__palette" id="__palette_0">
151    
152      <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
153        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z"/></svg>
154      </label>
155    
156  
157    
158    
159    
160    <input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="black" data-md-color-accent="indigo"  aria-label="Switch to dark mode"  type="radio" name="__palette" id="__palette_1">
161    
162      <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
163        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5s-1.65.15-2.39.42zM3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29zm.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14zM20.65 7l-1.77 3.79a7.02 7.02 0 0 0-2.38-4.15zm-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29zM12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44z"/></svg>
164      </label>
165    
166  
167    
168    
169    
170    <input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="indigo"  aria-label="Switch to system preference"  type="radio" name="__palette" id="__palette_2">
171    
172      <label class="md-header__button md-icon" title="Switch to system preference" for="__palette_0" hidden>
173        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3zm3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95zm-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.3
1736 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31"/></svg>
174      </label>
175    
176  
177</form>
178      
179    
180    
181      
181<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
181
182    
183    
184    
185      
186      
187        <label class="md-header__button md-icon" for="__search">
188          
189          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
190        </label>
191        <div class="md-search" data-md-component="search" role="dialog">
192  <label class="md-search__overlay" for="__search"></label>
193  <div class="md-search__inner" role="search">
194    <form class="md-search__form" name="search">
195      <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
196      <label class="md-search__icon md-icon" for="__search">
197        
198        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
199        
200        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
201      </label>
202      <nav class="md-search__options" aria-label="Search">
203        
204        <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
205          
206          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
207        </button>
208      </nav>
209      
210    </form>
211    <div class="md-search__output">
212      <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
213        <div class="md-search-result" data-md-component="search-result">
214          <div class="md-search-result__meta">
215            Initializing search
216          </div>
217          <ol class="md-search-result__list" role="presentation"></ol>
218        </div>
219      </div>
220    </div>
221  </div>
222</div>
223      
224    
225    
226      <div class="md-header__source">
227        <a href="https://github.com/amikos-tech/chroma-cookbook" title="Go to repository" class="md-source" data-md-component="source">
228  <div class="md-source__icon md-icon">
229    
230    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
231  </div>
232  <div class="md-source__repository">
233    GitHub
234  </div>
235</a>
236      </div>
237    
238  </nav>
239  
240</header>
241    
242    <div class="md-container" data-md-component="container">
243      
244  
245  <div class="md-grid mdx-ethicalads-container">
246    <div
247      id="cookbook-stickybox"
248      class="raised"
249      data-ea-publisher="chromadbdev"
250      data-ea-type="image"
251      data-ea-style="stickybox"
252      data-ea-placement-bottom="56px"
253    ></div>
254  </div>
255
256      
257        
258          
259        
260      
261      <main class="md-main" data-md-component="main">
262        <div class="md-main__inner md-grid">
263          
264            
265              
266              <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
267                <div class="md-sidebar__scrollwrap">
268                  <div class="md-sidebar__inner">
269                    
270
271
272
273<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
274  <label class="md-nav__title" for="__drawer">
275    <a href="/" title="Chroma Cookbook" class="md-nav__button md-logo" aria-label="Chroma Cookbook" data-md-component="logo">
276      
277  <img src="../../assets/images/logo.png" alt="logo">
278
279    </a>
280    Chroma Cookbook
281  </label>
282  
283    <div class="md-nav__source">
284      <a href="https://github.com/amikos-tech/chroma-cookbook" title="Go to repository" class="md-source" data-md-component="source">
285  <div class="md-source__icon md-icon">
286    
287    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
288  </div>
289  <div class="md-source__repository">
290    GitHub
291  </div>
292</a>
293    </div>
294  
295  <ul class="md-nav__list" data-md-scrollfix>
296    
297      
298      
299  
300  
301  
302  
303    <li class="md-nav__item">
304      <a href="../.." class="md-nav__link">
305        
306  
307  
308  <span class="md-ellipsis">
309    
310  
311    Home
312  
313
314    
315  </span>
316  
317  
318
319      </a>
320    </li>
321  
322
323    
324      
325      
326  
327  
328  
329  
330    
331    
332      
333        
334          
335        
336      
337        
338      
339        
340      
341        
342      
343        
344      
345        
346      
347        
348      
349        
350      
351        
352      
353        
354      
355        
356      
357        
358      
359        
360      
361        
362      
363    
364    
365    
366    
367    <li class="md-nav__item md-nav__item--nested">
368      
369        
370        
371        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
372        
373          
374          <div class="md-nav__link md-nav__container">
375            <a href="../../core/" class="md-nav__link ">
376              
377  
378  
379  <span class="md-ellipsis">
380    
381  
382    Core
383  
384
385    
386  </span>
387  
388  
389
390            </a>
391            
392              
393              <label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
394                <span class="md-nav__icon md-icon"></span>
395              </label>
396            
397          </div>
398        
399        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
400          <label class="md-nav__title" for="__nav_2">
401            <span class="md-nav__icon md-icon"></span>
402            
403  
404    Core
405  
406
407          </label>
408          <ul class="md-nav__list" data-md-scrollfix>
409            
410              
411            
412              
413                
414  
415  
416  
417  
418    <li class="md-nav__item">
419      <a href="../../core/api/" class="md-nav__link">
420        
421  
422  
423  <span class="md-ellipsis">
424    
425  
426    Chroma API
427  
428
429    
430  </span>
431  
432  
433
434      </a>
435    </li>
436  
437
438              
439            
440              
441                
442  
443  
444  
445  
446    <li class="md-nav__item">
447      <a href="../../core/clients/" class="md-nav__link">
448        
449  
450  
451  <span class="md-ellipsis">
452    
453  
454    Chroma Clients
455  
456
457    
458  </span>
459  
460  
461
462      </a>
463    </li>
464  
465
466              
467            
468              
469                
470  
471  
472  
473  
474    <li class="md-nav__item">
475      <a href="../../core/collections/" class="md-nav__link">
476        
477  
478  
479  <span class="md-ellipsis">
480    
481  
482    Collections
483  
484
485    
486  </span>
487  
488  
489
490      </a>
491    </li>
492  
493
494              
495            
496              
497                
498  
499  
500  
501  
502    <li class="md-nav__item">
503      <a href="../../core/concepts/" class="md-nav__link">
504        
505  
506  
507  <span class="md-ellipsis">
508    
509  
510    Concepts
511  
512
513    
514  </span>
515  
516  
517
518      </a>
519    </li>
520  
521
522              
523            
524              
525                
526  
527  
528  
529  
530    <li class="md-nav__item">
531      <a href="../../core/configuration/" class="md-nav__link">
532        
533  
534  
535  <span class="md-ellipsis">
536    
537  
538    Configuration
539  
540
541    
542  </span>
543  
544  
545
546      </a>
547    </li>
548  
549
550              
551            
552              
553                
554  
555  
556  
557  
558    <li class="md-nav__item">
559      <a href="../../core/document-ids/" class="md-nav__link">
560        
561  
562  
563  <span class="md-ellipsis">
564    
565  
566    Document IDs
567  
568
569    
570  </span>
571  
572  
573
574      </a>
575    </li>
576  
577
578              
579            
580              
581                
582  
583  
584  
585  
586    <li class="md-nav__item">
587      <a href="../../core/filters/" class="md-nav__link">
588        
589  
590  
591  <span class="md-ellipsis">
592    
593  
594    Filters
595  
596
597    
598  </span>
599  
600  
601
602      </a>
603    </li>
604  
605
606              
607            
608              
609                
610  
611  
612  
613  
614    <li class="md-nav__item">
615      <a href="../../core/install/" class="md-nav__link">
616        
617  
618  
619  <span class="md-ellipsis">
620    
621  
622    Installation
623  
624
625    
626  </span>
627  
628  
629
630      </a>
631    </li>
632  
633
634              
635            
636              
637                
638  
639  
640  
641  
642    <li class="md-nav__item">
643      <a href="../../core/resources/" class="md-nav__link">
644        
645  
646  
647  <span class="md-ellipsis">
648    
649  
650    Resource Requirements
651  
652
653    
654  </span>
655  
656  
657
658      </a>
659    </li>
660  
661
662              
663            
664              
665                
666  
667  
668  
669  
670    <li class="md-nav__item">
671      <a href="../../core/storage-layout/" class="md-nav__link">
672        
673  
674  
675  <span class="md-ellipsis">
676    
677  
678    Storage Layout
679  
680
681    
682  </span>
683  
684  
685
686      </a>
687    </li>
688  
689
690              
691            
692              
693                
694  
695  
696  
697  
698    <li class="md-nav__item">
699      <a href="../../core/system_constraints/" class="md-nav__link">
700        
701  
702  
703  <span class="md-ellipsis">
704    
705  
706    Chroma System Constraints
707  
708
709    
710  </span>
711  
712  
713
714      </a>
715    </li>
716  
717
718              
719            
720              
721                
722  
723  
724  
725  
726    <li class="md-nav__item">
727      <a href="../../core/tenants-and-databases/" class="md-nav__link">
728        
729  
730  
731  <span class="md-ellipsis">
732    
733  
734    Tenants and Databases
735  
736
737    
738  </span>
739  
740  
741
742      </a>
743    </li>
744  
745
746              
747            
748              
749                
750  
751  
752  
753  
754    
755    
756      
757        
758      
759        
760      
761        
762      
763    
764    
765    
766    
767    <li class="md-nav__item md-nav__item--nested">
768      
769        
770        
771        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_14" >
772        
773          
774          <label class="md-nav__link" for="__nav_2_14" id="__nav_2_14_label" tabindex="0">
775            
776  
777  
778  <span class="md-ellipsis">
779    
780  
781    Advanced
782  
783
784    
785  </span>
786  
787  
788
789            <span class="md-nav__icon md-icon"></span>
790          </label>
791        
792        <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_14_label" aria-expanded="false">
793          <label class="md-nav__title" for="__nav_2_14">
794            <span class="md-nav__icon md-icon"></span>
795            
796  
797    Advanced
798  
799
800          </label>
801          <ul class="md-nav__list" data-md-scrollfix>
802            
803              
804                
805  
806  
807  
808  
809    <li class="md-nav__item">
810      <a href="../../core/advanced/queries/" class="md-nav__link">
811        
812  
813  
814  <span class="md-ellipsis">
815    
816  
817    Chroma Queries
818  
819
820    
821  </span>
822  
823  
824
825      </a>
826    </li>
827  
828
829              
830            
831              
832                
833  
834  
835  
836  
837    <li class="md-nav__item">
838      <a href="../../core/advanced/wal-pruning/" class="md-nav__link">
839        
840  
841  
842  <span class="md-ellipsis">
843    
844  
845    Write-ahead Log (WAL) Pruning
846  
847
848    
849  </span>
850  
851  
852
853      </a>
854    </li>
855  
856
857              
858            
859              
860                
861  
862  
863  
864  
865    <li class="md-nav__item">
866      <a href="../../core/advanced/wal/" class="md-nav__link">
867        
868  
869  
870  <span class="md-ellipsis">
871    
872  
873    Write-ahead Log (WAL)
874  
875
876    
877  </span>
878  
879  
880
881      </a>
882    </li>
883  
884
885              
886            
887          </ul>
888        </nav>
889      
890    </li>
891  
892
893              
894            
895          </ul>
896        </nav>
897      
898    </li>
899  
900
901    
902      
903      
904  
905  
906  
907  
908    
909    
910      
911        
912      
913        
914      
915        
916      
917        
918      
919        
920      
921        
922      
923        
924      
925    
926    
927    
928    
929    <li class="md-nav__item md-nav__item--nested">
930      
931        
932        
933        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
934        
935          
936          <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
937            
938  
939  
940  <span class="md-ellipsis">
941    
942  
943    Running
944  
945
946    
947  </span>
948  
949  
950
951            <span class="md-nav__icon md-icon"></span>
952          </label>
953        
954        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
955          <label class="md-nav__title" for="__nav_3">
956            <span class="md-nav__icon md-icon"></span>
957            
958  
959    Running
960  
961
962          </label>
963          <ul class="md-nav__list" data-md-scrollfix>
964            
965              
966                
967  
968  
969  
970  
971    <li class="md-nav__item">
972      <a href="../../running/running-chroma/" class="md-nav__link">
973        
974  
975  
976  <span class="md-ellipsis">
977    
978  
979    Running Chroma
980  
981
982    
983  </span>
984  
985  
986
987      </a>
988    </li>
989  
990
991              
992            
993              
994                
995  
996  
997  
998  
999    <li class="md-nav__item">
1000      <a href="../../running/deployment-patterns/" class="md-nav__link">
1001        
1002  
1003  
1004  <span class="md-ellipsis">
1005    
1006  
1007    Deployment Patterns
1008  
1009
1010    
1011  </span>
1012  
1013  
1014
1015      </a>
1016    </li>
1017  
1018
1019              
1020            
1021              
1022                
1023  
1024  
1025  
1026  
1027    <li class="md-nav__item">
1028      <a href="../../running/road-to-prod/" class="md-nav__link">
1029        
1030  
1031  
1032  <span class="md-ellipsis">
1033    
1034  
1035    Road To Production
1036  
1037
1038    
1039  </span>
1040  
1041  
1042
1043      </a>
1044    </li>
1045  
1046
1047              
1048            
1049              
1050                
1051  
1052  
1053  
1054  
1055    <li class="md-nav__item">
1056      <a href="../../running/health-checks/" class="md-nav__link">
1057        
1058  
1059  
1060  <span class="md-ellipsis">
1061    
1062  
1063    Health Checks
1064  
1065
1066    
1067  </span>
1068  
1069  
1070
1071      </a>
1072    </li>
1073  
1074
1075              
1076            
1077              
1078                
1079  
1080  
1081  
1082  
1083    <li class="md-nav__item">
1084      <a href="../../running/performance-tips/" class="md-nav__link">
1085        
1086  
1087  
1088  <span class="md-ellipsis">
1089    
1090  
1091    Performance Tips
1092  
1093
1094    
1095  </span>
1096  
1097  
1098
1099      </a>
1100    </li>
1101  
1102
1103              
1104            
1105              
1106                
1107  
1108  
1109  
1110  
1111    <li class="md-nav__item">
1112      <a href="../../running/maintenance/" class="md-nav__link">
1113        
1114  
1115  
1116  <span class="md-ellipsis">
1117    
1118  
1119    Maintenance
1120  
1121
1122    
1123  </span>
1124  
1125  
1126
1127      </a>
1128    </li>
1129  
1130
1131              
1132            
1133              
1134                
1135  
1136  
1137  
1138  
1139    <li class="md-nav__item">
1140      <a href="../../running/systemd-service/" class="md-nav__link">
1141        
1142  
1143  
1144  <span class="md-ellipsis">
1145    
1146  
1147    Systemd service
1148  
1149
1150    
1151  </span>
1152  
1153  
1154
1155      </a>
1156    </li>
1157  
1158
1159              
1160            
1161          </ul>
1162        </nav>
1163      
1164    </li>
1165  
1166
1167    
1168      
1169      
1170  
1171  
1172  
1173  
1174    
1175    
1176      
1177        
1178      
1179        
1180      
1181        
1182      
1183        
1184      
1185    
1186    
1187    
1188    
1189    <li class="md-nav__item md-nav__item--nested">
1190      
1191        
1192        
1193        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
1194        
1195          
1196          <label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
1197            
1198  
1199  
1200  <span class="md-ellipsis">
1201    
1202  
1203    Embedding
1204  
1205
1206    
1207  </span>
1208  
1209  
1210
1211            <span class="md-nav__icon md-icon"></span>
1212          </label>
1213        
1214        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
1215          <label class="md-nav__title" for="__nav_4">
1216            <span class="md-nav__icon md-icon"></span>
1217            
1218  
1219    Embedding
1220  
1221
1222          </label>
1223          <ul class="md-nav__list" data-md-scrollfix>
1224            
1225              
1226                
1227  
1228  
1229  
1230  
1231    <li class="md-nav__item">
1232      <a href="../../embeddings/bring-your-own-embeddings/" class="md-nav__link">
1233        
1234  
1235  
1236  <span class="md-ellipsis">
1237    
1238  
1239    Creating your own embedding function
1240  
1241
1242    
1243  </span>
1244  
1245  
1246
1247      </a>
1248    </li>
1249  
1250
1251              
1252            
1253              
1254                
1255  
1256  
1257  
1258  
1259    <li class="md-nav__item">
1260      <a href="../../embeddings/cross-encoders/" class="md-nav__link">
1261        
1262  
1263  
1264  <span class="md-ellipsis">
1265    
1266  
1267    Cross-Encoders Reranking
1268  
1269
1270    
1271  </span>
1272  
1273  
1274
1275      </a>
1276    </li>
1277  
1278
1279              
1280            
1281              
1282                
1283  
1284  
1285  
1286  
1287    <li class="md-nav__item">
1288      <a href="../../embeddings/embedding-models/" class="md-nav__link">
1289        
1290  
1291  
1292  <span class="md-ellipsis">
1293    
1294  
1295    Embedding Models
1296  
1297
1298    
1299  </span>
1300  
1301  
1302
1303      </a>
1304    </li>
1305  
1306
1307              
1308            
1309              
1310                
1311  
1312  
1313  
1314  
1315    <li class="md-nav__item">
1316      <a href="../../embeddings/gpu-support/" class="md-nav__link">
1317        
1318  
1319  
1320  <span class="md-ellipsis">
1321    
1322  
1323    Embedding Functions GPU Support
1324  
1325
1326    
1327  </span>
1328  
1329  
1330
1331      </a>
1332    </li>
1333  
1334
1335              
1336            
1337          </ul>
1338        </nav>
1339      
1340    </li>
1341  
1342
1343    
1344      
1345      
1346  
1347  
1348  
1349  
1350    
1351    
1352      
1353        
1354      
1355        
1356      
1357        
1358      
1359    
1360    
1361    
1362    
1363    <li class="md-nav__item md-nav__item--nested">
1364      
1365        
1366        
1367        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
1368        
1369          
1370          <label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
1371            
1372  
1373  
1374  <span class="md-ellipsis">
1375    
1376  
1377    Integrations
1378  
1379
1380    
1381  </span>
1382  
1383  
1384
1385            <span class="md-nav__icon md-icon"></span>
1386          </label>
1387        
1388        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
1389          <label class="md-nav__title" for="__nav_5">
1390            <span class="md-nav__icon md-icon"></span>
1391            
1392  
1393    Integrations
1394  
1395
1396          </label>
1397          <ul class="md-nav__list" data-md-scrollfix>
1398            
1399              
1400                
1401  
1402  
1403  
1404  
1405    
1406    
1407      
1408        
1409          
1410        
1411      
1412        
1413      
1414        
1415      
1416    
1417    
1418    
1419    
1420    <li class="md-nav__item md-nav__item--nested">
1421      
1422        
1423        
1424        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_1" >
1425        
1426          
1427          <div class="md-nav__link md-nav__container">
1428            <a href="../../integrations/langchain/" class="md-nav__link ">
1429              
1430  
1431  
1432  <span class="md-ellipsis">
1433    
1434  
1435    Langchain
1436  
1437
1438    
1439  </span>
1440  
1441  
1442
1443            </a>
1444            
1445              
1446              <label class="md-nav__link " for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
1447                <span class="md-nav__icon md-icon"></span>
1448              </label>
1449            
1450          </div>
1451        
1452        <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
1453          <label class="md-nav__title" for="__nav_5_1">
1454            <span class="md-nav__icon md-icon"></span>
1455            
1456  
1457    Langchain
1458  
1459
1460          </label>
1461          <ul class="md-nav__list" data-md-scrollfix>
1462            
1463              
1464            
1465              
1466                
1467  
1468  
1469  
1470  
1471    <li class="md-nav__item">
1472      <a href="../../integrations/langchain/embeddings/" class="md-nav__link">
1473        
1474  
1475  
1476  <span class="md-ellipsis">
1477    
1478  
1479    LangChain Embeddings
1480  
1481
1482    
1483  </span>
1484  
1485  
1486
1487      </a>
1488    </li>
1489  
1490
1491              
1492            
1493              
1494                
1495  
1496  
1497  
1498  
1499    <li class="md-nav__item">
1500      <a href="../../integrations/langchain/retrievers/" class="md-nav__link">
1501        
1502  
1503  
1504  <span class="md-ellipsis">
1505    
1506  
1507    🦜⛓️ Langchain Retriever
1508  
1509
1510    
1511  </span>
1512  
1513  
1514
1515      </a>
1516    </li>
1517  
1518
1519              
1520            
1521          </ul>
1522        </nav>
1523      
1524    </li>
1525  
1526
1527              
1528            
1529              
1530                
1531  
1532  
1533  
1534  
1535    
1536    
1537      
1538        
1539          
1540        
1541      
1542        
1543      
1544    
1545    
1546    
1547    
1548    <li class="md-nav__item md-nav__item--nested">
1549      
1550        
1551        
1552        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_2" >
1553        
1554          
1555          <div class="md-nav__link md-nav__container">
1556            <a href="../../integrations/llamaindex/" class="md-nav__link ">
1557              
1558  
1559  
1560  <span class="md-ellipsis">
1561    
1562  
1563    Llamaindex
1564  
1565
1566    
1567  </span>
1568  
1569  
1570
1571            </a>
1572            
1573              
1574              <label class="md-nav__link " for="__nav_5_2" id="__nav_5_2_label" tabindex="0">
1575                <span class="md-nav__icon md-icon"></span>
1576              </label>
1577            
1578          </div>
1579        
1580        <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_2_label" aria-expanded="false">
1581          <label class="md-nav__title" for="__nav_5_2">
1582            <span class="md-nav__icon md-icon"></span>
1583            
1584  
1585    Llamaindex
1586  
1587
1588          </label>
1589          <ul class="md-nav__list" data-md-scrollfix>
1590            
1591              
1592            
1593              
1594                
1595  
1596  
1597  
1598  
1599    <li class="md-nav__item">
1600      <a href="../../integrations/llamaindex/embeddings/" class="md-nav__link">
1601        
1602  
1603  
1604  <span class="md-ellipsis">
1605    
1606  
1607    LlamaIndex Embeddings
1608  
1609
1610    
1611  </span>
1612  
1613  
1614
1615      </a>
1616    </li>
1617  
1618
1619              
1620            
1621          </ul>
1622        </nav>
1623      
1624    </li>
1625  
1626
1627              
1628            
1629              
1630                
1631  
1632  
1633  
1634  
1635    
1636    
1637      
1638        
1639          
1640        
1641      
1642        
1643      
1644    
1645    
1646    
1647    
1648    <li class="md-nav__item md-nav__item--nested">
1649      
1650        
1651        
1652        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_3" >
1653        
1654          
1655          <div class="md-nav__link md-nav__container">
1656            <a href="../../integrations/ollama/" class="md-nav__link ">
1657              
1658  
1659  
1660  <span class="md-ellipsis">
1661    
1662  
1663    Ollama
1664  
1665
1666    
1667  </span>
1668  
1669  
1670
1671            </a>
1672            
1673              
1674              <label class="md-nav__link " for="__nav_5_3" id="__nav_5_3_label" tabindex="0">
1675                <span class="md-nav__icon md-icon"></span>
1676              </label>
1677            
1678          </div>
1679        
1680        <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_3_label" aria-expanded="false">
1681          <label class="md-nav__title" for="__nav_5_3">
1682            <span class="md-nav__icon md-icon"></span>
1683            
1684  
1685    Ollama
1686  
1687
1688          </label>
1689          <ul class="md-nav__list" data-md-scrollfix>
1690            
1691              
1692            
1693              
1694                
1695  
1696  
1697  
1698  
1699    <li class="md-nav__item">
1700      <a href="../../integrations/ollama/embeddings/" class="md-nav__link">
1701        
1702  
1703  
1704  <span class="md-ellipsis">
1705    
1706  
1707    Ollama
1708  
1709
1710    
1711  </span>
1712  
1713  
1714
1715      </a>
1716    </li>
1717  
1718
1719              
1720            
1721          </ul>
1722        </nav>
1723      
1724    </li>
1725  
1726
1727              
1728            
1729          </ul>
1730        </nav>
1731      
1732    </li>
1733  
1734
1735    
1736      
1737      
1738  
1739  
1740    
1741  
1742  
1743  
1744    
1745    
1746      
1747        
1748      
1749        
1750      
1751        
1752      
1753        
1754      
1755        
1756      
1757        
1758      
1759        
1760      
1761        
1762      
1763        
1764      
1765        
1766      
1767        
1768      
1769        
1770      
1771        
1772      
1773    
1774    
1775    
1776    
1777    <li class="md-nav__item md-nav__item--active md-nav__item--nested">
1778      
1779        
1780        
1781        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
1782        
1783          
1784          <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
1785            
1786  
1787  
1788  <span class="md-ellipsis">
1789    
1790  
1791    Strategies
1792  
1793
1794    
1795  </span>
1796  
1797  
1798
1799            <span class="md-nav__icon md-icon"></span>
1800          </label>
1801        
1802        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
1803          <label class="md-nav__title" for="__nav_6">
1804            <span class="md-nav__icon md-icon"></span>
1805            
1806  
1807    Strategies
1808  
1809
1810          </label>
1811          <ul class="md-nav__list" data-md-scrollfix>
1812            
1813              
1814                
1815  
1816  
1817  
1818  
1819    <li class="md-nav__item">
1820      <a href="../backup/" class="md-nav__link">
1821        
1822  
1823  
1824  <span class="md-ellipsis">
1825    
1826  
1827    ChromaDB Backups
1828  
1829
1830    
1831  </span>
1832  
1833  
1834
1835      </a>
1836    </li>
1837  
1838
1839              
1840            
1841              
1842                
1843  
1844  
1845  
1846  
1847    <li class="md-nav__item">
1848      <a href="../batching/" class="md-nav__link">
1849        
1850  
1851  
1852  <span class="md-ellipsis">
1853    
1854  
1855    Batching
1856  
1857
1858    
1859  </span>
1860  
1861  
1862
1863      </a>
1864    </li>
1865  
1866
1867              
1868            
1869              
1870                
1871  
1872  
1873  
1874  
1875    <li class="md-nav__item">
1876      <a href="../cors/" class="md-nav__link">
1877        
1878  
1879  
1880  <span class="md-ellipsis">
1881    
1882  
1883    CORS Configuration for Browser-Based Access
1884  
1885
1886    
1887  </span>
1888  
1889  
1890
1891      </a>
1892    </li>
1893  
1894
1895              
1896            
1897              
1898                
1899  
1900  
1901  
1902  
1903    <li class="md-nav__item">
1904      <a href="../go-local-markdown-cli/" class="md-nav__link">
1905        
1906  
1907  
1908  <span class="md-ellipsis">
1909    
1910  
1911    Go Local Markdown CLI with PersistentClient
1912  
1913
1914    
1915  </span>
1916  
1917  
1918
1919      </a>
1920    </li>
1921  
1922
1923              
1924            
1925              
1926                
1927  
1928  
1929    
1930  
1931  
1932  
1933    <li class="md-nav__item md-nav__item--active">
1934      
1935      <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
1936      
1937      
1938        
1939      
1940      
1941        <label class="md-nav__link md-nav__link--active" for="__toc">
1942          
1943  
1944  
1945  <span class="md-ellipsis">
1946    
1947  
1948    Image Search (Multimodal Retrieval)
1949  
1950
1951    
1952  </span>
1953  
1954  
1955
1956          <span class="md-nav__icon md-icon"></span>
1957        </label>
1958      
1959      <a href="./" class="md-nav__link md-nav__link--active">
1960        
1961  
1962  
1963  <span class="md-ellipsis">
1964    
1965  
1966    Image Search (Multimodal Retrieval)
1967  
1968
1969    
1970  </span>
1971  
1972  
1973
1974      </a>
1975      
1976        
1977
1978  
1979
1980<nav class="md-nav md-nav--secondary" aria-label="On this page">
1981  
1982  
1983  
1984    
1985  
1986  
1987    <label class="md-nav__title" for="__toc">
1988      <span class="md-nav__icon md-icon"></span>
1989      On this page
1990    </label>
1991    <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1992      
1993        <li class="md-nav__item">
1994  <a href="#quick-start-pattern" class="md-nav__link">
1995    <span class="md-ellipsis">
1996      
1997        Quick Start Pattern
1998      
1999    </span>
2000  </a>
2001  
2002</li>
2003      
2004        <li class="md-nav__item">
2005  <a href="#short-snippet" class="md-nav__link">
2006    <span class="md-ellipsis">
2007      
2008        Short Snippet
2009      
2010    </span>
2011  </a>
2012  
2013</li>
2014      
2015        <li class="md-nav__item">
2016  <a href="#end-to-end-python-walkthrough" class="md-nav__link">
2017    <span class="md-ellipsis">
2018      
2019        End-to-End Python Walkthrough
2020      
2021    </span>
2022  </a>
2023  
2024</li>
2025      
2026        <li class="md-nav__item">
2027  <a href="#operational-notes" class="md-nav__link">
2028    <span class="md-ellipsis">
2029      
2030        Operational Notes
2031      
2032    </span>
2033  </a>
2034  
2035</li>
2036      
2037        <li class="md-nav__item">
2038  <a href="#core-references" class="md-nav__link">
2039    <span class="md-ellipsis">
2040      
2041        Core References
2042      
2043    </span>
2044  </a>
2045  
2046</li>
2047      
2048        <li class="md-nav__item">
2049  <a href="#full-runnable-example" class="md-nav__link">
2050    <span class="md-ellipsis">
2051      
2052        Full Runnable Example
2053      
2054    </span>
2055  </a>
2056  
2057</li>
2058      
2059    </ul>
2060  
2061</nav>
2062      
2063    </li>
2064  
2065
2066              
2067            
2068              
2069                
2070  
2071  
2072  
2073  
2074    <li class="md-nav__item">
2075      <a href="../keyword-search/" class="md-nav__link">
2076        
2077  
2078  
2079  <span class="md-ellipsis">
2080    
2081  
2082    Keyword Search
2083  
2084
2085    
2086  </span>
2087  
2088  
2089
2090      </a>
2091    </li>
2092  
2093
2094              
2095            
2096              
2097                
2098  
2099  
2100  
2101  
2102    <li class="md-nav__item">
2103      <a href="../metadata-schema-validation/" class="md-nav__link">
2104        
2105  
2106  
2107  <span class="md-ellipsis">
2108    
2109  
2110    Metadata Schema Validation (Application Layer)
2111  
2112
2113    
2114  </span>
2115  
2116  
2117
2118      </a>
2119    </li>
2120  
2121
2122              
2123            
2124              
2125                
2126  
2127  
2128  
2129  
2130    <li class="md-nav__item">
2131      <a href="../memory-management/" class="md-nav__link">
2132        
2133  
2134  
2135  <span class="md-ellipsis">
2136    
2137  
2138    Memory Management
2139  
2140
2141    
2142  </span>
2143  
2144  
2145
2146      </a>
2147    </li>
2148  
2149
2150              
2151            
2152              
2153                
2154  
2155  
2156  
2157  
2158    <li class="md-nav__item">
2159      <a href="../multi-category-filters/" class="md-nav__link">
2160        
2161  
2162  
2163  <span class="md-ellipsis">
2164    
2165  
2166    Multi-Category/Tag Filters
2167  
2168
2169    
2170  </span>
2171  
2172  
2173
2174      </a>
2175    </li>
2176  
2177
2178              
2179            
2180              
2181                
2182  
2183  
2184  
2185  
2186    <li class="md-nav__item">
2187      <a href="../privacy/" class="md-nav__link">
2188        
2189  
2190  
2191  <span class="md-ellipsis">
2192    
2193  
2194    Privacy Strategies
2195  
2196
2197    
2198  </span>
2199  
2200  
2201
2202      </a>
2203    </li>
2204  
2205
2206              
2207            
2208              
2209                
2210  
2211  
2212  
2213  
2214    <li class="md-nav__item">
2215      <a href="../rebuilding/" class="md-nav__link">
2216        
2217  
2218  
2219  <span class="md-ellipsis">
2220    
2221  
2222    Rebuilding Chroma DB
2223  
2224
2225    
2226  </span>
2227  
2228  
2229
2230      </a>
2231    </li>
2232  
2233
2234              
2235            
2236              
2237                
2238  
2239  
2240  
2241  
2242    <li class="md-nav__item">
2243      <a href="../time-based-queries/" class="md-nav__link">
2244        
2245  
2246  
2247  <span class="md-ellipsis">
2248    
2249  
2250    Time-based Queries
2251  
2252
2253    
2254  </span>
2255  
2256  
2257
2258      </a>
2259    </li>
2260  
2261
2262              
2263            
2264              
2265                
2266  
2267  
2268  
2269  
2270    
2271    
2272      
2273        
2274          
2275        
2276      
2277        
2278      
2279        
2280      
2281        
2282      
2283        
2284      
2285    
2286    
2287    
2288    
2289    <li class="md-nav__item md-nav__item--nested">
2290      
2291        
2292        
2293        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_13" >
2294        
2295          
2296          <div class="md-nav__link md-nav__container">
2297            <a href="../multi-tenancy/" class="md-nav__link ">
2298              
2299  
2300  
2301  <span class="md-ellipsis">
2302    
2303  
2304    Multi-Tenancy
2305  
2306
2307    
2308  </span>
2309  
2310  
2311
2312            </a>
2313            
2314              
2315              <label class="md-nav__link " for="__nav_6_13" id="__nav_6_13_label" tabindex="0">
2316                <span class="md-nav__icon md-icon"></span>
2317              </label>
2318            
2319          </div>
2320        
2321        <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_13_label" aria-expanded="false">
2322          <label class="md-nav__title" for="__nav_6_13">
2323            <span class="md-nav__icon md-icon"></span>
2324            
2325  
2326    Multi-Tenancy
2327  
2328
2329          </label>
2330          <ul class="md-nav__list" data-md-scrollfix>
2331            
2332              
2333            
2334              
2335                
2336  
2337  
2338  
2339  
2340    <li class="md-nav__item">
2341      <a href="../multi-tenancy/authorization-model-impl-with-openfga/" class="md-nav__link">
2342        
2343  
2344  
2345  <span class="md-ellipsis">
2346    
2347  
2348    Implementing OpenFGA Authorization Model In Chroma
2349  
2350
2351    
2352  </span>
2353  
2354  
2355
2356      </a>
2357    </li>
2358  
2359
2360              
2361            
2362              
2363                
2364  
2365  
2366  
2367  
2368    <li class="md-nav__item">
2369      <a href="../multi-tenancy/authorization-model-with-openfga/" class="md-nav__link">
2370        
2371  
2372  
2373  <span class="md-ellipsis">
2374    
2375  
2376    Chroma Authorization Model with OpenFGA
2377  
2378
2379    
2380  </span>
2381  
2382  
2383
2384      </a>
2385    </li>
2386  
2387
2388              
2389            
2390              
2391                
2392  
2393  
2394  
2395  
2396    <li class="md-nav__item">
2397      <a href="../multi-tenancy/multi-user-basic-auth/" class="md-nav__link">
2398        
2399  
2400  
2401  <span class="md-ellipsis">
2402    
2403  
2404    Multi-User Basic Auth
2405  
2406
2407    
2408  </span>
2409  
2410  
2411
2412      </a>
2413    </li>
2414  
2415
2416              
2417            
2418              
2419                
2420  
2421  
2422  
2423  
2424    <li class="md-nav__item">
2425      <a href="../multi-tenancy/naive-multi-tenancy/" class="md-nav__link">
2426        
2427  
2428  
2429  <span class="md-ellipsis">
2430    
2431  
2432    Naive Multi-tenancy Strategies
2433  
2434
2435    
2436  </span>
2437  
2438  
2439
2440      </a>
2441    </li>
2442  
2443
2444              
2445            
2446          </ul>
2447        </nav>
2448      
2449    </li>
2450  
2451
2452              
2453            
2454          </ul>
2455        </nav>
2456      
2457    </li>
2458  
2459
2460    
2461      
2462      
2463  
2464  
2465  
2466  
2467    
2468    
2469      
2470        
2471          
2472        
2473      
2474        
2475      
2476        
2477      
2478        
2479      
2480        
2481      
2482    
2483    
2484    
2485    
2486    <li class="md-nav__item md-nav__item--nested">
2487      
2488        
2489        
2490        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
2491        
2492          
2493          <div class="md-nav__link md-nav__container">
2494            <a href="../../security/" class="md-nav__link ">
2495              
2496  
2497  
2498  <span class="md-ellipsis">
2499    
2500  
2501    Security
2502  
2503
2504    
2505  </span>
2506  
2507  
2508
2509            </a>
2510            
2511              
2512              <label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="0">
2513                <span class="md-nav__icon md-icon"></span>
2514              </label>
2515            
2516          </div>
2517        
2518        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
2519          <label class="md-nav__title" for="__nav_7">
2520            <span class="md-nav__icon md-icon"></span>
2521            
2522  
2523    Security
2524  
2525
2526          </label>
2527          <ul class="md-nav__list" data-md-scrollfix>
2528            
2529              
2530            
2531              
2532                
2533  
2534  
2535  
2536  
2537    <li class="md-nav__item">
2538      <a href="../../security/auth-1.0.x/" class="md-nav__link">
2539        
2540  
2541  
2542  <span class="md-ellipsis">
2543    
2544  
2545    Authentication in Chroma v1.0.x
2546  
2547
2548    
2549  </span>
2550  
2551  
2552
2553      </a>
2554    </li>
2555  
2556
2557              
2558            
2559              
2560                
2561  
2562  
2563  
2564  
2565    <li class="md-nav__item">
2566      <a href="../../security/chroma-ssl-cert/" class="md-nav__link">
2567        
2568  
2569  
2570  <span class="md-ellipsis">
2571    
2572  
2573    SSL/TLS Certificates in Chroma
2574  
2575
2576    
2577  </span>
2578  
2579  
2580
2581      </a>
2582    </li>
2583  
2584
2585              
2586            
2587              
2588                
2589  
2590  
2591  
2592  
2593    <li class="md-nav__item">
2594      <a href="../../security/legacy-auth/" class="md-nav__link">
2595        
2596  
2597  
2598  <span class="md-ellipsis">
2599    
2600  
2601    Chroma-native Auth (Legacy)
2602  
2603
2604    
2605  </span>
2606  
2607  
2608
2609      </a>
2610    </li>
2611  
2612
2613              
2614            
2615              
2616                
2617  
2618  
2619  
2620  
2621    <li class="md-nav__item">
2622      <a href="../../security/ssl-proxies/" class="md-nav__link">
2623        
2624  
2625  
2626  <span class="md-ellipsis">
2627    
2628  
2629    SSL/TLS Proxy
2630  
2631
2632    
2633  </span>
2634  
2635  
2636
2637      </a>
2638    </li>
2639  
2640
2641              
2642            
2643          </ul>
2644        </nav>
2645      
2646    </li>
2647  
2648
2649    
2650      
2651      
2652  
2653  
2654  
2655  
2656    
2657    
2658      
2659        
2660      
2661    
2662    
2663    
2664    
2665    <li class="md-nav__item md-nav__item--nested">
2666      
2667        
2668        
2669        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
2670        
2671          
2672          <label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
2673            
2674  
2675  
2676  <span class="md-ellipsis">
2677    
2678  
2679    Ecosystem
2680  
2681
2682    
2683  </span>
2684  
2685  
2686
2687            <span class="md-nav__icon md-icon"></span>
2688          </label>
2689        
2690        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
2691          <label class="md-nav__title" for="__nav_8">
2692            <span class="md-nav__icon md-icon"></span>
2693            
2694  
2695    Ecosystem
2696  
2697
2698          </label>
2699          <ul class="md-nav__list" data-md-scrollfix>
2700            
2701              
2702                
2703  
2704  
2705  
2706  
2707    <li class="md-nav__item">
2708      <a href="../../ecosystem/clients/" class="md-nav__link">
2709        
2710  
2711  
2712  <span class="md-ellipsis">
2713    
2714  
2715    Chroma Ecosystem Clients
2716  
2717
2718    
2719  </span>
2720  
2721  
2722
2723      </a>
2724    </li>
2725  
2726
2727              
2728            
2729          </ul>
2730        </nav>
2731      
2732    </li>
2733  
2734
2735    
2736      
2737      
2738  
2739  
2740  
2741  
2742    
2743    
2744      
2745        
2746      
2747        
2748      
2749    
2750    
2751    
2752    
2753    <li class="md-nav__item md-nav__item--nested">
2754      
2755        
2756        
2757        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
2758        
2759          
2760          <label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">
2761            
2762  
2763  
2764  <span class="md-ellipsis">
2765    
2766  
2767    Contributing
2768  
2769
2770    
2771  </span>
2772  
2773  
2774
2775            <span class="md-nav__icon md-icon"></span>
2776          </label>
2777        
2778        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
2779          <label class="md-nav__title" for="__nav_9">
2780            <span class="md-nav__icon md-icon"></span>
2781            
2782  
2783    Contributing
2784  
2785
2786          </label>
2787          <ul class="md-nav__list" data-md-scrollfix>
2788            
2789              
2790                
2791  
2792  
2793  
2794  
2795    <li class="md-nav__item">
2796      <a href="../../contributing/getting-started/" class="md-nav__link">
2797        
2798  
2799  
2800  <span class="md-ellipsis">
2801    
2802  
2803    Getting Started with Contributing to Chroma
2804  
2805
2806    
2807  </span>
2808  
2809  
2810
2811      </a>
2812    </li>
2813  
2814
2815              
2816            
2817              
2818                
2819  
2820  
2821  
2822  
2823    <li class="md-nav__item">
2824      <a href="../../contributing/useful-shortcuts/" class="md-nav__link">
2825        
2826  
2827  
2828  <span class="md-ellipsis">
2829    
2830  
2831    Useful Shortcuts for Contributors
2832  
2833
2834    
2835  </span>
2836  
2837  
2838
2839      </a>
2840    </li>
2841  
2842
2843              
2844            
2845          </ul>
2846        </nav>
2847      
2848    </li>
2849  
2850
2851    
2852      
2853      
2854  
2855  
2856  
2857  
2858    
2859    
2860      
2861        
2862          
2863        
2864      
2865    
2866    
2867    
2868    
2869    <li class="md-nav__item md-nav__item--nested">
2870      
2871        
2872        
2873        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
2874        
2875          
2876          <div class="md-nav__link md-nav__container">
2877            <a href="../../faq/" class="md-nav__link ">
2878              
2879  
2880  
2881  <span class="md-ellipsis">
2882    
2883  
2884    FAQ
2885  
2886
2887    
2888  </span>
2889  
2890  
2891
2892            </a>
2893            
2894          </div>
2895        
2896        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
2897          <label class="md-nav__title" for="__nav_10">
2898            <span class="md-nav__icon md-icon"></span>
2899            
2900  
2901    FAQ
2902  
2903
2904          </label>
2905          <ul class="md-nav__list" data-md-scrollfix>
2906            
2907              
2908            
2909          </ul>
2910        </nav>
2911      
2912    </li>
2913  
2914
2915    
2916  </ul>
2917</nav>
2918                  </div>
2919                </div>
2920              </div>
2921            
2922            
2923              
2924              <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
2925                <div class="md-sidebar__scrollwrap">
2926                  <div class="md-sidebar__inner">
2927                    
2928
2929  
2930
2931<nav class="md-nav md-nav--secondary" aria-label="On this page">
2932  
2933  
2934  
2935    
2936  
2937  
2938    <label class="md-nav__title" for="__toc">
2939      <span class="md-nav__icon md-icon"></span>
2940      On this page
2941    </label>
2942    <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
2943      
2944        <li class="md-nav__item">
2945  <a href="#quick-start-pattern" class="md-nav__link">
2946    <span class="md-ellipsis">
2947      
2948        Quick Start Pattern
2949      
2950    </span>
2951  </a>
2952  
2953</li>
2954      
2955        <li class="md-nav__item">
2956  <a href="#short-snippet" class="md-nav__link">
2957    <span class="md-ellipsis">
2958      
2959        Short Snippet
2960      
2961    </span>
2962  </a>
2963  
2964</li>
2965      
2966        <li class="md-nav__item">
2967  <a href="#end-to-end-python-walkthrough" class="md-nav__link">
2968    <span class="md-ellipsis">
2969      
2970        End-to-End Python Walkthrough
2971      
2972    </span>
2973  </a>
2974  
2975</li>
2976      
2977        <li class="md-nav__item">
2978  <a href="#operational-notes" class="md-nav__link">
2979    <span class="md-ellipsis">
2980      
2981        Operational Notes
2982      
2983    </span>
2984  </a>
2985  
2986</li>
2987      
2988        <li class="md-nav__item">
2989  <a href="#core-references" class="md-nav__link">
2990    <span class="md-ellipsis">
2991      
2992        Core References
2993      
2994    </span>
2995  </a>
2996  
2997</li>
2998      
2999        <li class="md-nav__item">
3000  <a href="#full-runnable-example" class="md-nav__link">
3001    <span class="md-ellipsis">
3002      
3003        Full Runnable Example
3004      
3005    </span>
3006  </a>
3007  
3008</li>
3009      
3010    </ul>
3011  
3012</nav>
3013                  </div>
3014                </div>
3015              </div>
3016            
3017          
3018          
3019            <div class="md-content" data-md-component="content">
3020              
3021              <article class="md-content__inner md-typeset">
3022                
3023                  
3024
3025
3026  
3027  
3028
3029
3030<h1 id="image-search-multimodal-retrieval">Image Search (Multimodal Retrieval)<a class="headerlink" href="#image-search-multimodal-retrieval" title="Permanent link">&para;</a></h1>
3031<p>This page covers local/OSS image search with Chroma using OpenCLIP embeddings.
3032You can index image URIs and query by:</p>
3033<ul>
3034<li>text (<code>query_texts</code>) for text-to-image retrieval</li>
3035<li>image URI (<code>query_uris</code>) for image-to-image retrieval</li>
3036</ul>
3037<p>This is useful when you need one collection to support both semantic text prompts and visual similarity search.</p>
3038<div class="admonition note">
3039<p class="admonition-title">Language Scope</p>
3040<p>This strategy currently ships with a Python runnable example.
3041The OpenCLIP + <code>ImageLoader</code> workflow demonstrated here is Python-centric in this cookbook.</p>
3042</div>
3043<h2 id="quick-start-pattern">Quick Start Pattern<a class="headerlink" href="#quick-start-pattern" title="Permanent link">&para;</a></h2>
3044<p>Use this default flow:</p>
3045<ol>
3046<li>Create a collection with <code>OpenCLIPEmbeddingFunction</code> and <code>ImageLoader</code>.</li>
3047<li>Add local image URIs via <code>collection.add(..., uris=[...])</code>.</li>
3048<li>Query by text for discovery (<code>query_texts=["a photo of a dog"]</code>).</li>
3049<li>Query by image URI for visual nearest-neighbor lookup (<code>query_uris=[...]</code>).</li>
3050<li>Add metadata filters (<code>where</code>) when you need constrained retrieval by source, category, or tenant.</li>
3051</ol>
3052<h2 id="short-snippet">Short Snippet<a class="headerlink" href="#short-snippet" title="Permanent link">&para;</a></h2>
3053<div class="admonition note">
3054<p class="admonition-title">Concept Snippet</p>
3055<p>This snippet is intentionally small and may omit setup.
3056Use the runnable example for an end-to-end script.</p>
3057</div>
3058<div class="language-python highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">chromadb.utils.data_loaders</span><span class="w"> </span><span class="kn">import</span> <span class="n">ImageLoader</span>
3059</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">chromadb.utils.embedding_functions</span><span class="w"> </span><span class="kn">import</span> <span class="n">OpenCLIPEmbeddingFunction</span>
3060</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>
3061</span><span id="__span-0-4"><a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="n">collection</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">create_collection</span><span class="p">(</span>
3062</span><span id="__span-0-5"><a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a>    <span class="n">name</span><span class="o">=</span><span class="s2">&quot;multimodal_collection&quot;</span><span class="p">,</span>
3063</span><span id="__span-0-6"><a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a>    <span class="n">embedding_function</span><span class="o">=</span><span class="n">OpenCLIPEmbeddingFunction</span><span class="p">(),</span>
3064</span><span id="__span-0-7"><a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a>    <span class="n">data_loader</span><span class="o">=</span><span class="n">ImageLoader</span><span class="p">(),</span>
3065</span><span id="__span-0-8"><a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a><span class="p">)</span>
3066</span><span id="__span-0-9"><a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a>
3067</span><span id="__span-0-10"><a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a><span class="n">collection</span><span class="o">.</span><span class="n">add</span><span class="p">(</span>
3068</span><span id="__span-0-11"><a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a>    <span class="n">ids</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;cat&quot;</span><span class="p">,</span> <span class="s2">&quot;dog&quot;</span><span class="p">],</span>
3069</span><span id="__span-0-12"><a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a>    <span class="n">uris</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;/path/to/cat.png&quot;</span><span class="p">,</span> <span class="s2">&quot;/path/to/dog.jpg&quot;</span><span class="p">],</span>
3070</span><span id="__span-0-13"><a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a>    <span class="n">metadatas</span><span class="o">=</span><span class="p">[{</span><span class="s2">&quot;label&quot;</span><span class="p">:</span> <span class="s2">&quot;cat&quot;</span><span class="p">},</span> <span class="p">{</span><span class="s2">&quot;label&quot;</span><span class="p">:</span> <span class="s2">&quot;dog&quot;</span><span class="p">}],</span>
3071</span><span id="__span-0-14"><a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a><span class="p">)</span>
3072</span><span id="__span-0-15"><a id="__codelineno-0-15" name="__codelineno-0-15" href="#__codelineno-0-15"></a>
3073</span><span id="__span-0-16"><a id="__codelineno-0-16" name="__codelineno-0-16" href="#__codelineno-0-16"></a><span class="n">text_results</span> <span class="o">=</span> <span class="n">collection</span><span class="o">.</span><span class="n">query</span><span class="p">(</span>
3074</span><span id="__span-0-17"><a id="__codelineno-0-17" name="__codelineno-0-17" href="#__codelineno-0-17"></a>    <span class="n">query_texts</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;a photo of a dog&quot;</span><span class="p">],</span>
3075</span><span id="__span-0-18"><a id="__codelineno-0-18" name="__codelineno-0-18" href="#__codelineno-0-18"></a>    <span class="n">n_results</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span>
3076</span><span id="__span-0-19"><a id="__codelineno-0-19" name="__codelineno-0-19" href="#__codelineno-0-19"></a>    <span class="n">include</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;uris&quot;</span><span class="p">,</span> <span class="s2">&quot;metadatas&quot;</span><span class="p">,</span> <span class="s2">&quot;distances&quot;</span><span class="p">],</span>
3077</span><span id="__span-0-20"><a id="__codelineno-0-20" name="__codelineno-0-20" href="#__codelineno-0-20"></a><span class="p">)</span>
3078</span><span id="__span-0-21"><a id="__codelineno-0-21" name="__codelineno-0-21" href="#__codelineno-0-21"></a>
3079</span><span id="__span-0-22"><a id="__codelineno-0-22" name="__codelineno-0-22" href="#__codelineno-0-22"></a><span class="n">image_results</span> <span class="o">=</span> <span class="n">collection</span><span class="o">.</span><span class="n">query</span><span class="p">(</span>
3080</span><span id="__span-0-23"><a id="__codelineno-0-23" name="__codelineno-0-23" href="#__codelineno-0-23"></a>    <span class="n">query_uris</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;/path/to/dog.jpg&quot;</span><span class="p">],</span>
3081</span><span id="__span-0-24"><a id="__codelineno-0-24" name="__codelineno-0-24" href="#__codelineno-0-24"></a>    <span class="n">n_results</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span>
3082</span><span id="__span-0-25"><a id="__codelineno-0-25" name="__codelineno-0-25" href="#__codelineno-0-25"></a>    <span class="n">include</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;uris&quot;</span><span class="p">,</span> <span class="s2">&quot;metadatas&quot;</span><span class="p">,</span> <span class="s2">&quot;distances&quot;</span><span class="p">],</span>
3083</span><span id="__span-0-26"><a id="__codelineno-0-26" name="__codelineno-0-26" href="#__codelineno-0-26"></a><span class="p">)</span>
3084</span></code></pre></div>
3085<h2 id="end-to-end-python-walkthrough">End-to-End Python Walkthrough<a class="headerlink" href="#end-to-end-python-walkthrough" title="Permanent link">&para;</a></h2>
3086<p>The runnable example uses:</p>
3087<ul>
3088<li>local persistence (<code>PersistentClient</code>)</li>
3089<li>bundled sample images (<code>cat</code>, <code>dog</code>, <code>dog-with-person</code>)</li>
3090<li>OpenCLIP embeddings generated by Chroma</li>
3091</ul>
3092<p>Run:</p>
3093<div class="language-bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="nb">cd</span><span class="w"> </span>examples/image-search/python
3094</span><span id="__span-1-2"><a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a>python3<span class="w"> </span>-m<span class="w"> </span>venv<span class="w"> </span>.venv
3095</span><span id="__span-1-3"><a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="nb">source</span><span class="w"> </span>.venv/bin/activate
3096</span><span id="__span-1-4"><a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a>pip<span class="w"> </span>install<span class="w"> </span>-r<span class="w"> </span>requirements.txt
3097</span><span id="__span-1-5"><a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a>python<span class="w"> </span>image_search.py
3098</span></code></pre></div>
3099<p>Expected output includes:</p>
3100<ul>
3101<li>ranked text-to-image results for <code>"a photo of a dog"</code></li>
3102<li>ranked text-to-image results for <code>"a photo of a cat"</code></li>
3103<li>ranked image-to-image results using <code>dog-with-person.jpg</code> as query</li>
3104</ul>
3105<h2 id="operational-notes">Operational Notes<a class="headerlink" href="#operational-notes" title="Permanent link">&para;</a></h2>
3106<ul>
3107<li>First run downloads model weights; startup is slower initially.</li>
3108<li>CPU-only execution works but is slower than GPU.</li>
3109<li>Keep image files accessible on disk if you store local URIs.</li>
3110<li>Use metadata (<code>where</code>) to scope search in multi-tenant or multi-source pipelines.</li>
3111<li>Example data is written under <code>examples/image-search/python/chroma_data/image_search_example</code>.</li>
3112</ul>
3113<h2 id="core-references">Core References<a class="headerlink" href="#core-references" title="Permanent link">&para;</a></h2>
3114<ul>
3115<li><a href="../../core/collections/">Collections API (<code>add</code>, <code>query</code>, result shapes)</a></li>
3116<li><a href="../../embeddings/embedding-models/">Embedding Models (overview of supported models)</a></li>
3117<li><a href="../../embeddings/gpu-support/">Embedding Functions GPU Support (OpenCLIP)</a></li>
3118</ul>
3119<h2 id="full-runnable-example">Full Runnable Example<a class="headerlink" href="#full-runnable-example" title="Permanent link">&para;</a></h2>
3120<ul>
3121<li><a href="https://github.com/amikos-tech/chroma-cookbook/tree/main/examples/image-search">Overview and run commands</a></li>
3122<li><a href="https://github.com/amikos-tech/chroma-cookbook/blob/main/examples/image-search/python/image_search.py">Python</a></li>
3123<li><a href="https://github.com/amikos-tech/chroma-cookbook/blob/main/examples/image-search/python/requirements.txt">Requirements</a></li>
3124</ul>
3125
3126
3127
3128
3129
3130
3131
3132  
3133    
3134  
3135  
3136
3137
3138  <aside class="md-source-file">
3139    
3140      
3141  <span class="md-source-file__fact">
3142    <span class="md-icon" title="Last update">
3143      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg>
3144    </span>
3145    <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="February 27, 2026 06:10:59 UTC">February 27, 2026</span>
3146  </span>
3147
3148    
3149    
3150    
3151    
3152  </aside>
3153
3154
3155  
3156
3157
3158
3159
3160                
3161              </article>
3162            </div>
3163          
3164          
3165<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
3165
3166        </div>
3167        
3168      </main>
3169      
3170        <footer class="md-footer">
3171  
3172  <div class="md-footer-meta md-typeset">
3173    <div class="md-footer-meta__inner md-grid">
3174      <div class="md-copyright">
3175  
3176    <div class="md-copyright__highlight">
3177      Amikos Tech LTD, 2025 (Chroma contributors)
3178    </div>
3179  
3180  
3181    Made with
3182    <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
3183      Material for MkDocs
3184    </a>
3185  
3186</div>
3187      
3188        
3189<div class="md-social">
3190  
3191    
3192    
3193    
3194    
3195    <a href="https://twitter.com/AmikosTech" target="_blank" rel="noopener" title="Amikos on Twitter" class="md-social__link">
3196      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg>
3197    </a>
3198  
3199    
3200    
3201    
3202    
3203    <a href="https://github.com/amikos-tech" target="_blank" rel="noopener" title="Amikos on GitHub" class="md-social__link">
3204      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
3205    </a>
3206  
3207    
3208    
3209    
3210    
3211    <a href="https://medium.com/@amikostech" target="_blank" rel="noopener" title="Amikos on Medium" class="md-social__link">
3212      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M369.4 32c43.4 0 78.6 35.2 78.6 78.6v83.8c-1.9-.1-3.8-.2-5.7-.2h-.4c-10 0-22.3 2.4-31.1 6.8-10 4.6-18.7 11.5-26 20.6-11.8 14.6-18.9 34.3-20.6 56.4-.1.7-.1 1.3-.2 2s-.1 1.2-.1 1.9c-.1 1.2-.1 2.4-.1 3.6 0 1.9-.1 3.8 0 5.8 1.2 50.1 28.2 90.2 76.3 90.2 2.7 0 5.3-.1 7.9-.4v20.4c0 43.4-35.2 78.6-78.6 78.6L78.6 480C35.2 480 0 444.8 0 401.4V110.6C0 67.2 35.2 32 78.6 32zM82.3 138.9l.3.1c13.2 3 19.8 7.4 19.8 23.4v187.2c0 16-6.7 20.4-19.9 23.4l-.3.1v2.8H135v-2.8l-.3-.1c-13.2-3-19.9-7.4-19.9-23.4V173.3l86.1 202.5h4.9l88.6-208.2v186.6c-1.1 12.6-7.8 16.5-19.7 19.2l-.3.1v2.7h91.9v-2.7l-.3-.1c-11.9-2.7-18.7-6.6-19.9-19.2l-.1-191.8h.1c0-16 6.7-20.4 19.9-23.4l.3-.1v-2.7h-72.2l-67 157.4-67-157.4H82.3zM448 340.3c-25.1-7.4-43-35.1-41.2-67.8h41.1v67.8zm-6.4-135.6c2.3 0 4.4.3 6.4.9V263h-40.2c1.5-33.6 13.6-57.9 33.8-58.3"/></svg>
3213    </a>
3214  
3215</div>
3216      
3217    </div>
3218  </div>
3219</footer>
3220      
3221    </div>
3222    <div class="md-dialog" data-md-component="dialog">
3223      <div class="md-dialog__inner md-typeset"></div>
3224    </div>
3225    
3226      <div class="md-progress" data-md-component="progress" role="progressbar"></div>
3227    
3228    
3229      <div class="md-consent" data-md-component="consent" id="__consent" hidden>
3230        <div class="md-consent__overlay"></div>
3231        <aside class="md-consent__inner">
3232          <form class="md-consent__form md-grid md-typeset" name="consent">
3233            
3234
3235
3236  
3237
3238
3239<h4>
3239Cookie consent</h4>
3240<p>We use cookies for analytics purposes. By continuing to use this website, you agree to their use.</p>
3241<input class="md-toggle" type="checkbox" id="__settings" >
3242<div class="md-consent__settings">
3243  <ul class="task-list">
3244    
3245    
3246      
3247        
3248  
3249  
3250    
3251    
3252  
3253  <li class="task-list-item">
3254    <label class="task-list-control">
3255      <input type="checkbox" name="analytics" checked>
3256      <span class="task-list-indicator"></span>
3257      Google Analytics
3258    </label>
3259  </li>
3260
3261      
3262    
3263    
3264      
3265        
3266  
3267  
3268    
3269    
3270  
3271  <li class="task-list-item">
3272    <label class="task-list-control">
3273      <input type="checkbox" name="github" checked>
3274      <span class="task-list-indicator"></span>
3275      GitHub
3276    </label>
3277  </li>
3278
3279      
3280    
3281    
3282  </ul>
3283</div>
3284<div class="md-consent__controls">
3285  
3286    
3287      <button class="md-button md-button--primary">Accept</button>
3288    
3289    
3290    
3291  
3292    
3293    
3294    
3295      <label class="md-button" for="__settings">Manage settings</label>
3296    
3297  
3298</div>
3299          </form>
3300        </aside>
3301      </div>
3302      
3302<script>var consent=__md_get("__consent");if(consent)for(var input of document.forms.consent.elements)input.name&&(input.checked=consent[input.name]||!1);else"file:"!==location.protocol&&setTimeout((function(){document.querySelector("[data-md-component=consent]").hidden=!1}),250);var form=document.forms.consent;for(var action of["submit","reset"])form.addEventListener(action,(function(e){if(e.preventDefault(),"reset"===e.type)for(var n of document.forms.consent.elements)n.name&&(n.checked=!1);__md_set("__consent",Object.fromEntries(Array.from(new FormData(form).keys()).map((function(e){return[e,!0]})))),location.hash="",location.reload()}))</script>
3302
3303    
3304    
3305      
3306      
3307      
3307<script id="__config" type="application/json">{"annotate": null, "base": "../..", "features": ["content.code.annotate", "content.code.copy", "navigation.instant", "navigation.instant.progress", "navigation.tracking", "navigation.indexes"], "search": "../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
3307
3308    
3309    
3310      
3310<script src="../../assets/javascripts/bundle.79ae519e.min.js"></script>
3310
3311      
3312        
3312<script src="../../javascripts/gtag.js"></script>
3312
3313      
3314        
3314<script src="../../javascripts/ethicalads-init.js"></script>
3314
3315      
3316        
3316<script src="../../javascripts/concepts-pipeline.js"></script>
3316
3317      
3318        
3318<script src="../../javascripts/resource-calculator.js"></script>
3318
3319      
3320        
3320<script src="../../javascripts/filter-builder.js"></script>
3320
3321      
3322    
3323  
3323<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"85534761cb4b49c3b57b9df7ac94f2f4","r":1,"spa":2}' crossorigin="anonymous"></script>
3323
3324</body>
3325</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.