Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
7 changes: 3 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,6 @@ yarn.lock
.python-version
__pycache__

# Local Netlify folder
.netlify

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[codz]
Expand Down Expand Up @@ -260,4 +257,6 @@ __marimo__/
.streamlit/secrets.toml

_includes/code/csharp/bin/
_includes/code/csharp/obj/
_includes/code/csharp/obj/

.netlify/
20 changes: 20 additions & 0 deletions .netlify/functions/geolocation.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
exports.handler = async (event) => {
try {
// Netlify provides geo data in a base64 encoded header
const geoData = JSON.parse(
Buffer.from(event.headers["x-nf-geo"], "base64").toString("utf-8")
);
const countryCode = geoData.country?.code || null;

return {
statusCode: 200,
body: JSON.stringify({ country: countryCode }),
};
} catch (error) {
console.error("Error parsing geolocation data:", error);
return {
statusCode: 500,
body: JSON.stringify({ error: "Failed to determine location" }),
};
}
};
1 change: 1 addition & 0 deletions docs/agents/query/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Query Agent
sidebar_position: 10
description: "Overview of the AI agent that handles complex queries across multiple Weaviate collections with natural language understanding."
image: og/docs/agents.jpg
show_expert_call_cta: true
# tags: ['agents', 'getting started', 'query agent']
---

Expand Down
1 change: 1 addition & 0 deletions docs/agents/query/tutorial-ecommerce.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ sidebar_label: 'Tutorial: E-Commerce assistant'
description: "Tutorial for creating an e-commerce assistant that answers product and brand queries using the Query Agent."
sidebar_position: 40
image: og/docs/tutorials.jpg
show_expert_call_cta: true
# tags: ['basics']
---

Expand Down
1 change: 1 addition & 0 deletions docs/agents/query/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Usage
sidebar_position: 30
description: "Technical documentation and usage examples for implementing the Query Agent."
image: og/docs/agents.jpg
show_expert_call_cta: true
# tags: ['agents', 'getting started', 'query agent']
---

Expand Down
1 change: 1 addition & 0 deletions docs/cloud/embeddings/administration.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Administration
sidebar_position: 3
description: "Configuration and management settings for Weaviate Embeddings service at the organization level."
image: og/wcd/user_guides.jpg
show_expert_call_cta: true
---

import Link from '@docusaurus/Link';
Expand Down
1 change: 1 addition & 0 deletions docs/cloud/embeddings/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Weaviate Embeddings
sidebar_position: 0
description: "Managed embedding inference service that generates embeddings for data and queries directly from Weaviate Cloud."
image: og/wcd/user_guides.jpg
show_expert_call_cta: true
---

Weaviate Embeddings is a managed embedding inference service for Weaviate Cloud users. It helps generate embeddings for your data and queries conveniently and directly from a Weaviate Cloud database instance.
Expand Down
1 change: 1 addition & 0 deletions docs/cloud/embeddings/models.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ sidebar_label: Choose a model
sidebar_position: 2
description: "List of pre-trained embedding models optimized for enterprise retrieval tasks in multiple languages."
image: og/wcd/user_guides.jpg
show_expert_call_cta: true
---

On this page, you can find a list of pre-trained models designed specifically for enterprise retrieval tasks in English and other languages. Additional models and features will be added in the future, so please check back regularly for updates.
Expand Down
1 change: 1 addition & 0 deletions docs/cloud/embeddings/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Quickstart
sidebar_position: 1
description: "Getting started guide for importing and querying data using the Weaviate Embeddings service."
image: og/wcd/user_guides.jpg
show_expert_call_cta: true
---

