FluxIndex.AI.OpenAI 0.2.7

dotnet add package FluxIndex.AI.OpenAI --version 0.2.7
                    
NuGet\Install-Package FluxIndex.AI.OpenAI -Version 0.2.7
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FluxIndex.AI.OpenAI" Version="0.2.7" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FluxIndex.AI.OpenAI" Version="0.2.7" />
                    
Directory.Packages.props
<PackageReference Include="FluxIndex.AI.OpenAI" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FluxIndex.AI.OpenAI --version 0.2.7
                    
#r "nuget: FluxIndex.AI.OpenAI, 0.2.7"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FluxIndex.AI.OpenAI@0.2.7
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FluxIndex.AI.OpenAI&version=0.2.7
                    
Install as a Cake Addin
#tool nuget:?package=FluxIndex.AI.OpenAI&version=0.2.7
                    
Install as a Cake Tool

FluxIndex

CI/CD NuGet License

RAG(Retrieval-Augmented Generation) 시스템 구축을 위한 .NET 라이브러리

🎯 개요

FluxIndex는 문서 인덱싱과 검색에 특화된 RAG 라이브러리입니다. 복잡한 인프라 구성 없이 벡터 검색과 키워드 검색을 결합한 하이브리드 검색을 제공합니다.

📄 문서 → 🔪 청킹 → 📦 인덱싱 → 🔍 검색 → 📊 평가

📦 Store 기능 (지능형 저장)

  • 유연한 입력: 단일문서, 청킹된 데이터, 그래프 구조 모두 지원
  • 선택적 증강: AI 기반 메타데이터 추출 (카테고리, 요약, 키워드)
  • 계층적 청킹: Small-to-Big 4단계 계층 자동 구성
  • 관계 분석: 청크 간 의미적/계층적 관계 자동 구축
  • 네이티브 벡터: sqlite-vec, pgvector 등 고성능 벡터 저장소 지원

🔍 Search 기능 (전략적 검색)

  • 다중 전략: 벡터(HNSW) + 하이브리드(BM25) + 그래프 검색
  • 적응형 검색: 쿼리 복잡도에 따른 최적 전략 자동 선택
  • 재순위화: RRF, Cross-encoder, LLM-as-Judge 다단계 정제
  • 성능 최적화: 95% 유사도 시맨틱 캐싱, HNSW 자동 튜닝
  • 네이티브 검색: sqlite-vec의 vec0 테이블을 통한 고성능 벡터 검색

🔧 자동 최적화

  • 지속적 학습: 쿼리 패턴 기반 성능 자동 향상
  • 실시간 모니터링: 9가지 품질 메트릭 자동 추적
  • AI Provider 중립성: OpenAI, Azure, 커스텀 서비스 자유 선택

🎯 FluxIndex 책임 범위

  • Store: 다양한 입력 수용 및 지능형 증강
  • Search: 전략적 검색 및 재순위화
  • 자동 최적화: 성능 튜닝 및 품질 관리
  • 확장성: AI Provider 중립 및 전략 플러그인

🚫 다른 라이브러리 책임

  • 파일 처리: PDF/DOC 파싱 (FileFlux 담당, FluxIndex.Extensions.FileFlux로 통합 지원)
  • 웹 크롤링: URL 추출 (WebFlux 담당, FluxIndex.Extensions.WebFlux로 통합 지원)
  • 웹 서버: API 구현 (소비앱 담당)
  • 인증 시스템: 사용자 관리 (소비앱 담당)
  • AI 프로바이더: 소비앱 담당, FluxIndex.AI.* 주요 공급자 통합 제공

📋 설치

핵심 패키지

패키지명 필수 여부 설명
FluxIndex.SDK 필수 통합 API 클라이언트
FluxIndex.Storage.* 택1 필수 벡터 저장소 (SQLite/PostgreSQL 중 선택)

AI 프로바이더 (선택사항)

패키지명 설명
FluxIndex.AI.OpenAI OpenAI/Azure OpenAI 연동 편의 제공

💡 AI 프로바이더: 직접 IEmbeddingService, ITextCompletionService 구현 가능

저장소 선택 (택1 필수)

패키지명 설명
FluxIndex.Storage.SQLite SQLite 벡터 저장소 (개발용, sqlite-vec 지원)
FluxIndex.Storage.PostgreSQL PostgreSQL+pgvector (프로덕션용)

💡 sqlite-vec: SQLite 저장소는 네이티브 벡터 검색을 위한 sqlite-vec 확장을 지원합니다.

캐시 시스템 (선택사항)

패키지명 설명
FluxIndex.Cache.Redis Redis 기반 캐시 (기본: 메모리 캐시)

확장 기능 (선택사항)

패키지명 설명
FluxIndex.Extensions.FileFlux PDF/DOC/TXT 파일 처리 및 청킹
FluxIndex.Extensions.WebFlux 웹페이지 크롤링 및 콘텐츠 추출

설치 예제

최소 구성 (로컬 개발)
# 필수: SDK + 저장소
dotnet add package FluxIndex.SDK
dotnet add package FluxIndex.Storage.SQLite
커스텀 AI 구성
# 필수 패키지
dotnet add package FluxIndex.SDK
dotnet add package FluxIndex.Storage.PostgreSQL

