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
6 changes: 6 additions & 0 deletions docs/content/docs/concepts.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
title: Core Concepts – Rhesis
description: Understand the core concepts behind Rhesis — test sets, behaviors, metrics, endpoints, and the end-to-end AI testing workflow.
keywords: [AI testing concepts, test sets, LLM behaviors, AI metrics, test workflow]
---

# Core Concepts

This guide walks you through the core concepts of Rhesis.
Expand Down
6 changes: 6 additions & 0 deletions docs/content/docs/endpoints/index.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
title: Endpoints – Rhesis
description: Configure and manage API endpoints that Rhesis tests execute against. Connect single-turn and multi-turn LLM applications for automated evaluation.
keywords: [AI endpoint configuration, LLM API endpoint, test endpoint, AI application testing]
---

import { CodeBlock } from "@/components/CodeBlock";

# Endpoints
Expand Down
6 changes: 6 additions & 0 deletions docs/content/docs/getting-started/connecting-application.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
title: Connect Your Application – Rhesis
description: Connect your Generative AI application to Rhesis via REST endpoints or the Python SDK. Rhesis orchestrates test prompts and records responses for evaluation.
keywords: [connect AI application, Rhesis integration, LLM API integration, Python SDK integration]
---

import { CodeBlock } from '@/components/CodeBlock'

# Connect Application
Expand Down
6 changes: 6 additions & 0 deletions docs/content/docs/getting-started/index.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
title: Getting Started with Rhesis
description: Set up your Rhesis environment, connect your Gen AI application, and run your first automated evaluations in minutes.
keywords: [getting started, AI testing setup, LLM evaluation quickstart, connect AI application]
---

import { NextStepCard, NextStepCardGrid } from '@/components/NextStepCard'

# Getting Started
Expand Down
6 changes: 6 additions & 0 deletions docs/content/docs/index.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
title: Rhesis Documentation
description: The AI testing platform for Gen AI teams. Connect your LLM apps, generate test sets, simulate adversarial conversations, and trace every failure to its root cause.
keywords: [AI testing platform, LLM testing, Gen AI evaluation, AI quality assurance]
---

import { ButtonGroup } from '@/components/ButtonGroup'
import { CommunitySupport } from '@/components/CommunitySupport'

Expand Down
6 changes: 6 additions & 0 deletions docs/content/docs/test-execution/index.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
title: Test Execution – Rhesis
description: Execute test sets against your AI endpoints to evaluate model performance, safety, and reliability. Configure execution options and analyse results.
keywords: [test execution, AI test runner, LLM evaluation, model safety testing, automated AI testing]
---

import { YouTubeEmbed } from "@/components/YouTubeEmbed";

# Test Execution
Expand Down
6 changes: 6 additions & 0 deletions docs/content/docs/tracing/index.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
title: Tracing – Rhesis
description: OpenTelemetry-based observability for AI applications. Trace LLM calls, agent steps, and tool use to debug failures and understand model behaviour.
keywords: [AI tracing, OpenTelemetry LLM, AI observability, LLM tracing, agent tracing]
---

import { CodeBlock } from "@/components/CodeBlock";

# Tracing
Expand Down
6 changes: 6 additions & 0 deletions docs/content/guides/index.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
title: Guides – Rhesis
description: Step-by-step guides for testing AI applications with Rhesis — from a 10-minute quickstart to building custom metrics and CI/CD integration.
keywords: [AI testing guides, LLM testing tutorial, custom metrics, CI/CD AI testing]
---

import { NextStepCard, NextStepCardGrid } from '@/components/NextStepCard'

# Guides
Expand Down
6 changes: 6 additions & 0 deletions docs/content/sdk/client.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
title: RhesisClient – Rhesis Python SDK
description: The RhesisClient is the central entry point for the Rhesis SDK. Initialize telemetry, manage connectors for remote testing, and access the Rhesis API.
keywords: [RhesisClient, Rhesis Python SDK, SDK API client, AI testing client]
---

import { CodeBlock } from "@/components/CodeBlock";

# RhesisClient
Expand Down
6 changes: 6 additions & 0 deletions docs/content/sdk/installation.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
title: SDK Installation & Setup – Rhesis
description: Install the Rhesis Python SDK, configure authentication, and learn the core concepts — models, synthesizers, and metrics — to start testing your AI applications.
keywords: [Rhesis SDK, Python SDK install, AI testing SDK, SDK setup, pip install rhesis]
---

import { CodeBlock } from '@/components/CodeBlock'

# Installation & Setup
Expand Down
9 changes: 8 additions & 1 deletion docs/src/app/sitemap.js
Original file line number Diff line number Diff line change
Expand Up @@ -160,9 +160,16 @@ export default async function sitemap() {
const url = urlPath ? `${baseUrl}/${urlPath}` : baseUrl
if (urlSet.has(url)) continue
urlSet.add(url)
const fullPath = path.join(contentDir, filePath)
let lastModified
try {
lastModified = fs.statSync(fullPath).mtime
} catch {
lastModified = new Date()
}
sitemapEntries.push({
url,
lastModified: new Date(),
lastModified,
changeFrequency: 'weekly',
priority: getPriority(urlPath),
})
Expand Down
26 changes: 20 additions & 6 deletions docs/src/lib/metadata.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,13 +87,27 @@ export function generatePageMetadata(
description = config.siteDescription
}

// Merge page-level keywords (from frontmatter) with sitewide defaults
const pageKeywords = baseMetadata?.keywords
const keywords = pageKeywords
? [
...new Set([
...(Array.isArray(pageKeywords) ? pageKeywords : [pageKeywords]),
...config.keywords,
]),
]
: config.keywords

const canonicalUrl = getCanonicalUrl(urlPath, config)
const imageUrl = getOpenGraphImage(urlPath, config.defaultImage)

// Respect ROBOTS_NOINDEX env var (e.g. staging deployments)
const noIndex = process.env.ROBOTS_NOINDEX === 'true'

return {
title,
description,
keywords: config.keywords,
keywords,
authors: [{ name: config.author.name, url: config.author.url }],
creator: config.author.name,
publisher: config.organization.name,
Expand Down Expand Up @@ -131,13 +145,13 @@ export function generatePageMetadata(
images: [imageUrl],
},

// Robots
// Robots — respect ROBOTS_NOINDEX for staging/preview environments
robots: {
index: true,
follow: true,
index: !noIndex,
follow: !noIndex,
googleBot: {
index: true,
follow: true,
index: !noIndex,
follow: !noIndex,
'max-video-preview': -1,
'max-image-preview': 'large',
'max-snippet': -1,
Expand Down
Loading