import Tabs from "@theme/Tabs";
Expand Down
1 change: 1 addition & 0 deletions docs/cloud/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ sidebar_label: Quickstart
sidebar_position: 1
description: "Getting started guide for new Weaviate Cloud users to deploy their first cluster."
image: og/docs/quickstart-tutorial.jpg
show_expert_call_cta: true
# tags: ['getting started']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/concepts/cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Horizontal Scaling
sidebar_position: 30
description: "Multi-node cluster architecture and horizontal scaling strategies for high-availability Weaviate deployments."
image: og/docs/concepts.jpg
show_expert_call_cta: true
# tags: ['architecture', 'horizontal scaling', 'cluster', 'replication', 'sharding']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/concepts/replication-architecture/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Replication Architecture
sidebar_position: 0
description: "Multi-node data replication design for high availability, reliability, and improved database performance."
image: og/docs/concepts.jpg
show_expert_call_cta: true
# tags: ['architecture']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/concepts/resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Resource Planning
sidebar_position: 90
description: "CPU, memory, and GPU resource planning guidelines for optimal Weaviate performance at scale."
image: og/docs/concepts.jpg
show_expert_call_cta: true
# tags: ['architecture', 'resource', 'cpu', 'memory', 'gpu']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/configuration/authz-authn.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: Authentication and authorization
sidebar_position: 30
image: og/docs/configuration.jpg
show_expert_call_cta: true
# tags: ['authentication']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/configuration/compression/bq-compression.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: Binary Quantization (BQ)
sidebar_position: 6
image: og/docs/configuration.jpg
show_expert_call_cta: true
# tags: ['configuration', 'compression', 'bq']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/configuration/compression/multi-vectors.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: Multi-vector encodings
sidebar_position: 30
image: og/docs/configuration.jpg
show_expert_call_cta: true
# tags: ['configuration', 'compression']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/configuration/compression/pq-compression.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: Product Quantization (PQ)
sidebar_position: 5
image: og/docs/configuration.jpg
show_expert_call_cta: true
# tags: ['configuration', 'compression', 'pq']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/configuration/compression/rq-compression.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: Rotational Quantization (RQ)
sidebar_position: 25
image: og/docs/configuration.jpg
show_expert_call_cta: true
# tags: ['configuration', 'compression', 'rq']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/configuration/compression/sq-compression.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: Scalar Quantization (SQ)
sidebar_position: 27
image: og/docs/configuration.jpg
show_expert_call_cta: true
# tags: ['configuration', 'compression', 'sq']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/configuration/hnsw-snapshots.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: HNSW Snapshots
sidebar_position: 47
sidebar_label: HNSW Snapshots
description: Learn about HNSW snapshots in Weaviate for faster startup times and how to manage them.
show_expert_call_cta: true
---

:::info Added in `v1.31`
Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/configuration/rbac/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: RBAC Overview
sidebar_label: RBAC
sidebar_position: 0
image: og/docs/configuration.jpg
show_expert_call_cta: true
# tags: ['rbac', 'roles', 'configuration', 'authorization']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/configuration/rbac/manage-roles.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Manage roles
sidebar_label: Manage roles
sidebar_position: 1
image: og/docs/configuration.jpg
show_expert_call_cta: true
# tags: ['rbac', 'roles', 'configuration', 'authorization']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/configuration/rbac/manage-users.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Manage users
sidebar_label: Manage users
sidebar_position: 1
image: og/docs/configuration.jpg
show_expert_call_cta: true
# tags: ['rbac', 'roles', 'configuration', 'authorization']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/manage-collections/migrate.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Migrate data
description: Learn how to migrate data within Weaviate for easy data handling.
sidebar_position: 6
image: og/docs/howto.jpg
show_expert_call_cta: true
# tags: ['how-to', 'cursor']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/manage-collections/multi-node-setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: Multi-node setup
sidebar_position: 5
image: og/docs/howto.jpg
show_expert_call_cta: true
---

import SkipLink from "/src/components/SkipValidationLink";
Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/manage-collections/multi-tenancy.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: Multi-tenancy operations
sidebar_position: 4
image: og/docs/configuration.jpg
show_expert_call_cta: true
---

import Tabs from "@theme/Tabs";
Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/manage-collections/tenant-states.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Manage tenant states & temperature
description: Manage tenant states in Weaviate to support multitenancy and secure data separation.
sidebar_position: 61
image: og/docs/configuration.jpg
show_expert_call_cta: true
---

