> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jinba.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Teradata

> Teradata 上でクエリを実行する

## 概要

Teradata ツールを使用すると、Teradata データベースに対して SQL クエリを実行できるほか、Teradata Vantage Cloud 上でベクトルストアを構築・検索して RAG 型ワークフローを実現できます。

## 主な機能

* `TERADATA_RUN_QUERY`
  * Teradata データベース上で SQL クエリを実行
  * 構造化された形式で結果を取得可能
* `VANTAGE_CLOUD_VECTOR_STORE_CREATE`
  * Jinba ストレージのファイルから Vantage Cloud 上に VectorStore を作成（ドキュメント取り込み・チャンク分割対応）
* `VANTAGE_CLOUD_VECTOR_STORE_ADD_DOCUMENT`
  * Jinba ストレージのファイルを Vantage Cloud の既存 VectorStore にドキュメントとして追加
* `VANTAGE_CLOUD_VECTOR_SEARCH`
  * Vantage Cloud の VectorStore に対して意味的類似性検索を実行

## 認証

`TERADATA_RUN_QUERY` を使用するには、Teradata データベースの認証情報（`host`、`user`、`password`）が必要です。

3つの `VANTAGE_CLOUD_*` ツールは共通の config パラメータを使用します：

| パラメータ         | 必須  | 説明                                                                                |
| ------------- | --- | --------------------------------------------------------------------------------- |
| `host`        | いいえ | Vantage Cloud ホストアドレス（デフォルト: `host.docker.internal`。ホストマシンで SSH トンネル使用時はデフォルトのまま） |
| `dbs_port`    | いいえ | データベースポート番号（デフォルト: `1025`）                                                        |
| `username`    | はい  | データベースユーザー名                                                                       |
| `password`    | はい  | データベースパスワード                                                                       |
| `base_url`    | はい  | UES URI（末尾の `/open-analytics` を除いた URL）                                           |
| `pat_token`   | はい  | Personal Access Token（CCP 認証用）                                                    |
| `pem_content` | はい  | PEM 秘密鍵の内容（`-----BEGIN PRIVATE KEY-----` から始まるテキストをそのまま貼り付け）                      |
| `pem_kid`     | いいえ | PEM 鍵の Key ID（省略時は `username` を使用。Teradata 側で公開鍵登録時の鍵名と一致させる必要がある）                |

**注意**：API キーや認証情報は機密情報として扱い、公開リポジトリにコミットしないでください。

## Vantage Cloud ベクトルツール

### VANTAGE\_CLOUD\_VECTOR\_STORE\_CREATE

Jinba ストレージのファイルから Vantage Cloud 上に VectorStore を作成します。

**入力**:

| パラメータ               | 型      | 必須  | 説明                                                             |
| ------------------- | ------ | --- | -------------------------------------------------------------- |
| `vector_store_name` | string | はい  | 作成する VectorStore の名前                                           |
| `file_urls`         | string | はい  | ドキュメントとして取り込むファイルの HTTPS URL（カンマ区切りまたは改行区切り、最大10ファイル）          |
| `embeddings_model`  | string | いいえ | ベクトル化に使用する埋め込みモデル（デフォルト: `amazon.titan-embed-text-v1`）         |
| `search_algorithm`  | string | いいえ | 検索アルゴリズム: `VECTORDISTANCE` または `HNSW`（デフォルト: `VECTORDISTANCE`） |
| `top_k`             | number | いいえ | 検索時の上位結果数（デフォルト: 5）                                            |
| `object_names`      | string | いいえ | データ格納用のオブジェクト名（デフォルト: `vector_store_name` + `_data`）           |
| `data_columns`      | string | いいえ | テキストコンテンツ用のデータ列名（デフォルト: `chunks`）                              |
| `vector_column`     | string | いいえ | ベクトル埋め込み用の列名（デフォルト: `Embedding`）                               |
| `chunk_size`        | number | いいえ | ドキュメント分割時のチャンクサイズ（デフォルト: 500）                                  |

**出力**: `result` に `name`（作成された VectorStore 名）、`status`、`message` を含みます。

### VANTAGE\_CLOUD\_VECTOR\_STORE\_ADD\_DOCUMENT

Vantage Cloud の既存 VectorStore にドキュメントを追加します。

**入力**:

| パラメータ               | 型      | 必須 | 説明                                                    |
| ------------------- | ------ | -- | ----------------------------------------------------- |
| `vector_store_name` | string | はい | ドキュメントを追加する既存 VectorStore の名前                         |
| `file_urls`         | string | はい | ドキュメントとして追加するファイルの HTTPS URL（カンマ区切りまたは改行区切り、最大10ファイル） |

**出力**: `result` に `name`、`status`、`message` を含みます。

### VANTAGE\_CLOUD\_VECTOR\_SEARCH

Vantage Cloud の VectorStore に対して意味的類似性検索を実行します。

**入力**:

| パラメータ               | 型      | 必須  | 説明                    |
| ------------------- | ------ | --- | --------------------- |
| `vector_store_name` | string | はい  | 検索対象の VectorStore の名前 |
| `query`             | string | はい  | 類似性検索のための自然言語クエリ      |
| `top_k`             | number | いいえ | 返却する類似結果の数（デフォルト: 5）  |

**出力**: `result` に `similar_objects`（各要素は `score` と、取得可能な場合は `DataBaseName`、`TableName`、`TD_ID`、`TD_FILENAME`、`chunks`、`index_label`）と `total_count` を含みます。

### 例：VectorStore の作成と検索

```yaml theme={null}
- id: create_vector_store
  tool: VANTAGE_CLOUD_VECTOR_STORE_CREATE
  config:
    - name: username
      value: "{{secrets.VANTAGE_USERNAME}}"
    - name: password
      value: "{{secrets.VANTAGE_PASSWORD}}"
    - name: base_url
      value: "{{secrets.VANTAGE_BASE_URL}}"
    - name: pat_token
      value: "{{secrets.VANTAGE_PAT_TOKEN}}"
    - name: pem_content
      value: "{{secrets.VANTAGE_PEM_CONTENT}}"
  input:
    - name: vector_store_name
      value: "product_docs"
    - name: file_urls
      value: "{{steps.upload_manual.result.file_url}}"

- id: vector_search
  tool: VANTAGE_CLOUD_VECTOR_SEARCH
  config:
    - name: username
      value: "{{secrets.VANTAGE_USERNAME}}"
    - name: password
      value: "{{secrets.VANTAGE_PASSWORD}}"
    - name: base_url
      value: "{{secrets.VANTAGE_BASE_URL}}"
    - name: pat_token
      value: "{{secrets.VANTAGE_PAT_TOKEN}}"
    - name: pem_content
      value: "{{secrets.VANTAGE_PEM_CONTENT}}"
  input:
    - name: vector_store_name
      value: "product_docs"
    - name: query
      value: "パスワードをリセットするには？"
    - name: top_k
      value: 5
```

### 例：Teradata クエリの実行

```yaml theme={null}
- id: run_query
  tool: TERADATA_RUN_QUERY
  config:
    - name: host
      value: 100.21.165.28
    - name: user
      value: carnot
    - name: password
      value: carnot#123
  input:
    - name: query
      value: "

        \          with examples as (

        \              select 1 as id, 'jon' as name

        \              union all

        \              select 2 as id, 'jane' as name

        \          )

        \          select * from examples;

        \          "
```
