DifyでOracle Base Database Service(23ai)を利用する設定手順

news/2025/3/6 19:19:16/

@[TOC](DifyでOracle Base Database Service(23ai)を利用する設定手順)

はじめに

本記事では、DifyプラットフォームとOracle Base Database Service(23aiエディション)を連携させる方法を解説します。クラウド環境における大規模データ処理を想定した設定方法となっています。

前提条件

  • Oracle Base Database Service 23ai の稼働環境
  • 基本的なSQLコマンドの操作知識
  • Dockerランタイムの利用可能な環境

1. データベース側の設定

1.1 接続設定とユーザー作成

sshでOracle Base Database Serviceのコンピュート・インスタンスに接続して、以下コマンドを実行

$ sqlplus / as sysdba-- コンテナデータベースへの接続
SQL> alter session set container=<PDB名>;-- 接続数パラメータ変更
ALTER SYSTEM SET PROCESSES=500 SCOPE=SPFILE;-- アプリケーション用ユーザー作成
CREATE USER dify IDENTIFIED BY <パスワード>
DEFAULT TABLESPACE users
QUOTA UNLIMITED ON users;GRANT DB_DEVELOPER_ROLE TO dify;exit;

1.2 全文検索用レクサー作成

技術ノート: Difyの現行バージョン(2025年3月2日時点)ではデフォルトでmy_chinese_vgram_lexerという命名が使用されていますが、今後は変更される可能性があります。

BEGINCTX_DDL.CREATE_PREFERENCE('my_chinese_vgram_lexer','CHINESE_VGRAM_LEXER');
END;
/

Dify_49">2. Dify環境の設定

2.1 リポジトリの取得

git clone -b 1.0.0 https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env  # 設定ファイルのテンプレートをコピー

2.2 環境変数設定

.envファイルの変更箇所:

### Oracle連携設定 ###
VECTOR_STORE=oracleORACLE_HOST=<データベースサーバーIP>
ORACLE_PORT=1521
ORACLE_USER=dify
ORACLE_PASSWORD=<設定したパスワード>
ORACLE_DATABASE=<PDB名>

2.3 Docker Composeの調整

docker-compose.yamlのOracle関連設定(外部DB利用時):

services:oracle:image: container-registry.oracle.com/database/free:latestprofiles: - oracle-skip  # 外部DB利用時はコンテナ起動をスキップvolumes:- oradata:/opt/oracle/oradataenvironment:ORACLE_PWD: ${ORACLE_PWD:-Dify123456}

3. システム起動

docker compose up -d

4. 動作検証方法

ログ確認

docker compose logs -f

Webインターフェース確認

http://localhost:3000 にアクセスし、管理画面が表示されることを確認

重要注意事項

  1. セキュリティ設定

    • ファイアウォールで1521ポートのインバウンド許可
    • パスワードポリシーの遵守(大文字/数字/記号を含む12桁以上)
  2. 命名規則

    • PDB名はインスタンス作成時に指定した名称を使用
  3. パフォーマンス

    • 初期データ投入時はPROCESSESパラメータを適宜調整
    • 表領域の監視を推奨

Dify_111">お勧めのDify関連記事

Oracle(OCI)ずくめでDifyしよう!
Dify v1.0.0のSelf-Host版を宇宙最速でデプロイしてみた@OCI

まとめ

Oracle Base Database Service 23aiDifyのバックエンドとして活用することで、エンタープライズレベルの自然言語処理アプリケーションを構築できます。本手順は開発環境向けの設定ですので、本番環境ではセキュリティガイドラインに沿った追加設定が必要です。


参考資料:

  • Dify github.com
  • Add Oracle23ai as a vector datasource
  • Add search by full text when using Oracle23ai as vector DB

http://www.ppmy.cn/news/1577146.html

相关文章

⭐算法OJ⭐跳跃游戏【贪心算法】(C++实现)Jump Game 系列 I,II

既股票买卖系列之后的第二组贪心算法题目&#xff1a;跳跃游戏系列。这一篇介绍的两个问题&#xff0c;其输入均为一个数组&#xff0c;每个元素表示在该位置可以跳跃的最大长度。 55. Jump Game You are given an integer array nums. You are initially positioned at the …

从零开始构建高效Spring Boot应用:实战案例与最佳实践

摘要 本文旨在为初学者及有一定基础的开发者提供一份详尽的指南&#xff0c;以帮助大家深入理解并掌握如何使用Spring Boot框架来快速开发企业级应用程序。通过实际案例分析、代码示例以及架构设计思路分享&#xff0c;读者不仅能够学习到理论知识&#xff0c;还能获得宝贵的实…

网络原理---HTTP/HTTPS

通过之前的网络编程&#xff0c;我们已经初步了解UDP和TCP的基本实现方法&#xff0c;接下来我们对其进一步的学习。 在网络编程中&#xff1a; 1.读和写数据通过Socket&#xff0c;通过Socket内置的InputStream和OutputStream(读写的基本单位都是字节&#xff09;。2.当在编…

游戏引擎学习第135天

仓库:https://gitee.com/mrxiao_com/2d_game_3 回顾 game_asset.cpp 的创建 在开发过程中&#xff0c;不使用任何现成的游戏引擎或第三方库&#xff0c;而是直接基于 Windows 进行开发&#xff0c;因为 Windows 目前仍然是游戏的标准平台&#xff0c;因此首先在这个环境中进行…

游戏引擎学习第137天

演示资产系统中的一个 bug 我们留下了个问题&#xff0c;你现在可以看到&#xff0c;移动时它没有选择正确的资产。我们知道问题的原因&#xff0c;就在之前我就预见到这个问题会出现。问题是我们的标签系统没有处理周期性边界的匹配问题。当处理像角度这种周期性的标签时&…

【基于手势识别的音量控制系统】

基于手势识别的音量控制系统 github 项目效果 这是一个结合了计算机视觉和系统控制的实用项目&#xff0c;通过识别手势来实现音量的无接触控制&#xff0c;同时考虑到了用户隐私&#xff0c;加入了实时人脸遮罩功能。 核心功能实现 1. 手势识别与音量映射 系统使用 Media…

扫描纸质文件转pdf---少页数+手机+电脑协作

针对手机上扫描软件扫描文件转pdf要收费的问题&#xff0c;提供一种在页数较少时的免费替代方案 。 实现方法&#xff1a;手机软件的免费功能将文件扫描并保存为图片电脑端在word中将图片拼成文档word转pdf 1.借助于“扫描全能王”APP可以免费扫描文件为图片的功能&#xff0…

阿里万相,正式开源

大家好&#xff0c;我是小悟。 阿里万相正式开源啦。这就像是AI界突然开启了一扇通往宝藏的大门&#xff0c;而且还是免费向所有人敞开的那种。 你想想看&#xff0c;在这个科技飞速发展的时代&#xff0c;AI就像是拥有神奇魔法的魔法师&#xff0c;不断地给我们带来各种意想…