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.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +140 -334
  3. data/docs/Gemfile +10 -0
  4. data/docs/_config.yml +20 -0
  5. data/docs/_layouts/default.html +14 -0
  6. data/docs/_layouts/home.html +33 -0
  7. data/docs/_layouts/page.html +20 -0
  8. data/docs/_site/api/overview/index.html +145 -0
  9. data/docs/_site/assets/main.css +649 -0
  10. data/docs/_site/assets/main.css.map +1 -0
  11. data/docs/_site/assets/minima-social-icons.svg +33 -0
  12. data/docs/_site/assets/style.css +295 -0
  13. data/docs/_site/community/contributing/index.html +110 -0
  14. data/docs/_site/examples/basic-usage/index.html +117 -0
  15. data/docs/_site/examples/index.html +58 -0
  16. data/docs/_site/feed.xml +1 -0
  17. data/docs/_site/guides/getting-started/index.html +106 -0
  18. data/docs/_site/guides/installation/index.html +82 -0
  19. data/docs/_site/index.html +92 -0
  20. data/docs/_site/providers/index.html +119 -0
  21. data/docs/_site/providers/pgvector/index.html +155 -0
  22. data/docs/_site/providers/pinecone/index.html +121 -0
  23. data/docs/_site/providers/qdrant/index.html +124 -0
  24. data/docs/_site/providers/weaviate/index.html +123 -0
  25. data/docs/_site/robots.txt +1 -0
  26. data/docs/_site/sitemap.xml +39 -0
  27. data/docs/api/overview.md +126 -0
  28. data/docs/assets/style.css +295 -0
  29. data/docs/community/contributing.md +89 -0
  30. data/docs/examples/basic-usage.md +102 -0
  31. data/docs/examples/index.md +32 -0
  32. data/docs/guides/getting-started.md +90 -0
  33. data/docs/guides/installation.md +67 -0
  34. data/docs/index.md +53 -0
  35. data/docs/providers/index.md +62 -0
  36. data/docs/providers/pgvector.md +95 -0
  37. data/docs/providers/pinecone.md +72 -0
  38. data/docs/providers/qdrant.md +73 -0
  39. data/docs/providers/weaviate.md +72 -0
  40. data/lib/vectra/version.rb +1 -1
  41. data/netlify.toml +12 -0
  42. metadata +39 -5
  43. data/IMPLEMENTATION_GUIDE.md +0 -686
  44. data/NEW_FEATURES_v0.2.0.md +0 -459
  45. data/RELEASE_CHECKLIST_v0.2.0.md +0 -383
  46. data/USAGE_EXAMPLES.md +0 -787