import Tabs from '@theme/Tabs';
Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/model-providers/weaviate/embeddings.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Text Embeddings
description: "Weaviate Embeddings' models can be accessed directly from a Weaviate Cloud instance."
sidebar_position: 20
image: og/docs/integrations/provider_integrations_wes.jpg
show_expert_call_cta: true
# tags: ['model providers', 'weaviate', 'wes', 'weaviate embeddings']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/model-providers/weaviate/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: Weaviate Embeddings
sidebar_position: 10
image: og/docs/integrations/provider_integrations_wes.jpg
show_expert_call_cta: true
# tags: ['model providers', 'weaviate', 'weaviate embeddings']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/starter-guides/custom-vectors.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: 'Quickstart: Bring your own vectors'
sidebar_label: Bring your own vectors
sidebar_position: 2
image: og/docs/tutorials.jpg
show_expert_call_cta: true
# tags: ['getting started']
---

Expand Down
1 change: 1 addition & 0 deletions docs/weaviate/starter-guides/managing-resources/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Managing resources (Hot, Warm, Cold)
description: Learn to manage resources effectively in Weaviate for optimized performance.
sidebar_position: 10
image: og/docs/tutorials.jpg
show_expert_call_cta: true
# tags: ['basics']
---

Expand Down
3 changes: 3 additions & 0 deletions netlify.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
[headers.values]
access-control-allow-origin = "*"

[functions]
directory = ".netlify/functions/"

## Remove /current from the path
[[redirects]]
from = "/weaviate/current/*"
Expand Down
16 changes: 16 additions & 0 deletions src/components/ExpertCallCTA/geolocation.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/**
* Fetches the user's country code based on their IP address.
* @returns {Promise<string|null>} The two-letter country code (e.g., 'US') or null if the fetch fails.
*/
export const getUserCountryCode = async () => {
try {
const response = await fetch('https://ip-api.com/json/?fields=countryCode');
if (!response.ok) {
throw new Error("Network response was not ok");
}
const data = await response.json();
return data.countryCode;
} catch (error) {
return null; // Return null on error so we can handle it gracefully
}
};
91 changes: 91 additions & 0 deletions src/components/ExpertCallCTA/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
import React, { useState, useEffect } from "react";
import styles from "./styles.module.scss";

// This function now calls your internal Netlify function
const getCountryFromNetlify = async () => {
try {
const response = await fetch("/.netlify/functions/geolocation");
if (!response.ok) {
throw new Error("Network response was not ok");
}
const data = await response.json();
return data.country;
} catch (error) {
return null;
}
};

export default function ExpertCallCTA() {
const [isVisible, setIsVisible] = useState(false);

useEffect(() => {
// A sample list of countries to exclude.
// ❗ IMPORTANT: This list is an example and should be reviewed and
// customized for your specific needs.
const excludedCountries = [
"RU", // Russia
"VN", // Vietnam
"IN", // India
"IR", // Iran
"PK", // Pakistan
];
const checkVisibility = async () => {
const userCountry = await getCountryFromNetlify();

// If the location lookup fails for any reason, default to showing the component.
// This ensures that users with privacy tools aren't blocked.
if (!userCountry) {
setIsVisible(true);
return;
}

// If the user's country is NOT in the exclusion list, show the component.
if (!excludedCountries.includes(userCountry)) {
setIsVisible(true);
}
};

checkVisibility();
}, []); // Empty array ensures this runs only once on mount

// If not visible, render nothing.
if (!isVisible) {
return null;
}

return (
<div className={styles.container}>
<p className={styles.text}>
Ready for production?<br/>
Book a free call with a Weaviate expert.
</p>

<div className={styles.buttonContainer}>
<a
href="https://calendly.com/your-company/expert-call"
target="_blank"
rel="noopener noreferrer"
className={`button button--primary ${styles.ctaButton}`}
>
Book call
</a>
<a
className={`button button--primary ${styles.askAiButton}`}
onClick={() => {
if (window.Kapa && typeof window.Kapa.open === "function") {
window.Kapa.open({
mode: "ai",
query: "",
submit: false,
});
} else {
console.warn("Kapa.ai is not available");
}
}}
>
Ask AI
</a>
</div>
</div>
);
}
Loading
Loading