Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
7f9c0d0
add docs for follow-up queries in Suggest Queries Mode
CShorten May 26, 2026
5502eab
docs: add new structured output section
dannyjameswilliams Jun 22, 2026
c51d747
streaming correction, python/TS titles in basic usage
dannyjameswilliams Jun 24, 2026
ac9e1d3
Merge remote-tracking branch 'origin/main' into follow-up-suggest-que…
CShorten Jul 16, 2026
23e60f7
docs: correct deprecated ChunkSize and document backup chunking varia…
g-despot Jul 19, 2026
7d7d6a8
Document server-side batching ingest and refactor the batch import page
g-despot Jul 22, 2026
a925388
Address review: differentiate TypeScript SSB examples, drop extras
g-despot Jul 22, 2026
96e58df
Scope language-specific prose to the language tabs
g-despot Jul 22, 2026
2ce190f
Move the Go gRPC connection note into the manual batching Go tab
g-despot Jul 23, 2026
653cff8
Potential fix for pull request finding
g-despot Jul 23, 2026
ea4116d
Merge pull request #478 from weaviate/docs/ssb-ingest-import-refactor
g-despot Jul 23, 2026
a2dc1d8
docs: fix structured outputs review findings
g-despot Jul 27, 2026
3ac2570
docs: drop explanatory comment from console.dir examples
g-despot Jul 27, 2026
a185616
docs: tighten prose in structured outputs pages
g-despot Jul 27, 2026
1a60493
docs: restore verbatim run output in two structured outputs examples
g-despot Jul 27, 2026
1045077
Merge pull request #482 from weaviate/agents/structured-output-review…
g-despot Jul 27, 2026
b38d7be
Merge pull request #457 from weaviate/agents/structured_output
dannyjameswilliams Jul 27, 2026
c03c3b9
Merge pull request #428 from weaviate/follow-up-suggest-queries
CShorten Jul 28, 2026
f5f48ee
first look
CShorten Jul 28, 2026
3962160
docs: add a Python generator example for server-side ingest
g-despot Jul 29, 2026
eea559a
docs: correct the ingest paragraph on the Python best practices page
g-despot Jul 29, 2026
307abb0
docs(quickstart): use the shorter ingest form for the import step
g-despot Jul 29, 2026
c77b5e7
docs: apply editor review to the Python ingest generator docs
Jul 29, 2026
de248fb
docs(quickstart): apply editor review to the ingest migration
Jul 29, 2026
2f87752
Merge pull request #484 from weaviate/docs/python-ingest-generator
g-despot Jul 29, 2026
69f685a
docs(quickstart): check result.errors in the Python import step
g-despot Jul 29, 2026
7fd4437
docs: fix critical findings from the docs deep review
g-despot Jul 29, 2026
e4431ca
docs(quickstart): use server-side batching in the Java and C# import …
g-despot Jul 30, 2026
c7b7899
docs: use camelCase config keys in the Go Google vectorizer examples
g-despot Jul 30, 2026
ffd62a3
docs(quickstart): correct the import prose for Java and C#
g-despot Jul 30, 2026
b477bc2
Merge pull request #485 from weaviate/docs/fix-critical-review-findings
g-despot Jul 30, 2026
9436d6b
docs(quickstart): merge the two `errors` comments in the Python import
g-despot Jul 30, 2026
1f923c0
docs: point to result.errors as the ingest failure check
g-despot Jul 30, 2026
b8dd619
Merge pull request #486 from weaviate/docs/fix-ingest-has-errors-prose
g-despot Jul 30, 2026
fa9e7ae
Merge pull request #487 from weaviate/docs/quickstart-data-ingest
g-despot Jul 30, 2026
5d96a1d
Remove default region
g-despot Jul 30, 2026
557dfb2
docs(backups): move chunking into Technical Considerations, add BACKU…
g-despot Jul 30, 2026
04b56ae
docs(backups): fix split-chunk size claim, apply editor and verifier …
g-despot Jul 30, 2026
dc0e320
docs(backups): tighten the split-part size bounds
g-despot Jul 30, 2026
25d4ede
Exempt hidden analytics beacons from the alt-text check
g-despot Jul 30, 2026
c1d1e0f
Wait for the geo write to land before the filter example queries
g-despot Jul 31, 2026
0392d4d
Scope the alt-text check to page content, not navbar chrome
g-despot Jul 31, 2026
fe40180
Remove stray debug prints from the null-state filter example
g-despot Jul 31, 2026
c707188
Warn at PR time when a snippet change strands an llms.txt block
g-despot Aug 1, 2026
67f9941
Drop the images label from three pages that never had screenshots
g-despot Aug 1, 2026
0386fab
Remove the empty alt that broke the site build
g-despot Aug 1, 2026
8853734
Document the landing-page trap and guard the snippet glob parity
g-despot Aug 1, 2026
86d12d5
Correct the llms.txt sync docs: the reverse direction is not automated
g-despot Aug 1, 2026
db57470
Merge pull request #488 from weaviate/fix/indexability-beacon-alt-exe…
g-despot Aug 4, 2026
0c3efb1
clean initial description
CShorten Aug 5, 2026
9c6ce02
add effort docs
CShorten Aug 5, 2026
31f76fa
tweak search mode intro
CShorten Aug 5, 2026
fb34ea9
docs(backups): simplify chunking section, add version availability
g-despot Aug 6, 2026
acaa01d
docs(backups): scope the chunking knob guidance, tighten split-part b…
g-despot Aug 6, 2026
b76dbd8
docs(backups): state the knob-choice boundary against the reduced bud…
g-despot Aug 6, 2026
8182861
docs: fix the HIGH-severity findings from the docs deep review
g-despot Aug 6, 2026
06081c1
docs(backups): collapse the chunking diagram, cut em dashes and semic…
g-despot Aug 6, 2026
85a21d7
docs(model-providers): fix medium-severity review findings in provide…
g-despot Aug 6, 2026
21df533
docs(search,api): fix snippets that do not parse, a mis-targeted anch…
g-despot Aug 6, 2026
6af8ed3
docs(client-libraries,concepts): correct client version claims and se…
g-despot Aug 6, 2026
bd80a2e
docs(deploy,configuration): fix commands that fail on paste, wrong pa…
g-despot Aug 6, 2026
fd1bca6
docs(deploy,configuration): fix commands that fail on paste, wrong pa…
g-despot Aug 6, 2026
528163c
docs(model-providers): fix medium-severity review findings in provide…
g-despot Aug 6, 2026
d90c184
docs(client-libraries,concepts): correct client version claims and se…
g-despot Aug 6, 2026
8f29ef5
docs(search,api): fix snippets that do not parse, a mis-targeted anch…
g-despot Aug 6, 2026
ca16e80
docs(model-providers): fix structure, model lists, and a wrong publis…
g-despot Aug 6, 2026
556cda3
docs(model-providers): copy-editing across provider pages
g-despot Aug 6, 2026
04ccd6f
docs: house-style sweep across reference and concepts pages
g-despot Aug 6, 2026
32892f6
docs(tutorials): fix invalid JSON, a duplicate card icon, and em dashes
g-despot Aug 6, 2026
35f01f1
docs(modules,connections): fix Go tab rendering, a stale image tag, a…
g-despot Aug 6, 2026
f95a068
docs: assorted one-line defects, plus a stale gRPC section and a sile…
g-despot Aug 6, 2026
fecde13
docs(cloud): remove dead imports, add the missing default-index row, …
g-despot Aug 6, 2026
a723306
Potential fix for pull request finding
g-despot Aug 7, 2026
508887b
Revert the migration guide changes
g-despot Aug 7, 2026
c13a0ce
Revert the migration guide changes
g-despot Aug 7, 2026
b3f2ee6
Revert the migration guide changes
g-despot Aug 7, 2026
294d7ef
Leave the migration guides untouched in this PR
g-despot Aug 7, 2026
b7329e4
Merge pull request #493 from weaviate/docs/fix-high-severity-review-f…
g-despot Aug 7, 2026
7d3fd35
Potential fix for pull request finding
g-despot Aug 7, 2026
fb4fdc5
Merge pull request #494 from weaviate/docs/medium-model-providers
g-despot Aug 7, 2026
02b8d47
Potential fix for pull request finding
g-despot Aug 7, 2026
63bed83
Merge pull request #495 from weaviate/docs/medium-search-api
g-despot Aug 7, 2026
7852373
Merge pull request #496 from weaviate/docs/medium-client-libraries
g-despot Aug 7, 2026
0b43240
Drop backup chunking env vars and simplify the Embeddings quickstart …
g-despot Aug 7, 2026
593df2b
rename effort tiers
CShorten Aug 7, 2026
ef5e57b
Remove unused imports
g-despot Aug 8, 2026
30653ca
Potential fix for pull request finding
g-despot Aug 8, 2026
6ef1e0c
docs(sq-compression): add the missing TypeScript example for enabling…
g-despot Aug 8, 2026
70f7050
Merge pull request #497 from weaviate/docs/medium-deploy-configuration
g-despot Aug 8, 2026
1f9056c
Merge pull request #498 from weaviate/docs/low-model-providers-structure
g-despot Aug 8, 2026
54c2939
Merge pull request #499 from weaviate/docs/low-model-providers-copyedit
g-despot Aug 8, 2026
6bec417
Merge pull request #501 from weaviate/docs/low-tutorials
g-despot Aug 8, 2026
775f373
Merge pull request #502 from weaviate/docs/low-modules-connections
g-despot Aug 8, 2026
ecc6390
fix(datatypes): object properties are vectorized when listed in the v…
g-despot Aug 8, 2026
b8bf146
Implement feedback
g-despot Aug 10, 2026
1a81896
Merge pull request #473 from weaviate/docs/backup-chunking-and-google…
g-despot Aug 10, 2026
6be7b1f
Remove unused files
g-despot Aug 10, 2026
6805999
Potential fix for pull request finding
g-despot Aug 10, 2026
a41cbfe
Merge pull request #504 from weaviate/docs/low-cloud
g-despot Aug 10, 2026
bae222d
Fix naming
g-despot Aug 10, 2026
50f68d5
docs(embedded): drop removed Python v3 client from the embedded page
g-despot Aug 10, 2026
e586ade
Merge pull request #503 from weaviate/docs/low-assorted-defects
g-despot Aug 10, 2026
5548270
Merge pull request #500 from weaviate/docs/low-house-style
g-despot Aug 10, 2026
b77f4d0
Merge remote-tracking branch 'origin/main' into HEAD
g-despot Aug 10, 2026
17c3cd0
Potential fix for pull request finding
g-despot Aug 10, 2026
4f3c319
Merge pull request #505 from weaviate/docs/review-integration
g-despot Aug 10, 2026
a4a8b8b
docs: fix five review findings that were never dispatched
g-despot Aug 11, 2026
8a31f99
Merge pull request #506 from weaviate/review/unfixed-findings
g-despot Aug 11, 2026
d01fd78
docs(model-providers): document how OpenAI request URLs are built
g-despot Aug 11, 2026
0b77c6c
Merge pull request #507 from weaviate/docs/openai-baseurl-url-constru…
g-despot Aug 11, 2026
6da13b4
Merge pull request #483 from weaviate/effort-search-mode
CShorten Aug 11, 2026
b0f569f
Merge origin/main into the v1.39 release branch
g-despot Aug 12, 2026
cbeebc1
docs: 1.39 Python client surfaces, corrections, and pin bump
g-despot Aug 12, 2026
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
57 changes: 57 additions & 0 deletions .github/workflows/llms_txt_snippet_sync.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: llms.txt Snippet Sync

