Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
ef0dedb
Add new docs
g-despot Jun 1, 2025
a552183
Update docs
g-despot Jun 2, 2025
e7ab2f2
Update docs
g-despot Jun 2, 2025
9dcf9a1
Update docs
g-despot Jun 6, 2025
36eb4f9
Merge branch 'main' into java-client-v6
g-despot Jul 11, 2025
290107f
Update to Java Client V6
g-despot Jul 11, 2025
81ffa48
Merge branch 'main' into java-client-v6
g-despot Aug 18, 2025
e54551d
Update docs
g-despot Aug 19, 2025
6642b31
Add manage collection Java
g-despot Aug 20, 2025
d7d355d
Update Java code
g-despot Aug 20, 2025
bcf8292
Add Java code
g-despot Aug 20, 2025
ae2286b
Add Java code
g-despot Aug 21, 2025
6c52642
Add Java code
g-despot Aug 22, 2025
66dc09e
Merge branch 'main' into java-client-v6
g-despot Sep 27, 2025
21fb358
Update to new API
g-despot Sep 27, 2025
9319571
Add new code
g-despot Sep 27, 2025
868a49c
Add new code
g-despot Sep 27, 2025
c554b8a
Add code examples
g-despot Sep 28, 2025
f6c88ed
Update code and docs
g-despot Sep 29, 2025
9044259
Update docs and code
g-despot Sep 29, 2025
0898ede
update docs and code
g-despot Sep 29, 2025
18accd8
Add Java v6 page
g-despot Sep 29, 2025
5227357
Update docs and code
g-despot Sep 29, 2025
618f947
Update links
g-despot Sep 29, 2025
0fbfdf5
Update docs and code
g-despot Sep 30, 2025
7f10364
Update docs and code
g-despot Oct 1, 2025
a401848
Update docs
g-despot Oct 1, 2025
53f91d7
Docs notes
g-despot Oct 1, 2025
42c77e8
Add C# docs
g-despot Jul 29, 2025
e92cc02
Update docs
g-despot Jul 29, 2025
266bfaf
Update docs
g-despot Jul 29, 2025
7c1527a
Update docs
g-despot Aug 19, 2025
07bb34a
New C# code
g-despot Aug 19, 2025
25587a9
Update docs
g-despot Aug 20, 2025
0f043fb
Update docs
g-despot Aug 27, 2025
acb2628
Add code examples
g-despot Sep 9, 2025
8f48824
Update code
g-despot Sep 9, 2025
54bce65
Update code
g-despot Sep 23, 2025
4e2e536
Update code
g-despot Sep 23, 2025
b41336a
Update docs and code
g-despot Oct 2, 2025
7680cc3
Update docs
g-despot Oct 2, 2025
1195591
Rebase with Java v6 docs
g-despot Oct 2, 2025
5949e24
Update docs and code
g-despot Oct 2, 2025
657b4c8
Update code
g-despot Oct 2, 2025
18dea2e
Update docs and code
g-despot Oct 3, 2025
3809763
Update docs
g-despot Oct 3, 2025
ce88956
Merge pull request #197 from weaviate/csharp-client-docs
g-despot Oct 3, 2025
7bb440e
Update docs
g-despot Oct 3, 2025
6081e16
Merge branch 'main' into java-client-v6
g-despot Oct 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
378 changes: 378 additions & 0 deletions .vscode/java-format-settings.xml

Large diffs are not rendered by default.

7 changes: 6 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@
"other": "on",
"comments": "inline",
"strings": "inline"
}
},
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[mdx]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"files.associations": {
"*.mdx": "markdown"
Expand Down Expand Up @@ -108,4 +112,5 @@
"editor.insertSpaces": true
},
"java.configuration.updateBuildConfiguration": "interactive",
"java.compile.nullAnalysis.mode": "automatic",
}
12 changes: 11 additions & 1 deletion _includes/code/client-libraries/get_started.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,16 @@
client = weaviate.connect_to_local()
# highlight-end

# END GetStarted
client.collections.delete("Question") # Clean up from previous runs
# START GetStarted
# highlight-start
questions = client.collections.create(
name="Question",
vector_config=Configure.Vectors.text2vec_ollama(), # Configure the Ollama embedding model
vector_config=Configure.Vectors.text2vec_ollama(
api_endpoint="http://ollama:11434", # If using Docker you might need: http://host.docker.internal:11434
model="nomic-embed-text", # The model to use
), # Configure the Ollama embedding model
)
# highlight-end

Expand Down Expand Up @@ -38,6 +44,10 @@
if failed_objects:
print(f"Number of failed imports: {len(failed_objects)}")
print(f"First failed object: {failed_objects[0]}")
# END GetStarted
import time
time.sleep(2) # Wait for the batch to be indexed
# START GetStarted