# 커스텀 AI 서비스 구현
services.AddScoped<IEmbeddingService, MyCustomEmbeddingService>();
services.AddScoped<ITextCompletionService, MyCustomLLMService>();
편의 패키지 활용
# OpenAI 편의 패키지 사용
dotnet add package FluxIndex.SDK
dotnet add package FluxIndex.AI.OpenAI
dotnet add package FluxIndex.Storage.PostgreSQL
dotnet add package FluxIndex.Cache.Redis
풀 기능 구성
# 모든 확장 기능 포함
dotnet add package FluxIndex.SDK
dotnet add package FluxIndex.AI.OpenAI
dotnet add package FluxIndex.Storage.PostgreSQL
dotnet add package FluxIndex.Cache.Redis
dotnet add package FluxIndex.Extensions.FileFlux
dotnet add package FluxIndex.Extensions.WebFlux

💡 시작하기

using FluxIndex.SDK;
using FluxIndex.Extensions.FileFlux;
using Microsoft.Extensions.DependencyInjection;

// 기본 설정
var services = new ServiceCollection();
services.AddFluxIndex()
    .AddSQLiteVectorStore()              // 저장소
    .UseOpenAIEmbedding(apiKey: "...");  // AI (선택적)

// FileFlux 확장 (파일 처리)
services.AddFileFlux(options =>
{
    options.DefaultChunkingStrategy = "Auto";
    options.DefaultMaxChunkSize = 512;
});

var serviceProvider = services.BuildServiceProvider();
var client = serviceProvider.GetRequiredService<FluxIndexClient>();
var fileFlux = serviceProvider.GetRequiredService<FileFluxIntegration>();

// 파일 인덱싱 (FileFlux 확장 사용)
var documentId = await fileFlux.ProcessAndIndexAsync("document.pdf");

// 텍스트 인덱싱 (기본 방식)
await client.Indexer.IndexDocumentAsync(
    "FluxIndex는 .NET RAG 라이브러리입니다.", "doc-001");

// 검색
var results = await client.Retriever.SearchAsync("RAG 라이브러리");
foreach (var result in results)
{
    Console.WriteLine($"{result.Score:F2}: {result.Content}");
}

📖 상세 가이드: 튜토리얼 | 치트시트 | 샘플 코드


🔍 검색 시스템

FluxIndex는 고도화된 검색 전략을 제공합니다:

  • 키워드 검색: BM25 알고리즘 기반 정확한 용어 매칭
  • 벡터 검색: HNSW 인덱스 기반 의미 유사도 검색
  • 하이브리드 검색: RRF(Reciprocal Rank Fusion) 기반 결과 융합
  • Small-to-Big: 4단계 계층적 컨텍스트 확장
  • 재순위화: Local/Cross-encoder 기반 결과 개선
  • 쿼리 변환: HyDE, QuOTE 등 고급 검색 기법
  • 시맨틱 캐싱: 중복 검색 요청 최적화

🏗️ 아키텍처

프로젝트 구조

FluxIndex.Core          # 핵심 도메인 및 애플리케이션 로직
FluxIndex.SDK           # 통합 API 클라이언트
FluxIndex.AI.*          # AI 서비스 어댑터
FluxIndex.Storage.*     # 저장소 구현
FluxIndex.Cache.*       # 캐시 구현
FluxIndex.Extensions.*  # 확장 기능

의존성 주입

// 구성 요소를 인터페이스 기반으로 교체 가능
services.AddScoped<IEmbeddingService, OpenAIEmbeddingService>();
services.AddScoped<IVectorStore, PostgreSQLVectorStore>();
services.AddScoped<ICacheService, RedisCacheService>();

✨ 주요 특징

  • 모듈형 설계: 필요한 구성 요소만 선택적 설치
  • AI 중립성: 다양한 AI 서비스 지원 (OpenAI, 커스텀 등)
  • 확장 가능: 인터페이스 기반으로 새로운 구현체 추가 가능
  • 평가 도구: 9가지 지표로 RAG 성능 측정 및 개선
  • Clean Architecture: 테스트 가능하고 유지보수 용이한 설계
  • 성능 최적화: HNSW 인덱스, 시맨틱 캐싱, 자동 튜닝

📚 문서 및 학습 자료

🚀 빠른 시작

📋 상세 문서

💻 실습 자료

🎯 추천 학습 경로

초보자: 튜토리얼치트시트RealWorldDemo

중급자: 하이브리드 검색아키텍처실전 예제

고급자: RAG 시스템Core 라이브러리 → 커스터마이징

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on FluxIndex.AI.OpenAI:

Package Downloads
FluxIndex.SDK

FluxIndex SDK - Infrastructure and high-level API for FluxIndex RAG system

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.2.7 84 9/29/2025
0.2.5 136 9/26/2025
0.2.4 242 9/25/2025
0.2.3 165 9/23/2025
0.2.2 178 9/22/2025
0.1.4 209 9/15/2025
0.1.3 216 9/15/2025
0.1.2 221 9/15/2025