# llms.txt is hand-maintained in the weaviate-io repo, so a snippet change here can
# strand a block in the published file. Only the weekly llms_txt_tests.yml job notices,
# which means the break surfaces days later. This gives the author the signal at PR time.
#
# It is advisory by design and never fails: when a snippet PR is opened, weaviate-io has
# not merged or deployed yet, so the live llms.txt legitimately cannot match. A blocking
# check would fire on every honest PR and would just be overridden.

permissions:
contents: read

on:
pull_request:
paths:
# Kept in step with SNIPPET_GLOBS in tests/test_llms_txt_code.py. Java and C#
# snippets live with their language suites, not under _includes/code/llms-txt/.
- "_includes/code/llms-txt/**"
- "_includes/code/java-v6/src/test/java/LlmsTxtTest.java"
- "_includes/code/csharp/LlmsTxtTest.cs"
- "tests/test_llms_txt_code.py"
- "tests/check_llms_txt_drift.py"

env:
PYTHON_VERSION: "3.11"

jobs:
check-snippet-sync:
name: Check llms.txt snippet sync
runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Fetch the PR base commit
# Shallow single-commit fetch: the check only needs the base tree to read the
# pre-change snippet files. If it fails the check reports a degraded warning
# rather than blocking.
continue-on-error: true
run: git fetch --no-tags --depth=1 origin ${{ github.event.pull_request.base.sha }}

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}

