Skip to content
21 changes: 15 additions & 6 deletions charts/ai-assistant/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,31 @@
# Changelog

- [Changelog](#changelog)
- [0.4.0 (2025-10-28)](#040-2025-10-28)
- [Changed](#changed)
- [0.3.0 (2025-10-04)](#030-2025-10-04)
- [Added](#added)
- [Changed](#changed)
- [Changed](#changed-1)
- [0.2.0 (2025-07-04)](#020-2025-07-04)
- [Added](#added-1)
- [Changed](#changed-1)
- [0.1.0 (2025-06-17)](#010-2025-06-17)
- [Changed](#changed-2)
- [0.0.13 (2025-06-10)](#0013-2025-06-10)
- [0.1.0 (2025-06-17)](#010-2025-06-17)
- [Changed](#changed-3)
- [0.0.12 (2025-06-10)](#0012-2025-06-10)
- [0.0.13 (2025-06-10)](#0013-2025-06-10)
- [Changed](#changed-4)
- [0.0.10 (2025-06-9)](#0010-2025-06-9)
- [0.0.12 (2025-06-10)](#0012-2025-06-10)
- [Changed](#changed-5)
- [0.0.10 (2025-06-9)](#0010-2025-06-9)
- [Changed](#changed-6)
- [0.0.1 (2025-05-28)](#001-2025-05-28)
- [Added](#added-2)

## 0.4.0 (2025-11-7)

### Changed

* [AI Assistant 1.6.0](https://www.nutrient.io/guides/ai-assistant/changelog/#1.6.0)

## 0.3.0 (2025-10-04)

### Added
Expand Down
6 changes: 3 additions & 3 deletions charts/ai-assistant/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ type: application
description: AI Assistant is a thing that assists an AI
home: https://www.nutrient.io/guides/ai-assistant/
icon: https://cdn.prod.website-files.com/65fdb7696055f07a05048833/66e58e33c3880ff24aa34027_nutrient-logo.png
version: 0.3.0
appVersion: "1.5.0"
version: 0.4.0
appVersion: "1.6.0"

keywords:
- nutrient
Expand All @@ -18,6 +18,6 @@ maintainers:

dependencies:
- name: document-engine
version: ~6
version: ~7
repository: https://pspdfkit.github.io/helm-charts
condition: document-engine.enabled
2 changes: 1 addition & 1 deletion charts/ai-assistant/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# AI Assistant Helm chart

![Version: 0.3.0](https://img.shields.io/badge/Version-0.3.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.5.0](https://img.shields.io/badge/AppVersion-1.5.0-informational?style=flat-square)
![Version: 0.4.0](https://img.shields.io/badge/Version-0.4.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.6.0](https://img.shields.io/badge/AppVersion-1.6.0-informational?style=flat-square)

AI Assistant is a thing that assists an AI

Expand Down
4 changes: 2 additions & 2 deletions charts/ai-assistant/values.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@
},
"name": {
"type": "string",
"pattern": "^(openai|azure|bedrock|openai-compat)$"
"pattern": "^(openai|azure|bedrock|openai-compat|mock)$"
}
}
}
Expand All @@ -393,7 +393,7 @@
},
"name": {
"type": "string",
"pattern": "^(openai|azure|bedrock|openai-compat)$"
"pattern": "^(openai|azure|bedrock|openai-compat|mock)$"
}
}
}
Expand Down
64 changes: 9 additions & 55 deletions charts/ai-assistant/values.simple.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,70 +10,24 @@ apiAuth:
publicKey: none
algorithm: RS256

# This is only necessary until `openai-mock` supports text embeddings
sidecars:
- name: openai-mocker
image: python:3.11-alpine
imagePullPolicy: IfNotPresent
command:
- /bin/sh
- -ce
- |-
cat > /tmp/embeddings-mock.py << 'EOF'
import uvicorn
from fastapi import FastAPI
from pydantic import BaseModel
from typing import List, Union
import random

app = FastAPI()

class EmbeddingRequest(BaseModel):
input: Union[str, List[str]]
model: str = "text-embedding-3-small"

@app.post("/v1/embeddings")
async def create_embeddings(request: EmbeddingRequest):
inputs = request.input if isinstance(request.input, list) else [request.input]
embeddings = []
for i, text in enumerate(inputs):
embedding = [random.uniform(-1, 1) for _ in range(1536)]
embeddings.append({
"object": "embedding",
"index": i,
"embedding": embedding
})
return {
"object": "list",
"data": embeddings,
"model": request.model,
"usage": {
"prompt_tokens": sum(len(text.split()) for text in inputs),
"total_tokens": sum(len(text.split()) for text in inputs)
}
}

if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8080)
EOF

pip install fastapi uvicorn && python /tmp/embeddings-mock.py

config:
serviceConfiguration:
version: '1'
aiServices:
chat:
provider:
name: 'openai-compat'
baseUrl: 'https://api.openai-mock.com'
model: 'gpt-4'
name: "mock"
fakeResponses:
- "Hello! This is a mock response for testing."
- "Mock provider is working correctly."
- "Test response from AIA mock provider."
model: "mock-chat-model"
textEmbeddings:
provider:
name: 'openai-compat'
# `openai-mock` does not yet support text embeddings
baseUrl: 'http://localhost:8080/v1'
model: 'text-embedding-3-small'
name: "mock"
fakeResponses: []
model: "mock-embedding-model"
documentEngine:
enabled: true
url: http://document-engine:5000
Expand Down