# highlight-start
response = questions.query.near_text(query="biology", limit=2)
Expand Down
60 changes: 39 additions & 21 deletions _includes/code/connections/timeouts-cloud.mdx
Original file line number Diff line number Diff line change
@@ -1,25 +1,43 @@
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import FilteredTextBlock from '@site/src/components/Documentation/FilteredTextBlock';
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import FilteredTextBlock from "@site/src/components/Documentation/FilteredTextBlock";

import PyV4Code from '!!raw-loader!/_includes/code/connections/connect-python-v4.py';
import TsV3Code from '!!raw-loader!/_includes/code/connections/connect-ts-v3.ts';
import PyV4Code from "!!raw-loader!/_includes/code/connections/connect-python-v4.py";
import TsV3Code from "!!raw-loader!/_includes/code/connections/connect-ts-v3.ts";
import JavaV6Code from "!!raw-loader!/_includes/code/java-v6/src/test/java/ConnectionTest.java";
import CSharpCode from "!!raw-loader!/_includes/code/csharp/ConnectionTest.cs";

<Tabs groupId="languages">
<TabItem value="py4" label="Python">
<FilteredTextBlock
text={PyV4Code}
startMarker="# START TimeoutWCD"
endMarker="# END TimeoutWCD"
language="py"
/>
</TabItem>
<TabItem value="ts3" label="JS/TS">
<FilteredTextBlock
text={TsV3Code}
startMarker="// START TimeoutWCD"
endMarker="// END TimeoutWCD"
language="js"
/>
</TabItem>
<TabItem value="py4" label="Python">
<FilteredTextBlock
text={PyV4Code}
startMarker="# START TimeoutWCD"
endMarker="# END TimeoutWCD"
language="py"
/>
</TabItem>
<TabItem value="ts3" label="JS/TS">
<FilteredTextBlock
text={TsV3Code}
startMarker="// START TimeoutWCD"
endMarker="// END TimeoutWCD"
language="js"
/>
</TabItem>
<TabItem value="java6" label="Java v6 (Beta)">
<FilteredTextBlock
text={JavaV6Code}
startMarker="// START TimeoutWCD"
endMarker="// END TimeoutWCD"
language="java"
/>
</TabItem>
<TabItem value="csharp" label="C# (Beta)">
<FilteredTextBlock
text={CSharpCode}
startMarker="// START TimeoutWCD"
endMarker="// END TimeoutWCD"
language="csharp"
/>
</TabItem>
</Tabs>
60 changes: 39 additions & 21 deletions _includes/code/connections/timeouts-custom.mdx
Original file line number Diff line number Diff line change
@@ -1,25 +1,43 @@
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import FilteredTextBlock from '@site/src/components/Documentation/FilteredTextBlock';
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import FilteredTextBlock from "@site/src/components/Documentation/FilteredTextBlock";

import PyV4Code from '!!raw-loader!/_includes/code/connections/connect-python-v4.py';
import TsV3Code from '!!raw-loader!/_includes/code/connections/connect-ts-v3.ts';
import PyV4Code from "!!raw-loader!/_includes/code/connections/connect-python-v4.py";
import TsV3Code from "!!raw-loader!/_includes/code/connections/connect-ts-v3.ts";
import JavaV6Code from "!!raw-loader!/_includes/code/java-v6/src/test/java/ConnectionTest.java";
import CSharpCode from "!!raw-loader!/_includes/code/csharp/ConnectionTest.cs";

<Tabs groupId="languages">
<TabItem value="py4" label="Python">
<FilteredTextBlock
text={PyV4Code}
startMarker="# START TimeoutCustom"
endMarker="# END TimeoutCustom"
language="py"
/>
</TabItem>
<TabItem value="ts3" label="JS/TS">
<FilteredTextBlock
text={TsV3Code}
startMarker="// START TimeoutCustom"
endMarker="// END TimeoutCustom"
language="js"
/>
</TabItem>
<TabItem value="py4" label="Python">
<FilteredTextBlock
text={PyV4Code}
startMarker="# START TimeoutCustom"
endMarker="# END TimeoutCustom"
language="py"
/>
</TabItem>
<TabItem value="ts3" label="JS/TS">
<FilteredTextBlock
text={TsV3Code}
startMarker="// START TimeoutCustom"
endMarker="// END TimeoutCustom"
language="js"
/>
</TabItem>
<TabItem value="java6" label="Java v6 (Beta)">
<FilteredTextBlock
text={JavaV6Code}
startMarker="// START TimeoutCustom"
endMarker="// END TimeoutCustom"
language="java"
/>
</TabItem>
<TabItem value="csharp" label="C# (Beta)">
<FilteredTextBlock
text={CSharpCode}
startMarker="// START TimeoutCustom"
endMarker="// END TimeoutCustom"
language="csharp"
/>
</TabItem>
</Tabs>
61 changes: 39 additions & 22 deletions _includes/code/connections/timeouts-local.mdx
Original file line number Diff line number Diff line change
@@ -1,26 +1,43 @@
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import FilteredTextBlock from '@site/src/components/Documentation/FilteredTextBlock';