- name: Install pytest
# The check imports tests/test_llms_txt_code.py to reuse its matching logic, and
# that module imports pytest. Nothing else from the test suite is needed, so this
# stays far cheaper than the full setup-test-env composite.
run: python -m pip install --quiet "pytest>=8.3.5"

- name: Check llms.txt snippet sync
run: python tests/check_llms_txt_drift.py --base "${{ github.event.pull_request.base.sha }}"
27 changes: 27 additions & 0 deletions _includes/code/client-libraries/python_v4.py
Original file line number Diff line number Diff line change
Expand Up @@ -360,6 +360,33 @@
# END BatchRateLimit


# START BatchIngestGenerator
import weaviate

client = weaviate.connect_to_local()

# A generator produces objects one at a time instead of building a list
def article_titles():
for title in ["Multitenancy", "Database schema"]:
yield {"title": title}

try:
articles = client.collections.use("WikiArticle")
# `ingest` accepts any iterable, including a generator
result = articles.data.ingest(article_titles())

if result.errors:
print(f"Number of failed imports: {len(result.errors)}")

finally:
client.close()
# END BatchIngestGenerator

# Tests
assert len(result.errors) == 0
assert len(result.uuids) == 2


import weaviate

client = weaviate.connect_to_local()
Expand Down
80 changes: 67 additions & 13 deletions _includes/code/csharp/ManageObjectsImportTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
using System.Threading.Tasks;
using CsvHelper;
using Weaviate.Client;
using Weaviate.Client.Batch;
using Weaviate.Client.Models;
using Xunit;