@@ -0,0 +1,20 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="site-header">
6
+ <nav class="site-nav">
7
+ <div class="nav-container">
8
+ <a href="{{ site.baseurl }}/" class="nav-brand">Vectra</a>
9
+ <ul class="nav-menu">
10
+ <li><a href="{{ site.baseurl }}/guides/installation" class="nav-link">Guides</a></li>
11
+ <li><a href="{{ site.baseurl }}/api/overview" class="nav-link">API</a></li>
12
+ <li><a href="{{ site.baseurl }}/providers" class="nav-link">Providers</a></li>
13
+ <li><a href="{{ site.baseurl }}/examples" class="nav-link">Examples</a></li>
14
+ <li><a href="https://github.com/stokry/vectra" target="_blank" class="nav-link">GitHub</a></li>
15
+ </ul>
16
+ </div>
17
+ </nav>
18
+ </div>
19
+
20
+ {{ content }}
@@ -0,0 +1,145 @@
1
+ <head>
2
+ <meta charset="utf-8">
3
+ <meta name="viewport" content="width=device-width, initial-scale=1">
4
+ <title>API Overview - 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="api-reference">API Reference</h1>
25
+
26
+ <h2 id="client-initialization">Client Initialization</h2>
27
+
28
+ <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><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>
29
+ <span class="ss">provider: :pinecone</span><span class="p">,</span> <span class="c1"># Required: :pinecone, :qdrant, :weaviate, :pgvector</span>
30
+ <span class="ss">api_key: </span><span class="s1">'your-api-key'</span><span class="p">,</span> <span class="c1"># Required for cloud providers</span>
31
+ <span class="ss">index_name: </span><span class="s1">'my-index'</span><span class="p">,</span> <span class="c1"># Optional, provider-dependent</span>
32
+ <span class="ss">host: </span><span class="s1">'localhost'</span><span class="p">,</span> <span class="c1"># For self-hosted providers</span>
33
+ <span class="ss">port: </span><span class="mi">6333</span><span class="p">,</span> <span class="c1"># For self-hosted providers</span>
34
+ <span class="ss">environment: </span><span class="s1">'us-west-4'</span> <span class="c1"># For Pinecone</span>
35
+ <span class="p">)</span>
36
+ </code></pre></div></div>
37
+
38
+ <h2 id="core-methods">Core Methods</h2>
39
+
40
+ <h3 id="upsertvectors"><code class="language-plaintext highlighter-rouge">upsert(vectors:)</code></h3>
41
+
42
+ <p>Upsert vectors into the index. If a vector with the same ID exists, it will be updated.</p>
43
+
44
+ <p><strong>Parameters:</strong></p>
45
+ <ul>
46
+ <li><code class="language-plaintext highlighter-rouge">vectors</code> (Array) - Array of vector hashes</li>
47
+ </ul>
48
+
49
+ <p><strong>Vector Hash:</strong></p>
50
+ <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span>
51
+ <span class="ss">id: </span><span class="s1">'unique-id'</span><span class="p">,</span> <span class="c1"># Required</span>
52
+ <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="c1"># Required</span>
53
+ <span class="ss">metadata: </span><span class="p">{</span> <span class="ss">key: </span><span class="s1">'value'</span> <span class="p">}</span> <span class="c1"># Optional</span>
54
+ <span class="p">}</span>
55
+ </code></pre></div></div>
56
+
57
+ <p><strong>Example:</strong></p>
58
+ <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">client</span><span class="p">.</span><span class="nf">upsert</span><span class="p">(</span>
59
+ <span class="ss">vectors: </span><span class="p">[</span>
60
+ <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="ss">metadata: </span><span class="p">{</span> <span class="ss">category: </span><span class="s1">'news'</span> <span class="p">}</span> <span class="p">}</span>
61
+ <span class="p">]</span>
62
+ <span class="p">)</span>
63
+ </code></pre></div></div>
64
+
65
+ <h3 id="queryvector-top_k-include_metadata"><code class="language-plaintext highlighter-rouge">query(vector:, top_k:, include_metadata:)</code></h3>
66
+
67
+ <p>Search for similar vectors.</p>
68
+
69
+ <p><strong>Parameters:</strong></p>
70
+ <ul>
71
+ <li><code class="language-plaintext highlighter-rouge">vector</code> (Array) - Query vector</li>
72
+ <li><code class="language-plaintext highlighter-rouge">top_k</code> (Integer) - Number of results to return (default: 10)</li>
73
+ <li><code class="language-plaintext highlighter-rouge">include_metadata</code> (Boolean) - Include metadata in results (default: true)</li>
74
+ </ul>
75
+
76
+ <p><strong>Returns:</strong></p>
77
+ <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="no">Vectra</span><span class="o">::</span><span class="no">QueryResult</span> <span class="p">{</span>
78
+ <span class="ss">matches: </span><span class="p">[</span>
79
+ <span class="p">{</span> <span class="ss">id: </span><span class="s1">'1'</span><span class="p">,</span> <span class="ss">score: </span><span class="mf">0.95</span><span class="p">,</span> <span class="ss">metadata: </span><span class="p">{</span><span class="o">...</span><span class="p">}</span> <span class="p">},</span>
80
+ <span class="o">...</span>
81
+ <span class="p">],</span>
82
+ <span class="ss">namespace: </span><span class="s1">'default'</span>
83
+ <span class="p">}</span>
84
+ </code></pre></div></div>
85
+
86
+ <p><strong>Example:</strong></p>
87
+ <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><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="ss">top_k: </span><span class="mi">5</span><span class="p">)</span>
88
+ </code></pre></div></div>
89
+
90
+ <h3 id="deleteids"><code class="language-plaintext highlighter-rouge">delete(ids:)</code></h3>
91
+
92
+ <p>Delete vectors by IDs.</p>
93
+
94
+ <p><strong>Parameters:</strong></p>
95
+ <ul>
96
+ <li><code class="language-plaintext highlighter-rouge">ids</code> (Array) - Array of vector IDs to delete</li>
97
+ </ul>
98
+
99
+ <p><strong>Example:</strong></p>
100
+ <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><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">'vec-1'</span><span class="p">,</span> <span class="s1">'vec-2'</span><span class="p">])</span>
101
+ </code></pre></div></div>
102
+
103
+ <h3 id="fetchids"><code class="language-plaintext highlighter-rouge">fetch(ids:)</code></h3>
104
+
105
+ <p>Fetch vectors by IDs.</p>
106
+
107
+ <p><strong>Parameters:</strong></p>
108
+ <ul>
109
+ <li><code class="language-plaintext highlighter-rouge">ids</code> (Array) - Array of vector IDs</li>
110
+ </ul>
111
+
112
+ <p><strong>Returns:</strong></p>
113
+ <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span>
114
+ <span class="s1">'vec-1'</span> <span class="o">=&gt;</span> <span class="p">{</span> <span class="ss">values: </span><span class="p">[</span><span class="o">...</span><span class="p">],</span> <span class="ss">metadata: </span><span class="p">{</span><span class="o">...</span><span class="p">}</span> <span class="p">},</span>
115
+ <span class="o">...</span>
116
+ <span class="p">}</span>
117
+ </code></pre></div></div>
118
+
119
+ <h3 id="stats"><code class="language-plaintext highlighter-rouge">stats</code></h3>
120
+
121
+ <p>Get index statistics.</p>
122
+
123
+ <p><strong>Returns:</strong></p>
124
+ <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span>
125
+ <span class="s1">'dimension'</span> <span class="o">=&gt;</span> <span class="mi">1536</span><span class="p">,</span>
126
+ <span class="s1">'vector_count'</span> <span class="o">=&gt;</span> <span class="mi">1000</span><span class="p">,</span>
127
+ <span class="s1">'index_fullness'</span> <span class="o">=&gt;</span> <span class="mf">0.8</span>
128
+ <span class="p">}</span>
129
+ </code></pre></div></div>
130
+
131
+ <h2 id="error-handling">Error Handling</h2>
132
+
133
+ <div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">begin</span>
134
+ <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>
135
+ <span class="k">rescue</span> <span class="no">Vectra</span><span class="o">::</span><span class="no">Error</span> <span class="o">=&gt;</span> <span class="n">e</span>
136
+ <span class="nb">puts</span> <span class="s2">"Vectra 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>
137
+ <span class="k">rescue</span> <span class="o">=&gt;</span> <span class="n">e</span>
138
+ <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>
139
+ <span class="k">end</span>
140
+ </code></pre></div></div>
141
+
142
+ <p>See <a href="/api/methods">Detailed API Documentation</a> for more methods.</p>
143
+
144
+
145
+ </body>