OracleSummary 통합
OracleSummary 통합 (OracleSummary integration)
LangChain JavaScript로 OracleSummary 툴과 통합해요.
Oracle AI Database는 키워드가 아니라 의미(의미론) 로 데이터를 쿼리하는 AI 워크로드를 지원해요. 비정형 콘텐츠에 대한 의미론적 검색과 비즈니스 데이터에 대한 관계형 필터링을 단일 시스템에서 결합해서, 별도의 벡터 데이터베이스를 도입하지 않고도 데이터를 여러 플랫폼에 분산시키지 않으면서 검색 워크플로(RAG 같은)를 구축할 수 있어요.
이 가이드는 Oracle AI Vector Search LangChain 통합의 OracleSummary를 사용해 문서 요약을 생성하는 방법을 보여줘요.
왜 여기서 요약인가? 요약은 긴 문서를 검색에 적합한 콘텐츠(미리보기, 메타데이터, 압축 컨텍스트)로 압축하는 실용적인 방법이면서, 거버넌스·운영 보장을 데이터 가까이 유지해요.
Oracle Database를 이제 막 시작했다면 무료 Oracle 26 AI를 살펴보세요. 사용자 관리를 위한 배경 지식은 공식 Oracle 가이드를 참고하세요.
개요 (Overview)
통합 세부 정보 (Integration details)
| 클래스 | 패키지 | 로컬 | PY 지원 |
|---|---|---|---|
OracleSummary |
@oracle/langchain-oracledb |
✅ | ✅ |
설정 (Setup)
OracleSummary에 접근하려면 @oracle/langchain-oracledb 헬퍼(@langchain/core 포함)를 설치하고, 사용 환경에 맞게 Oracle Database 드라이버 사전 요구사항이 충족되는지 확인하세요.
자격 증명 (Credentials)
요약 구성을 소유한 Oracle 사용자의 자격 증명을 설정하세요 (또는 시크릿 매니저 사용):
export ORACLE_USER=testuser
export ORACLE_PASSWORD=testuser
export ORACLE_DSN="localhost:1521/free"
OCI Generative AI나 Hugging Face 같은 서드파티 제공자를 호출하려면, Oracle AI Vector Search 가이드에 문서화된 PL/SQL 헬퍼를 사용해 Oracle Database 안에 자격 증명(예: OCI_CRED, HF_CRED)을 먼저 만들어야 해요.
설치 (Installation)
yarn add @oracle/langchain-oracledb @langchain/core
pnpm add @oracle/langchain-oracledb @langchain/core
툴 인스턴스화 (Instantiate the tool)
import oracledb from "oracledb";
import { OracleSummary } from "@oracle/langchain-oracledb";
const connection = await oracledb.getConnection({
user: process.env.ORACLE_USER,
password: process.env.ORACLE_PASSWORD,
connectionString: process.env.ORACLE_DSN,
});
const summary = new OracleSummary(
connection,
{
provider: "database",
glevel: "S",
numParagraphs: 1,
language: "english",
},
process.env.HTTP_PROXY, // optional
);
세 번째 생성자 인자는 선택적인 프록시 문자열이에요. 아웃바운드 요청이 HTTP 프록시를 거쳐야 할 때만 제공하세요 (예: Hugging Face 엔드포인트 호출).
데이터베이스 내 모델로 텍스트 요약 (Summarize text with in-database models)
ONNX 요약 모델을 Oracle Database 안에서 직접 실행해, 트랜잭션 워크로드와 같은 호스트에 데이터를 유지하세요.
const result = await summary.getSummary(
"Oracle Database combines relational and vector workloads so you can build secure RAG pipelines.",
);
console.log(result); // => concise summary text
관리형 제공자 사용 (Use managed providers)
provider 파라미터를 변경해 요약 요청을 OCI Generative AI나 Hugging Face로 라우팅하세요. Oracle Database에 등록한 자격 증명 이름을 제공하고, 필요하면 프록시 문자열도 제공하세요.
const ociSummary = new OracleSummary(
connection,
{
provider: "ocigenai",
credential_name: "OCI_CRED",
url: "https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/20231130/actions/summarizeText",
model: "cohere.command",
},
process.env.HTTP_PROXY,
);
const hfSummary = new OracleSummary(connection, {
provider: "huggingface",
credential_name: "HF_CRED",
url: "https://api-inference.huggingface.co/models/",
model: "facebook/bart-large-cnn",
wait_for_model: "true",
});
LangChain 툴과 체이닝 (Chain with LangChain tools)
OracleSummary를 커스텀 LangChain 툴이나 runnable로 감싸 에이전트 툴 호출과 통합할 수 있어요.
import { tool } from "@langchain/core/tools";
import { z } from "zod";
const summarizeTool = tool(
async ({ text }: { text: string }) => summary.getSummary(text),
{
name: "oracle_summary",
description: "Summarize Oracle-sourced documents.",
schema: z.object({
text: z.string().describe("Full text to summarize"),
}),
},
);
const toolSummary = await summarizeTool.invoke({ text });
다음 단계 (Next steps)
OracleDocLoader로 콘텐츠 로드OracleTextSplitter로 청킹·정규화OracleEmbeddings로 임베딩 생성 후OracleVS에 저장
API reference
모든 OracleSummary 파라미터와 반환 타입에 대한 자세한 문서는 Oracle LangChain Oracle DB 리포지토리를 참고하세요.
출처: 문서
본문
OracleSummary는 Oracle AI Vector Search 통합의 툴로, 데이터베이스 내 ONNX 모델 또는 OCI Generative AI·Hugging Face 같은 관리형 제공자를 통해 문서 요약을 생성해요. @oracle/langchain-oracledb 패키지에서 가져와 Oracle 연결과 구성 옵션(provider, glevel, numParagraphs, language 등)으로 인스턴스화하고, getSummary()로 요약을 생성하며, @langchain/core/tools의 tool()로 감싸 에이전트 툴 호출과 통합할 수 있어요. Node.js에서만 사용할 수 있어요.