Expand Down Expand Up @@ -146,8 +147,55 @@ await client.Collections.Create(

var collection = client.Collections.Use("MyCollection");

// Use `Batch.InsertMany` for server-side batching. The client sends
// data in batches at a rate controlled by the server.
// Use `Batch.StartBatch` for server-side batching. The client streams
// objects to the server, which paces the import based on its own load.
// highlight-start
await using var batch = await collection.Batch.StartBatch();

var handles = new List<TaskHandle>();
foreach (var dataRow in dataRows)
{
handles.Add(await batch.Add(dataRow));
}

await batch.Close();
// highlight-end

var results = await Task.WhenAll(handles.Select(h => h.Result));
var failedObjects = results.Where(r => !r.Success).ToList();
if (failedObjects.Any())
{
Console.WriteLine($"Number of failed imports: {failedObjects.Count}");
}
// END ServerSideBatchImportExample

var result = await collection.Aggregate.OverAll(totalCount: true);
Assert.Equal(5, result.TotalCount);
}

[Fact]
public async Task TestServerSideIngest()
{
await BeforeEach();
await client.Collections.Create(
new CollectionCreateParams
{
Name = "MyCollection",
VectorConfig = Configure.Vector("default", v => v.SelfProvided()),
}
);

// START ServerSideIngestExample
var dataRows = Enumerable
.Range(0, 5)
.Select(i => new { title = $"Object {i + 1}" })
.ToList();

var collection = client.Collections.Use("MyCollection");

// `Batch.InsertMany` is the one-shot server-side ingest of an
// in-memory list. The client streams the list to the server
// using server-side batching under the hood.
// highlight-start
var response = await collection.Batch.InsertMany(dataRows);
// highlight-end
Expand All @@ -158,7 +206,7 @@ await client.Collections.Create(
Console.WriteLine($"Number of failed imports: {failedObjects.Count}");
Console.WriteLine($"First failed object: {failedObjects.First().Error}");
}
// END ServerSideBatchImportExample
// END ServerSideIngestExample

var result = await collection.Aggregate.OverAll(totalCount: true);
Assert.Equal(5, result.TotalCount);
Expand Down Expand Up @@ -194,8 +242,9 @@ await client.Collections.Create(

var collection = client.Collections.Use("MyCollection");

// `Batch.InsertMany` imports the list using server-side batching.
// highlight-start
var response = await collection.Data.InsertMany(dataToInsert);
var response = await collection.Batch.InsertMany(dataToInsert);
// highlight-end

var failedObjects = response.Where(r => r.Error != null).ToList();
Expand Down Expand Up @@ -245,13 +294,17 @@ await client.Collections.Create(

var collection = client.Collections.Use("MyCollection");

var response = await collection.Data.InsertMany(dataToInsert);
// `Batch.InsertMany` imports the list using server-side batching.
// highlight-start
var response = await collection.Batch.InsertMany(dataToInsert);
// highlight-end

// Handle errors
if (response.HasErrors)
var failedObjects = response.Where(r => r.Error != null).ToList();
if (failedObjects.Any())
{
Console.WriteLine($"Number of failed imports: {response.Errors.Count()}");
Console.WriteLine($"First failed object: {response.Errors.First().Message}");
Console.WriteLine($"Number of failed imports: {failedObjects.Count}");
Console.WriteLine($"First failed object: {failedObjects.First().Error}");
}
// END BatchImportWithVectorExample

Expand Down Expand Up @@ -342,16 +395,17 @@ await client.Collections.Create(

var collection = client.Collections.Use("MyCollection");

// Insert the data using InsertMany
// `Batch.InsertMany` imports the list using server-side batching.
// highlight-start
var response = await collection.Data.InsertMany(dataToInsert);
var response = await collection.Batch.InsertMany(dataToInsert);
// highlight-end

// Handle errors
if (response.HasErrors)
var failedObjects = response.Where(r => r.Error != null).ToList();
if (failedObjects.Any())
{
Console.WriteLine($"Number of failed imports: {response.Errors.Count()}");
Console.WriteLine($"First failed object error: {response.Errors.First().Message}");
Console.WriteLine($"Number of failed imports: {failedObjects.Count}");
Console.WriteLine($"First failed object error: {failedObjects.First().Error}");
}
// END BatchImportWithNamedVectors
}
Expand Down
14 changes: 9 additions & 5 deletions _includes/code/csharp/QuickstartLocalTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -87,21 +87,25 @@ public async Task FullQuickstartWorkflowTest()
);
}

// Call InsertMany with the list of objects converted to an array
var insertResponse = await questions.Data.InsertMany(questionsToInsert.ToArray());
// `Batch.InsertMany` imports the list using server-side batching
var insertResponse = await questions.Batch.InsertMany(questionsToInsert);
// highlight-end
// END Import

// Check for errors
if (insertResponse.HasErrors)
{
Console.WriteLine($"Number of failed imports: {insertResponse.Errors.Count()}");
Console.WriteLine($"First failed object error: {insertResponse.Errors.First()}");
// `Objects` holds one entry per object; `Index` is the position of the object in the input
foreach (var entry in insertResponse.Objects.Where(o => o.Error is not null))
{
Console.WriteLine($"Failed object at index {entry.Index}: {entry.Error.Message}");
}
}
else
{
Console.WriteLine($"Successfully inserted {insertResponse.Objects.Count()} objects.");
Console.WriteLine($"Successfully inserted {insertResponse.Count} objects.");
}
// END Import

// START NearText
// highlight-start
Expand Down
16 changes: 10 additions & 6 deletions _includes/code/csharp/QuickstartTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public static async Task FullQuickstartWorkflowTest()
Property.Text("category"),
],
VectorConfig = Configure.Vector("default", v => v.Text2VecWeaviate()), // Configure the Weaviate Embeddings integration
GenerativeConfig = Configure.Generative.Cohere(), // Configure the Cohere generative AI integration
GenerativeConfig = Configure.Generative.OpenAI(), // Configure the OpenAI generative AI integration
}
);
// highlight-end
Expand Down Expand Up @@ -95,21 +95,25 @@ public static async Task FullQuickstartWorkflowTest()
);
}

// Call InsertMany with the list of objects converted to an array
var insertResponse = await questions.Data.InsertMany(questionsToInsert.ToArray());
// `Batch.InsertMany` imports the list using server-side batching
var insertResponse = await questions.Batch.InsertMany(questionsToInsert);
// highlight-end
// END Import

// Check for errors
if (insertResponse.HasErrors)
{
Console.WriteLine($"Number of failed imports: {insertResponse.Errors.Count()}");
Console.WriteLine($"First failed object error: {insertResponse.Errors.First()}");
// `Objects` holds one entry per object; `Index` is the position of the object in the input
foreach (var entry in insertResponse.Objects.Where(o => o.Error is not null))
{
Console.WriteLine($"Failed object at index {entry.Index}: {entry.Error.Message}");
}
}
else
{
Console.WriteLine($"Successfully inserted {insertResponse.Objects.Count()} objects.");
Console.WriteLine($"Successfully inserted {insertResponse.Count} objects.");
}
// END Import

// START NearText
// highlight-start
Expand Down
Loading
Loading