import PyV4Code from '!!raw-loader!/_includes/code/connections/connect-python-v4.py';
import TsV3Code from '!!raw-loader!/_includes/code/connections/connect-ts-v3.ts';
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import FilteredTextBlock from "@site/src/components/Documentation/FilteredTextBlock";

import PyV4Code from "!!raw-loader!/_includes/code/connections/connect-python-v4.py";
import TsV3Code from "!!raw-loader!/_includes/code/connections/connect-ts-v3.ts";
import JavaV6Code from "!!raw-loader!/_includes/code/java-v6/src/test/java/ConnectionTest.java";
import CSharpCode from "!!raw-loader!/_includes/code/csharp/ConnectionTest.cs";

<Tabs groupId="languages">
<TabItem value="py4" label="Python">
<FilteredTextBlock
text={PyV4Code}
startMarker="# START TimeoutLocal"
endMarker="# END TimeoutLocal"
language="py"
/>
</TabItem>
<TabItem value="ts3" label="JS/TS">
<FilteredTextBlock
text={TsV3Code}
startMarker="// START TimeoutLocal"
endMarker="// END TimeoutLocal"
language="js"
/>
</TabItem>
<TabItem value="py4" label="Python">
<FilteredTextBlock
text={PyV4Code}
startMarker="# START TimeoutLocal"
endMarker="# END TimeoutLocal"
language="py"
/>
</TabItem>
<TabItem value="ts3" label="JS/TS">
<FilteredTextBlock
text={TsV3Code}
startMarker="// START TimeoutLocal"
endMarker="// END TimeoutLocal"
language="js"
/>
</TabItem>
<TabItem value="java6" label="Java v6 (Beta)">
<FilteredTextBlock
text={JavaV6Code}
startMarker="// START TimeoutLocal"
endMarker="// END TimeoutLocal"
language="java"
/>
</TabItem>
<TabItem value="csharp" label="C# (Beta)">
<FilteredTextBlock
text={CSharpCode}
startMarker="// START TimeoutLocal"
endMarker="// END TimeoutLocal"
language="csharp"
/>
</TabItem>
</Tabs>
106 changes: 106 additions & 0 deletions _includes/code/csharp/ConfigureBQTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
using Xunit;
using Weaviate.Client;
using Weaviate.Client.Models;
using System;
using System.Threading.Tasks;

namespace WeaviateProject.Tests;

public class ConfigureBQTest : IAsyncLifetime
{
private WeaviateClient client;
private const string COLLECTION_NAME = "MyCollection";

// Runs before each test
public async Task InitializeAsync()
{
// START ConnectCode
// Note: The C# client doesn't support setting headers like 'X-OpenAI-Api-Key' via the constructor for local connections.
// This must be configured in Weaviate's environment variables.
client = new WeaviateClient(new ClientConfiguration { RestAddress = "localhost", RestPort = 8080 });
// END ConnectCode

// Clean slate for each test
if (await client.Collections.Exists(COLLECTION_NAME))
{
await client.Collections.Delete(COLLECTION_NAME);
}
}

// Runs after each test
public Task DisposeAsync()
{
// No action needed here, as cleanup happens in InitializeAsync before the next test.
return Task.CompletedTask;
}

[Fact]
public async Task TestEnableBQ()
{
// START EnableBQ
await client.Collections.Create(new Collection
{
Name = "MyCollection",
Properties = [Property.Text("title")],
VectorConfig = new VectorConfig(
"default",
new Vectorizer.Text2VecContextionary(),
new VectorIndex.HNSW
{
// highlight-start
Quantizer = new VectorIndex.Quantizers.BQ()
// highlight-end
}
)
});
// END EnableBQ
}

[Fact]
public async Task TestUpdateSchema()
{
// Note: Updating quantization settings on an existing collection is not supported by Weaviate
// and will result in an error, as noted in the Java test. This test demonstrates the syntax for attempting the update.
var collection = await client.Collections.Create(new Collection
{
Name = "MyCollection",
Properties = [Property.Text("title")],
VectorConfig = new VectorConfig("default", new Vectorizer.Text2VecContextionary())
});

// START UpdateSchema
await collection.Config.Update(c =>
{
var vectorConfig = c.VectorConfig["default"];
vectorConfig.VectorIndexConfig.UpdateHNSW(h => h.Quantizer = new VectorIndex.Quantizers.BQ());
});
// END UpdateSchema
}

[Fact]
public async Task TestBQWithOptions()
{
// START BQWithOptions
await client.Collections.Create(new Collection
{
Name = "MyCollection",
Properties = [Property.Text("title")],
VectorConfig = new VectorConfig(
"default",
new Vectorizer.Text2VecContextionary(),
// highlight-start
new VectorIndex.HNSW
{
VectorCacheMaxObjects = 100000,
Quantizer = new VectorIndex.Quantizers.BQ
{
Cache = true,
RescoreLimit = 200
}
}
// highlight-end
)
});
// END BQWithOptions
}
}
Loading
Loading