vectra-client 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +140 -334
- data/docs/Gemfile +10 -0
- data/docs/_config.yml +20 -0
- data/docs/_layouts/default.html +14 -0
- data/docs/_layouts/home.html +33 -0
- data/docs/_layouts/page.html +20 -0
- data/docs/_site/api/overview/index.html +145 -0
- data/docs/_site/assets/main.css +649 -0
- data/docs/_site/assets/main.css.map +1 -0
- data/docs/_site/assets/minima-social-icons.svg +33 -0
- data/docs/_site/assets/style.css +295 -0
- data/docs/_site/community/contributing/index.html +110 -0
- data/docs/_site/examples/basic-usage/index.html +117 -0
- data/docs/_site/examples/index.html +58 -0
- data/docs/_site/feed.xml +1 -0
- data/docs/_site/guides/getting-started/index.html +106 -0
- data/docs/_site/guides/installation/index.html +82 -0
- data/docs/_site/index.html +92 -0
- data/docs/_site/providers/index.html +119 -0
- data/docs/_site/providers/pgvector/index.html +155 -0
- data/docs/_site/providers/pinecone/index.html +121 -0
- data/docs/_site/providers/qdrant/index.html +124 -0
- data/docs/_site/providers/weaviate/index.html +123 -0
- data/docs/_site/robots.txt +1 -0
- data/docs/_site/sitemap.xml +39 -0
- data/docs/api/overview.md +126 -0
- data/docs/assets/style.css +295 -0
- data/docs/community/contributing.md +89 -0
- data/docs/examples/basic-usage.md +102 -0
- data/docs/examples/index.md +32 -0
- data/docs/guides/getting-started.md +90 -0
- data/docs/guides/installation.md +67 -0
- data/docs/index.md +53 -0
- data/docs/providers/index.md +62 -0
- data/docs/providers/pgvector.md +95 -0
- data/docs/providers/pinecone.md +72 -0
- data/docs/providers/qdrant.md +73 -0
- data/docs/providers/weaviate.md +72 -0
- data/lib/vectra/version.rb +1 -1
- data/netlify.toml +12 -0
- metadata +39 -5
- data/IMPLEMENTATION_GUIDE.md +0 -686
- data/NEW_FEATURES_v0.2.0.md +0 -459
- data/RELEASE_CHECKLIST_v0.2.0.md +0 -383
- data/USAGE_EXAMPLES.md +0 -787
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
2
|
+
|
|
3
|
+
<symbol id="dribbble" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 16c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm6.747-6.905c-.234-.074-2.115-.635-4.257-.292.894 2.456 1.258 4.456 1.328 4.872 1.533-1.037 2.624-2.68 2.93-4.58zM10.67 14.3c-.102-.6-.5-2.688-1.46-5.18l-.044.014C5.312 10.477 3.93 13.15 3.806 13.4c1.158.905 2.614 1.444 4.194 1.444.947 0 1.85-.194 2.67-.543zm-7.747-1.72c.155-.266 2.03-3.37 5.555-4.51.09-.03.18-.056.27-.08-.173-.39-.36-.778-.555-1.16-3.413 1.02-6.723.977-7.023.97l-.003.208c0 1.755.665 3.358 1.756 4.57zM1.31 6.61c.307.005 3.122.017 6.318-.832-1.132-2.012-2.353-3.705-2.533-3.952-1.912.902-3.34 2.664-3.784 4.785zM6.4 1.368c.188.253 1.43 1.943 2.548 4 2.43-.91 3.46-2.293 3.582-2.468C11.323 1.827 9.736 1.176 8 1.176c-.55 0-1.087.066-1.6.19zm6.89 2.322c-.145.194-1.29 1.662-3.816 2.694.16.325.31.656.453.99.05.117.1.235.147.352 2.274-.286 4.533.172 4.758.22-.015-1.613-.59-3.094-1.543-4.257z"/></symbol>
|
|
4
|
+
|
|
5
|
+
<symbol id="facebook" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M15.117 0H.883C.395 0 0 .395 0 .883v14.234c0 .488.395.883.883.883h7.663V9.804H6.46V7.39h2.086V5.607c0-2.066 1.262-3.19 3.106-3.19.883 0 1.642.064 1.863.094v2.16h-1.28c-1 0-1.195.48-1.195 1.18v1.54h2.39l-.31 2.42h-2.08V16h4.077c.488 0 .883-.395.883-.883V.883C16 .395 15.605 0 15.117 0" fill-rule="nonzero"/></symbol>
|
|
6
|
+
|
|
7
|
+
<symbol id="flickr" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M0 8c0 2.05 1.662 3.71 3.71 3.71 2.05 0 3.713-1.66 3.713-3.71S5.76 4.29 3.71 4.29C1.663 4.29 0 5.95 0 8zm8.577 0c0 2.05 1.662 3.71 3.712 3.71C14.33 11.71 16 10.05 16 8s-1.662-3.71-3.71-3.71c-2.05 0-3.713 1.66-3.713 3.71z"/></symbol>
|
|
8
|
+
|
|
9
|
+
<symbol id="github" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C3.58 0 0 3.582 0 8c0 3.535 2.292 6.533 5.47 7.59.4.075.547-.172.547-.385 0-.19-.007-.693-.01-1.36-2.226.483-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.725-.496.056-.486.056-.486.803.056 1.225.824 1.225.824.714 1.223 1.873.87 2.33.665.072-.517.278-.87.507-1.07-1.777-.2-3.644-.888-3.644-3.953 0-.873.31-1.587.823-2.147-.09-.202-.36-1.015.07-2.117 0 0 .67-.215 2.2.82.64-.178 1.32-.266 2-.27.68.004 1.36.092 2 .27 1.52-1.035 2.19-.82 2.19-.82.43 1.102.16 1.915.08 2.117.51.56.82 1.274.82 2.147 0 3.073-1.87 3.75-3.65 3.947.28.24.54.73.54 1.48 0 1.07-.01 1.93-.01 2.19 0 .21.14.46.55.38C13.71 14.53 16 11.53 16 8c0-4.418-3.582-8-8-8"/></symbol>
|
|
10
|
+
|
|
11
|
+
<symbol id="googleplus" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M5.09 7.273v1.745h2.89c-.116.75-.873 2.197-2.887 2.197-1.737 0-3.155-1.44-3.155-3.215S3.353 4.785 5.09 4.785c.99 0 1.652.422 2.03.786l1.382-1.33c-.887-.83-2.037-1.33-3.41-1.33C2.275 2.91 0 5.19 0 8s2.276 5.09 5.09 5.09c2.94 0 4.888-2.065 4.888-4.974 0-.334-.036-.59-.08-.843H5.09zm10.91 0h-1.455V5.818H13.09v1.455h-1.454v1.454h1.455v1.455h1.46V8.727H16"/></symbol>
|
|
12
|
+
|
|
13
|
+
<symbol id="instagram" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C5.827 0 5.555.01 4.702.048 3.85.088 3.27.222 2.76.42c-.526.204-.973.478-1.417.923-.445.444-.72.89-.923 1.417-.198.51-.333 1.09-.372 1.942C.008 5.555 0 5.827 0 8s.01 2.445.048 3.298c.04.852.174 1.433.372 1.942.204.526.478.973.923 1.417.444.445.89.72 1.417.923.51.198 1.09.333 1.942.372.853.04 1.125.048 3.298.048s2.445-.01 3.298-.048c.852-.04 1.433-.174 1.942-.372.526-.204.973-.478 1.417-.923.445-.444.72-.89.923-1.417.198-.51.333-1.09.372-1.942.04-.853.048-1.125.048-3.298s-.01-2.445-.048-3.298c-.04-.852-.174-1.433-.372-1.942-.204-.526-.478-.973-.923-1.417-.444-.445-.89-.72-1.417-.923-.51-.198-1.09-.333-1.942-.372C10.445.008 10.173 0 8 0zm0 1.44c2.136 0 2.39.01 3.233.048.78.036 1.203.166 1.485.276.374.145.64.318.92.598.28.28.453.546.598.92.11.282.24.705.276 1.485.038.844.047 1.097.047 3.233s-.01 2.39-.05 3.233c-.04.78-.17 1.203-.28 1.485-.15.374-.32.64-.6.92-.28.28-.55.453-.92.598-.28.11-.71.24-1.49.276-.85.038-1.1.047-3.24.047s-2.39-.01-3.24-.05c-.78-.04-1.21-.17-1.49-.28-.38-.15-.64-.32-.92-.6-.28-.28-.46-.55-.6-.92-.11-.28-.24-.71-.28-1.49-.03-.84-.04-1.1-.04-3.23s.01-2.39.04-3.24c.04-.78.17-1.21.28-1.49.14-.38.32-.64.6-.92.28-.28.54-.46.92-.6.28-.11.7-.24 1.48-.28.85-.03 1.1-.04 3.24-.04zm0 2.452c-2.27 0-4.108 1.84-4.108 4.108 0 2.27 1.84 4.108 4.108 4.108 2.27 0 4.108-1.84 4.108-4.108 0-2.27-1.84-4.108-4.108-4.108zm0 6.775c-1.473 0-2.667-1.194-2.667-2.667 0-1.473 1.194-2.667 2.667-2.667 1.473 0 2.667 1.194 2.667 2.667 0 1.473-1.194 2.667-2.667 2.667zm5.23-6.937c0 .53-.43.96-.96.96s-.96-.43-.96-.96.43-.96.96-.96.96.43.96.96z"/></symbol>
|
|
14
|
+
|
|
15
|
+
<symbol id="linkedin" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M13.632 13.635h-2.37V9.922c0-.886-.018-2.025-1.234-2.025-1.235 0-1.424.964-1.424 1.96v3.778h-2.37V6H8.51v1.04h.03c.318-.6 1.092-1.233 2.247-1.233 2.4 0 2.845 1.58 2.845 3.637v4.188zM3.558 4.955c-.762 0-1.376-.617-1.376-1.377 0-.758.614-1.375 1.376-1.375.76 0 1.376.617 1.376 1.375 0 .76-.617 1.377-1.376 1.377zm1.188 8.68H2.37V6h2.376v7.635zM14.816 0H1.18C.528 0 0 .516 0 1.153v13.694C0 15.484.528 16 1.18 16h13.635c.652 0 1.185-.516 1.185-1.153V1.153C16 .516 15.467 0 14.815 0z" fill-rule="nonzero"/></symbol>
|
|
16
|
+
|
|
17
|
+
<symbol id="pinterest" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C3.582 0 0 3.582 0 8c0 3.39 2.108 6.285 5.084 7.45-.07-.633-.133-1.604.028-2.295.146-.625.938-3.977.938-3.977s-.24-.48-.24-1.188c0-1.11.646-1.943 1.448-1.943.683 0 1.012.513 1.012 1.127 0 .687-.436 1.713-.662 2.664-.19.797.4 1.445 1.185 1.445 1.42 0 2.514-1.498 2.514-3.662 0-1.91-1.376-3.25-3.342-3.25-2.276 0-3.61 1.71-3.61 3.47 0 .69.263 1.43.593 1.83.066.08.075.15.057.23-.06.25-.196.8-.223.91-.035.15-.115.18-.268.11C3.516 10.46 2.89 9 2.89 7.82c0-2.52 1.834-4.84 5.287-4.84 2.774 0 4.932 1.98 4.932 4.62 0 2.76-1.74 4.98-4.16 4.98-.81 0-1.57-.42-1.84-.92l-.5 1.9c-.18.698-.67 1.57-1 2.1.75.23 1.54.357 2.37.357 4.41 0 8-3.58 8-8s-3.59-8-8-8z" fill-rule="nonzero"/></symbol>
|
|
18
|
+
|
|
19
|
+
<symbol id="rss" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M12.8 16C12.8 8.978 7.022 3.2 0 3.2V0c8.777 0 16 7.223 16 16h-3.2zM2.194 11.61c1.21 0 2.195.985 2.195 2.196 0 1.21-.99 2.194-2.2 2.194C.98 16 0 15.017 0 13.806c0-1.21.983-2.195 2.194-2.195zM10.606 16h-3.11c0-4.113-3.383-7.497-7.496-7.497v-3.11c5.818 0 10.606 4.79 10.606 10.607z"/></symbol>
|
|
20
|
+
|
|
21
|
+
<symbol id="stackoverflow" class="svg-icon" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M12.658 14.577v-4.27h1.423V16H1.23v-5.693h1.42v4.27h10.006zm-8.583-1.423h7.16V11.73h-7.16v1.424zm.173-3.235l6.987 1.46.3-1.38L4.55 8.54l-.302 1.38zm.906-3.37l6.47 3.02.602-1.3-6.47-3.02-.602 1.29zm1.81-3.19l5.478 4.57.906-1.08L7.87 2.28l-.9 1.078zM10.502 0L9.338.863l4.27 5.735 1.164-.862L10.5 0z"/></symbol>
|
|
22
|
+
|
|
23
|
+
<symbol id="twitter" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M16 3.038c-.59.26-1.22.437-1.885.517.677-.407 1.198-1.05 1.443-1.816-.634.37-1.337.64-2.085.79-.598-.64-1.45-1.04-2.396-1.04-1.812 0-3.282 1.47-3.282 3.28 0 .26.03.51.085.75-2.728-.13-5.147-1.44-6.766-3.42C.83 2.58.67 3.14.67 3.75c0 1.14.58 2.143 1.46 2.732-.538-.017-1.045-.165-1.487-.41v.04c0 1.59 1.13 2.918 2.633 3.22-.276.074-.566.114-.865.114-.21 0-.41-.02-.61-.058.42 1.304 1.63 2.253 3.07 2.28-1.12.88-2.54 1.404-4.07 1.404-.26 0-.52-.015-.78-.045 1.46.93 3.18 1.474 5.04 1.474 6.04 0 9.34-5 9.34-9.33 0-.14 0-.28-.01-.42.64-.46 1.2-1.04 1.64-1.7z" fill-rule="nonzero"/></symbol>
|
|
24
|
+
|
|
25
|
+
<symbol id="youtube" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M0 7.345c0-1.294.16-2.59.16-2.59s.156-1.1.636-1.587c.608-.637 1.408-.617 1.764-.684C3.84 2.36 8 2.324 8 2.324s3.362.004 5.6.166c.314.038.996.04 1.604.678.48.486.636 1.588.636 1.588S16 6.05 16 7.346v1.258c0 1.296-.16 2.59-.16 2.59s-.156 1.102-.636 1.588c-.608.638-1.29.64-1.604.678-2.238.162-5.6.166-5.6.166s-4.16-.037-5.44-.16c-.356-.067-1.156-.047-1.764-.684-.48-.487-.636-1.587-.636-1.587S0 9.9 0 8.605v-1.26zm6.348 2.73V5.58l4.323 2.255-4.32 2.24z"/></symbol>
|
|
26
|
+
|
|
27
|
+
<symbol id="mastodon" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414">
|
|
28
|
+
<path transform="scale(0.07)" d="M211.80734 139.0875c-3.18125 16.36625-28.4925 34.2775-57.5625 37.74875-15.15875 1.80875-30.08375 3.47125-45.99875 2.74125-26.0275-1.1925-46.565-6.2125-46.565-6.2125 0 2.53375.15625 4.94625.46875 7.2025 3.38375 25.68625 25.47 27.225 46.39125 27.9425 21.11625.7225 39.91875-5.20625 39.91875-5.20625l.8675 19.09s-14.77 7.93125-41.08125 9.39c-14.50875.7975-32.52375-.365-53.50625-5.91875C9.23234 213.82 1.40609 165.31125.20859 116.09125c-.365-14.61375-.14-28.39375-.14-39.91875 0-50.33 32.97625-65.0825 32.97625-65.0825C49.67234 3.45375 78.20359.2425 107.86484 0h.72875c29.66125.2425 58.21125 3.45375 74.8375 11.09 0 0 32.975 14.7525 32.975 65.0825 0 0 .41375 37.13375-4.59875 62.915"/>
|
|
29
|
+
<path transform="scale(0.07)" fill="#FFF" d="M177.50984 80.077v60.94125h-24.14375v-59.15c0-12.46875-5.24625-18.7975-15.74-18.7975-11.6025 0-17.4175 7.5075-17.4175 22.3525v32.37625H96.20734V85.42325c0-14.845-5.81625-22.3525-17.41875-22.3525-10.49375 0-15.74 6.32875-15.74 18.7975v59.15H38.90484V80.077c0-12.455 3.17125-22.3525 9.54125-29.675 6.56875-7.3225 15.17125-11.07625 25.85-11.07625 12.355 0 21.71125 4.74875 27.8975 14.2475l6.01375 10.08125 6.015-10.08125c6.185-9.49875 15.54125-14.2475 27.8975-14.2475 10.6775 0 19.28 3.75375 25.85 11.07625 6.36875 7.3225 9.54 17.22 9.54 29.675"/>
|
|
30
|
+
</symbol>
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
</svg>
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
/* Main Styles */
|
|
2
|
+
:root {
|
|
3
|
+
--primary-color: #2d3748;
|
|
4
|
+
--accent-color: #4299e1;
|
|
5
|
+
--accent-dark: #2b6cb0;
|
|
6
|
+
--bg-color: #f7fafc;
|
|
7
|
+
--text-color: #2d3748;
|
|
8
|
+
--border-color: #e2e8f0;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
* {
|
|
12
|
+
margin: 0;
|
|
13
|
+
padding: 0;
|
|
14
|
+
box-sizing: border-box;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
body {
|
|
18
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
|
|
19
|
+
font-size: 16px;
|
|
20
|
+
line-height: 1.6;
|
|
21
|
+
color: var(--text-color);
|
|
22
|
+
background: white;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* Header & Navigation */
|
|
26
|
+
.site-header {
|
|
27
|
+
background: white;
|
|
28
|
+
border-bottom: 1px solid var(--border-color);
|
|
29
|
+
position: sticky;
|
|
30
|
+
top: 0;
|
|
31
|
+
z-index: 100;
|
|
32
|
+
box-shadow: 0 1px 3px rgba(0,0,0,0.05);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.site-nav {
|
|
36
|
+
max-width: 1200px;
|
|
37
|
+
margin: 0 auto;
|
|
38
|
+
padding: 0 20px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.nav-container {
|
|
42
|
+
display: flex;
|
|
43
|
+
align-items: center;
|
|
44
|
+
justify-content: space-between;
|
|
45
|
+
padding: 1rem 0;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.nav-brand {
|
|
49
|
+
font-size: 24px;
|
|
50
|
+
font-weight: 700;
|
|
51
|
+
color: var(--primary-color);
|
|
52
|
+
text-decoration: none;
|
|
53
|
+
letter-spacing: -0.5px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.nav-menu {
|
|
57
|
+
display: flex;
|
|
58
|
+
list-style: none;
|
|
59
|
+
gap: 2rem;
|
|
60
|
+
align-items: center;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.nav-link {
|
|
64
|
+
color: var(--text-color);
|
|
65
|
+
text-decoration: none;
|
|
66
|
+
font-weight: 500;
|
|
67
|
+
transition: color 0.3s ease;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.nav-link:hover {
|
|
71
|
+
color: var(--accent-color);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/* Main Content */
|
|
75
|
+
.site-main {
|
|
76
|
+
max-width: 900px;
|
|
77
|
+
margin: 0 auto;
|
|
78
|
+
padding: 3rem 20px;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.home-main {
|
|
82
|
+
padding: 4rem 20px;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
h1 {
|
|
86
|
+
font-size: 2.5rem;
|
|
87
|
+
margin: 2rem 0 1rem;
|
|
88
|
+
color: var(--primary-color);
|
|
89
|
+
line-height: 1.2;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
h2 {
|
|
93
|
+
font-size: 1.8rem;
|
|
94
|
+
margin: 2rem 0 1rem;
|
|
95
|
+
color: var(--primary-color);
|
|
96
|
+
border-bottom: 2px solid var(--accent-color);
|
|
97
|
+
padding-bottom: 0.5rem;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
h3 {
|
|
101
|
+
font-size: 1.3rem;
|
|
102
|
+
margin: 1.5rem 0 0.5rem;
|
|
103
|
+
color: var(--primary-color);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
p {
|
|
107
|
+
margin: 1rem 0;
|
|
108
|
+
line-height: 1.8;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
a {
|
|
112
|
+
color: var(--accent-color);
|
|
113
|
+
text-decoration: none;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
a:hover {
|
|
117
|
+
text-decoration: underline;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/* Code Blocks */
|
|
121
|
+
code {
|
|
122
|
+
background: var(--bg-color);
|
|
123
|
+
padding: 2px 6px;
|
|
124
|
+
border-radius: 3px;
|
|
125
|
+
font-family: 'Courier New', Courier, monospace;
|
|
126
|
+
font-size: 0.9em;
|
|
127
|
+
color: #d73a49;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
pre {
|
|
131
|
+
background: #282c34;
|
|
132
|
+
color: #abb2bf;
|
|
133
|
+
padding: 1.5rem;
|
|
134
|
+
border-radius: 6px;
|
|
135
|
+
overflow-x: auto;
|
|
136
|
+
margin: 1.5rem 0;
|
|
137
|
+
font-size: 0.9rem;
|
|
138
|
+
line-height: 1.5;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
pre code {
|
|
142
|
+
background: none;
|
|
143
|
+
color: inherit;
|
|
144
|
+
padding: 0;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/* Features Grid */
|
|
148
|
+
.features {
|
|
149
|
+
display: grid;
|
|
150
|
+
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
|
151
|
+
gap: 2rem;
|
|
152
|
+
margin: 3rem 0;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.feature-card {
|
|
156
|
+
padding: 2rem;
|
|
157
|
+
background: var(--bg-color);
|
|
158
|
+
border-radius: 6px;
|
|
159
|
+
border-left: 4px solid var(--accent-color);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.feature-card h3 {
|
|
163
|
+
margin-top: 0;
|
|
164
|
+
color: var(--accent-color);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/* Quick Links */
|
|
168
|
+
.quick-links {
|
|
169
|
+
display: grid;
|
|
170
|
+
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
171
|
+
gap: 1rem;
|
|
172
|
+
margin: 2rem 0;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.quick-link {
|
|
176
|
+
padding: 1rem;
|
|
177
|
+
background: var(--bg-color);
|
|
178
|
+
border-radius: 4px;
|
|
179
|
+
text-align: center;
|
|
180
|
+
border: 1px solid var(--border-color);
|
|
181
|
+
transition: all 0.3s ease;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.quick-link:hover {
|
|
185
|
+
border-color: var(--accent-color);
|
|
186
|
+
box-shadow: 0 2px 8px rgba(66, 153, 225, 0.1);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.quick-link a {
|
|
190
|
+
display: block;
|
|
191
|
+
font-weight: 600;
|
|
192
|
+
color: var(--accent-color);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/* Tables */
|
|
196
|
+
table {
|
|
197
|
+
width: 100%;
|
|
198
|
+
border-collapse: collapse;
|
|
199
|
+
margin: 1.5rem 0;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
thead {
|
|
203
|
+
background: var(--bg-color);
|
|
204
|
+
border-bottom: 2px solid var(--border-color);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
th, td {
|
|
208
|
+
padding: 0.75rem;
|
|
209
|
+
text-align: left;
|
|
210
|
+
border-bottom: 1px solid var(--border-color);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
th {
|
|
214
|
+
font-weight: 600;
|
|
215
|
+
color: var(--primary-color);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/* Lists */
|
|
219
|
+
ul, ol {
|
|
220
|
+
margin: 1rem 0 1rem 2rem;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
li {
|
|
224
|
+
margin: 0.5rem 0;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/* Footer */
|
|
228
|
+
.site-footer {
|
|
229
|
+
background: var(--primary-color);
|
|
230
|
+
color: white;
|
|
231
|
+
padding: 3rem 20px;
|
|
232
|
+
margin-top: 4rem;
|
|
233
|
+
border-top: 1px solid var(--border-color);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.footer-content {
|
|
237
|
+
max-width: 1200px;
|
|
238
|
+
margin: 0 auto;
|
|
239
|
+
display: flex;
|
|
240
|
+
justify-content: space-between;
|
|
241
|
+
align-items: center;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.footer-links {
|
|
245
|
+
list-style: none;
|
|
246
|
+
display: flex;
|
|
247
|
+
gap: 2rem;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.footer-links a {
|
|
251
|
+
color: #cbd5e0;
|
|
252
|
+
text-decoration: none;
|
|
253
|
+
transition: color 0.3s ease;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.footer-links a:hover {
|
|
257
|
+
color: white;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/* Responsive */
|
|
261
|
+
@media (max-width: 768px) {
|
|
262
|
+
.nav-container {
|
|
263
|
+
flex-direction: column;
|
|
264
|
+
gap: 1rem;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.nav-menu {
|
|
268
|
+
flex-direction: column;
|
|
269
|
+
gap: 0.5rem;
|
|
270
|
+
text-align: center;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
h1 {
|
|
274
|
+
font-size: 2rem;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
h2 {
|
|
278
|
+
font-size: 1.5rem;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
.site-main {
|
|
282
|
+
padding: 2rem 15px;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
.footer-content {
|
|
286
|
+
flex-direction: column;
|
|
287
|
+
gap: 2rem;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
.footer-links {
|
|
291
|
+
flex-direction: column;
|
|
292
|
+
gap: 1rem;
|
|
293
|
+
text-align: center;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
<head>
|
|
2
|
+
<meta charset="utf-8">
|
|
3
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
4
|
+
<title>Contributing - Vectra Documentation</title>
|
|
5
|
+
<link rel="stylesheet" href="/assets/style.css">
|
|
6
|
+
</head>
|
|
7
|
+
|
|
8
|
+
<body>
|
|
9
|
+
<div class="site-header">
|
|
10
|
+
<nav class="site-nav">
|
|
11
|
+
<div class="nav-container">
|
|
12
|
+
<a href="/" class="nav-brand">Vectra</a>
|
|
13
|
+
<ul class="nav-menu">
|
|
14
|
+
<li><a href="/guides/installation" class="nav-link">Guides</a></li>
|
|
15
|
+
<li><a href="/api/overview" class="nav-link">API</a></li>
|
|
16
|
+
<li><a href="/providers" class="nav-link">Providers</a></li>
|
|
17
|
+
<li><a href="/examples" class="nav-link">Examples</a></li>
|
|
18
|
+
<li><a href="https://github.com/stokry/vectra" target="_blank" class="nav-link">GitHub</a></li>
|
|
19
|
+
</ul>
|
|
20
|
+
</div>
|
|
21
|
+
</nav>
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
<h1 id="contributing-to-vectra">Contributing to Vectra</h1>
|
|
25
|
+
|
|
26
|
+
<p>We welcome contributions! Here’s how to get started.</p>
|
|
27
|
+
|
|
28
|
+
<h2 id="development-setup">Development Setup</h2>
|
|
29
|
+
|
|
30
|
+
<ol>
|
|
31
|
+
<li>Clone the repository:
|
|
32
|
+
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/stokry/vectra.git
|
|
33
|
+
<span class="nb">cd </span>vectra
|
|
34
|
+
</code></pre></div> </div>
|
|
35
|
+
</li>
|
|
36
|
+
<li>Install dependencies:
|
|
37
|
+
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>bundle <span class="nb">install</span>
|
|
38
|
+
</code></pre></div> </div>
|
|
39
|
+
</li>
|
|
40
|
+
<li>Run tests:
|
|
41
|
+
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>bundle <span class="nb">exec </span>rspec
|
|
42
|
+
</code></pre></div> </div>
|
|
43
|
+
</li>
|
|
44
|
+
</ol>
|
|
45
|
+
|
|
46
|
+
<h2 id="making-changes">Making Changes</h2>
|
|
47
|
+
|
|
48
|
+
<ol>
|
|
49
|
+
<li>Create a feature branch:
|
|
50
|
+
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git checkout <span class="nt">-b</span> feature/your-feature-name
|
|
51
|
+
</code></pre></div> </div>
|
|
52
|
+
</li>
|
|
53
|
+
<li>Make your changes and write tests</li>
|
|
54
|
+
<li>Run linter:
|
|
55
|
+
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>bundle <span class="nb">exec </span>rubocop
|
|
56
|
+
</code></pre></div> </div>
|
|
57
|
+
</li>
|
|
58
|
+
<li>Commit and push:
|
|
59
|
+
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git add <span class="nb">.</span>
|
|
60
|
+
git commit <span class="nt">-m</span> <span class="s2">"Description of changes"</span>
|
|
61
|
+
git push origin feature/your-feature-name
|
|
62
|
+
</code></pre></div> </div>
|
|
63
|
+
</li>
|
|
64
|
+
<li>Create a Pull Request</li>
|
|
65
|
+
</ol>
|
|
66
|
+
|
|
67
|
+
<h2 id="code-style">Code Style</h2>
|
|
68
|
+
|
|
69
|
+
<p>We use RuboCop for code style. Ensure your code passes:</p>
|
|
70
|
+
|
|
71
|
+
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>bundle <span class="nb">exec </span>rubocop
|
|
72
|
+
</code></pre></div></div>
|
|
73
|
+
|
|
74
|
+
<h2 id="testing">Testing</h2>
|
|
75
|
+
|
|
76
|
+
<p>All changes require tests:</p>
|
|
77
|
+
|
|
78
|
+
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># Run all tests</span>
|
|
79
|
+
bundle <span class="nb">exec </span>rspec
|
|
80
|
+
|
|
81
|
+
<span class="c"># Run specific suite</span>
|
|
82
|
+
bundle <span class="nb">exec </span>rspec spec/vectra
|
|
83
|
+
|
|
84
|
+
<span class="c"># Run with coverage</span>
|
|
85
|
+
bundle <span class="nb">exec </span>rspec <span class="nt">--cov</span>
|
|
86
|
+
</code></pre></div></div>
|
|
87
|
+
|
|
88
|
+
<h2 id="documentation">Documentation</h2>
|
|
89
|
+
|
|
90
|
+
<p>Please update documentation for any changes:</p>
|
|
91
|
+
|
|
92
|
+
<ul>
|
|
93
|
+
<li>Update README.md for user-facing changes</li>
|
|
94
|
+
<li>Update CHANGELOG.md</li>
|
|
95
|
+
<li>Add examples if needed</li>
|
|
96
|
+
</ul>
|
|
97
|
+
|
|
98
|
+
<h2 id="questions">Questions?</h2>
|
|
99
|
+
|
|
100
|
+
<p>Feel free to:</p>
|
|
101
|
+
<ul>
|
|
102
|
+
<li>Open an issue on GitHub</li>
|
|
103
|
+
<li>Check existing issues and discussions</li>
|
|
104
|
+
<li>Read the <a href="https://github.com/stokry/vectra/blob/main/IMPLEMENTATION_GUIDE.md">Implementation Guide</a></li>
|
|
105
|
+
</ul>
|
|
106
|
+
|
|
107
|
+
<p>Thank you for contributing! 🙌</p>
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
</body>
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
<head>
|
|
2
|
+
<meta charset="utf-8">
|
|
3
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
4
|
+
<title>Basic Usage - Vectra Documentation</title>
|
|
5
|
+
<link rel="stylesheet" href="/assets/style.css">
|
|
6
|
+
</head>
|
|
7
|
+
|
|
8
|
+
<body>
|
|
9
|
+
<div class="site-header">
|
|
10
|
+
<nav class="site-nav">
|
|
11
|
+
<div class="nav-container">
|
|
12
|
+
<a href="/" class="nav-brand">Vectra</a>
|
|
13
|
+
<ul class="nav-menu">
|
|
14
|
+
<li><a href="/guides/installation" class="nav-link">Guides</a></li>
|
|
15
|
+
<li><a href="/api/overview" class="nav-link">API</a></li>
|
|
16
|
+
<li><a href="/providers" class="nav-link">Providers</a></li>
|
|
17
|
+
<li><a href="/examples" class="nav-link">Examples</a></li>
|
|
18
|
+
<li><a href="https://github.com/stokry/vectra" target="_blank" class="nav-link">GitHub</a></li>
|
|
19
|
+
</ul>
|
|
20
|
+
</div>
|
|
21
|
+
</nav>
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
<h1 id="basic-usage-examples">Basic Usage Examples</h1>
|
|
25
|
+
|
|
26
|
+
<h2 id="simple-search">Simple Search</h2>
|
|
27
|
+
|
|
28
|
+
<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">require</span> <span class="s1">'vectra'</span>
|
|
29
|
+
|
|
30
|
+
<span class="n">client</span> <span class="o">=</span> <span class="no">Vectra</span><span class="o">::</span><span class="no">Client</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span>
|
|
31
|
+
<span class="ss">provider: :pinecone</span><span class="p">,</span>
|
|
32
|
+
<span class="ss">api_key: </span><span class="no">ENV</span><span class="p">[</span><span class="s1">'PINECONE_API_KEY'</span><span class="p">],</span>
|
|
33
|
+
<span class="ss">environment: </span><span class="s1">'us-west-4'</span>
|
|
34
|
+
<span class="p">)</span>
|
|
35
|
+
|
|
36
|
+
<span class="c1"># Search for similar vectors</span>
|
|
37
|
+
<span class="n">results</span> <span class="o">=</span> <span class="n">client</span><span class="p">.</span><span class="nf">query</span><span class="p">(</span>
|
|
38
|
+
<span class="ss">vector: </span><span class="p">[</span><span class="mf">0.1</span><span class="p">,</span> <span class="mf">0.2</span><span class="p">,</span> <span class="mf">0.3</span><span class="p">],</span>
|
|
39
|
+
<span class="ss">top_k: </span><span class="mi">5</span>
|
|
40
|
+
<span class="p">)</span>
|
|
41
|
+
|
|
42
|
+
<span class="nb">puts</span> <span class="n">results</span><span class="p">.</span><span class="nf">matches</span><span class="p">.</span><span class="nf">count</span>
|
|
43
|
+
</code></pre></div></div>
|
|
44
|
+
|
|
45
|
+
<h2 id="batch-operations">Batch Operations</h2>
|
|
46
|
+
|
|
47
|
+
<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># Upsert multiple vectors at once</span>
|
|
48
|
+
<span class="n">vectors</span> <span class="o">=</span> <span class="p">[</span>
|
|
49
|
+
<span class="p">{</span> <span class="ss">id: </span><span class="s1">'1'</span><span class="p">,</span> <span class="ss">values: </span><span class="p">[</span><span class="mf">0.1</span><span class="p">,</span> <span class="mf">0.2</span><span class="p">,</span> <span class="mf">0.3</span><span class="p">],</span> <span class="ss">metadata: </span><span class="p">{</span> <span class="ss">title: </span><span class="s1">'Doc 1'</span> <span class="p">}</span> <span class="p">},</span>
|
|
50
|
+
<span class="p">{</span> <span class="ss">id: </span><span class="s1">'2'</span><span class="p">,</span> <span class="ss">values: </span><span class="p">[</span><span class="mf">0.2</span><span class="p">,</span> <span class="mf">0.3</span><span class="p">,</span> <span class="mf">0.4</span><span class="p">],</span> <span class="ss">metadata: </span><span class="p">{</span> <span class="ss">title: </span><span class="s1">'Doc 2'</span> <span class="p">}</span> <span class="p">},</span>
|
|
51
|
+
<span class="p">{</span> <span class="ss">id: </span><span class="s1">'3'</span><span class="p">,</span> <span class="ss">values: </span><span class="p">[</span><span class="mf">0.3</span><span class="p">,</span> <span class="mf">0.4</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">],</span> <span class="ss">metadata: </span><span class="p">{</span> <span class="ss">title: </span><span class="s1">'Doc 3'</span> <span class="p">}</span> <span class="p">}</span>
|
|
52
|
+
<span class="p">]</span>
|
|
53
|
+
|
|
54
|
+
<span class="n">client</span><span class="p">.</span><span class="nf">upsert</span><span class="p">(</span><span class="ss">vectors: </span><span class="n">vectors</span><span class="p">)</span>
|
|
55
|
+
|
|
56
|
+
<span class="c1"># Delete multiple vectors</span>
|
|
57
|
+
<span class="n">client</span><span class="p">.</span><span class="nf">delete</span><span class="p">(</span><span class="ss">ids: </span><span class="p">[</span><span class="s1">'1'</span><span class="p">,</span> <span class="s1">'2'</span><span class="p">,</span> <span class="s1">'3'</span><span class="p">])</span>
|
|
58
|
+
</code></pre></div></div>
|
|
59
|
+
|
|
60
|
+
<h2 id="rails-integration">Rails Integration</h2>
|
|
61
|
+
|
|
62
|
+
<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># config/initializers/vectra.rb</span>
|
|
63
|
+
<span class="no">Vectra</span><span class="p">.</span><span class="nf">configure</span> <span class="k">do</span> <span class="o">|</span><span class="n">config</span><span class="o">|</span>
|
|
64
|
+
<span class="n">config</span><span class="p">.</span><span class="nf">provider</span> <span class="o">=</span> <span class="ss">:pgvector</span>
|
|
65
|
+
<span class="n">config</span><span class="p">.</span><span class="nf">database</span> <span class="o">=</span> <span class="no">Rails</span><span class="p">.</span><span class="nf">configuration</span><span class="p">.</span><span class="nf">database_configuration</span><span class="p">[</span><span class="no">Rails</span><span class="p">.</span><span class="nf">env</span><span class="p">][</span><span class="s1">'database'</span><span class="p">]</span>
|
|
66
|
+
<span class="k">end</span>
|
|
67
|
+
|
|
68
|
+
<span class="c1"># app/models/document.rb</span>
|
|
69
|
+
<span class="k">class</span> <span class="nc">Document</span> <span class="o"><</span> <span class="no">ApplicationRecord</span>
|
|
70
|
+
<span class="kp">include</span> <span class="no">Vectra</span><span class="o">::</span><span class="no">ActiveRecord</span>
|
|
71
|
+
|
|
72
|
+
<span class="n">vector_search</span> <span class="ss">:embedding</span>
|
|
73
|
+
|
|
74
|
+
<span class="k">def</span> <span class="nf">generate_embedding</span>
|
|
75
|
+
<span class="c1"># Generate embedding using OpenAI, Cohere, etc.</span>
|
|
76
|
+
<span class="n">embedding_vector</span> <span class="o">=</span> <span class="n">generate_vector_from_text</span><span class="p">(</span><span class="n">content</span><span class="p">)</span>
|
|
77
|
+
<span class="nb">self</span><span class="p">.</span><span class="nf">embedding</span> <span class="o">=</span> <span class="n">embedding_vector</span>
|
|
78
|
+
<span class="k">end</span>
|
|
79
|
+
<span class="k">end</span>
|
|
80
|
+
|
|
81
|
+
<span class="c1"># Usage</span>
|
|
82
|
+
<span class="n">doc</span> <span class="o">=</span> <span class="no">Document</span><span class="p">.</span><span class="nf">find</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
|
83
|
+
<span class="n">similar_docs</span> <span class="o">=</span> <span class="n">doc</span><span class="p">.</span><span class="nf">vector_search</span><span class="p">(</span><span class="ss">limit: </span><span class="mi">10</span><span class="p">)</span>
|
|
84
|
+
</code></pre></div></div>
|
|
85
|
+
|
|
86
|
+
<h2 id="with-metadata-filtering">With Metadata Filtering</h2>
|
|
87
|
+
|
|
88
|
+
<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">results</span> <span class="o">=</span> <span class="n">client</span><span class="p">.</span><span class="nf">query</span><span class="p">(</span>
|
|
89
|
+
<span class="ss">vector: </span><span class="p">[</span><span class="mf">0.1</span><span class="p">,</span> <span class="mf">0.2</span><span class="p">,</span> <span class="mf">0.3</span><span class="p">],</span>
|
|
90
|
+
<span class="ss">top_k: </span><span class="mi">10</span><span class="p">,</span>
|
|
91
|
+
<span class="ss">include_metadata: </span><span class="kp">true</span>
|
|
92
|
+
<span class="p">)</span>
|
|
93
|
+
|
|
94
|
+
<span class="n">results</span><span class="p">.</span><span class="nf">matches</span><span class="p">.</span><span class="nf">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">match</span><span class="o">|</span>
|
|
95
|
+
<span class="nb">puts</span> <span class="s2">"ID: </span><span class="si">#{</span><span class="n">match</span><span class="p">[</span><span class="s1">'id'</span><span class="p">]</span><span class="si">}</span><span class="s2">"</span>
|
|
96
|
+
<span class="nb">puts</span> <span class="s2">"Score: </span><span class="si">#{</span><span class="n">match</span><span class="p">[</span><span class="s1">'score'</span><span class="p">]</span><span class="si">}</span><span class="s2">"</span>
|
|
97
|
+
<span class="nb">puts</span> <span class="s2">"Metadata: </span><span class="si">#{</span><span class="n">match</span><span class="p">[</span><span class="s1">'metadata'</span><span class="p">]</span><span class="si">}</span><span class="s2">"</span>
|
|
98
|
+
<span class="k">end</span>
|
|
99
|
+
</code></pre></div></div>
|
|
100
|
+
|
|
101
|
+
<h2 id="error-handling">Error Handling</h2>
|
|
102
|
+
|
|
103
|
+
<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">begin</span>
|
|
104
|
+
<span class="n">client</span><span class="p">.</span><span class="nf">query</span><span class="p">(</span><span class="ss">vector: </span><span class="p">[</span><span class="mf">0.1</span><span class="p">,</span> <span class="mf">0.2</span><span class="p">,</span> <span class="mf">0.3</span><span class="p">])</span>
|
|
105
|
+
<span class="k">rescue</span> <span class="no">Vectra</span><span class="o">::</span><span class="no">ConnectionError</span> <span class="o">=></span> <span class="n">e</span>
|
|
106
|
+
<span class="nb">puts</span> <span class="s2">"Connection failed: </span><span class="si">#{</span><span class="n">e</span><span class="p">.</span><span class="nf">message</span><span class="si">}</span><span class="s2">"</span>
|
|
107
|
+
<span class="k">rescue</span> <span class="no">Vectra</span><span class="o">::</span><span class="no">ValidationError</span> <span class="o">=></span> <span class="n">e</span>
|
|
108
|
+
<span class="nb">puts</span> <span class="s2">"Invalid input: </span><span class="si">#{</span><span class="n">e</span><span class="p">.</span><span class="nf">message</span><span class="si">}</span><span class="s2">"</span>
|
|
109
|
+
<span class="k">rescue</span> <span class="o">=></span> <span class="n">e</span>
|
|
110
|
+
<span class="nb">puts</span> <span class="s2">"Unexpected error: </span><span class="si">#{</span><span class="n">e</span><span class="p">.</span><span class="nf">message</span><span class="si">}</span><span class="s2">"</span>
|
|
111
|
+
<span class="k">end</span>
|
|
112
|
+
</code></pre></div></div>
|
|
113
|
+
|
|
114
|
+
<p>See <a href="/guides/getting-started">Getting Started</a> for more examples.</p>
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
</body>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<head>
|
|
2
|
+
<meta charset="utf-8">
|
|
3
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
4
|
+
<title>Examples - Vectra Documentation</title>
|
|
5
|
+
<link rel="stylesheet" href="/assets/style.css">
|
|
6
|
+
</head>
|
|
7
|
+
|
|
8
|
+
<body>
|
|
9
|
+
<div class="site-header">
|
|
10
|
+
<nav class="site-nav">
|
|
11
|
+
<div class="nav-container">
|
|
12
|
+
<a href="/" class="nav-brand">Vectra</a>
|
|
13
|
+
<ul class="nav-menu">
|
|
14
|
+
<li><a href="/guides/installation" class="nav-link">Guides</a></li>
|
|
15
|
+
<li><a href="/api/overview" class="nav-link">API</a></li>
|
|
16
|
+
<li><a href="/providers" class="nav-link">Providers</a></li>
|
|
17
|
+
<li><a href="/examples" class="nav-link">Examples</a></li>
|
|
18
|
+
<li><a href="https://github.com/stokry/vectra" target="_blank" class="nav-link">GitHub</a></li>
|
|
19
|
+
</ul>
|
|
20
|
+
</div>
|
|
21
|
+
</nav>
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
<h1 id="code-examples">Code Examples</h1>
|
|
25
|
+
|
|
26
|
+
<p>Explore practical examples to get started with Vectra:</p>
|
|
27
|
+
|
|
28
|
+
<h2 id="basic-examples">Basic Examples</h2>
|
|
29
|
+
|
|
30
|
+
<ul>
|
|
31
|
+
<li><a href="/examples/basic-usage/">Basic Usage</a> - Simple searches and operations</li>
|
|
32
|
+
<li><a href="/examples/basic-usage/#batch-operations">Batch Operations</a> - Working with multiple vectors</li>
|
|
33
|
+
<li><a href="/examples/basic-usage/#error-handling">Error Handling</a> - Proper error handling patterns</li>
|
|
34
|
+
</ul>
|
|
35
|
+
|
|
36
|
+
<h2 id="provider-specific-examples">Provider-Specific Examples</h2>
|
|
37
|
+
|
|
38
|
+
<ul>
|
|
39
|
+
<li><a href="/providers/pinecone/#example">Pinecone Example</a></li>
|
|
40
|
+
<li><a href="/providers/qdrant/#example">Qdrant Example</a></li>
|
|
41
|
+
<li><a href="/providers/weaviate/#example">Weaviate Example</a></li>
|
|
42
|
+
<li><a href="/providers/pgvector/#example">pgvector Example</a></li>
|
|
43
|
+
</ul>
|
|
44
|
+
|
|
45
|
+
<h2 id="rails-integration">Rails Integration</h2>
|
|
46
|
+
|
|
47
|
+
<p>Check out the <a href="/providers/pgvector/">pgvector guide</a> for Rails ActiveRecord integration examples.</p>
|
|
48
|
+
|
|
49
|
+
<h2 id="need-more-examples">Need More Examples?</h2>
|
|
50
|
+
|
|
51
|
+
<ul>
|
|
52
|
+
<li>Check the <a href="https://github.com/stokry/vectra/tree/main/examples">GitHub Repository</a></li>
|
|
53
|
+
<li>See the <a href="https://github.com/stokry/vectra/blob/main/IMPLEMENTATION_GUIDE.md">Implementation Guide</a></li>
|
|
54
|
+
<li>Review <a href="https://github.com/stokry/vectra/tree/main/spec/integration">Integration Tests</a></li>
|
|
55
|
+
</ul>
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
</body>
|
data/docs/_site/feed.xml
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="http://0.0.0.0:4000/feed.xml" rel="self" type="application/atom+xml" /><link href="http://0.0.0.0:4000/" rel="alternate" type="text/html" /><updated>2026-01-08T10:59:16+00:00</updated><id>http://0.0.0.0:4000/feed.xml</id><title type="html">Vectra Documentation</title><subtitle>Unified Ruby client for vector databases</subtitle></feed>
|