unstructured

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 19, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MetadataFileSuffix         = "-metadata.json"
	ConvertedFileSuffix        = "-converted.json"
	ChunksFileSuffix           = "-chunks.json"
	VectorEmbeddingsFileSuffix = "-vector-embeddings.json"
)

Variables

This section is empty.

Functions

func FilterChunksFilePaths

func FilterChunksFilePaths(filePaths []string) []string

func FilterConvertedFilePaths

func FilterConvertedFilePaths(filePaths []string) []string

func FilterRawFilePaths

func FilterRawFilePaths(filePaths []string) []string

func FilterVectorEmbeddingsFilePaths added in v0.2.0

func FilterVectorEmbeddingsFilePaths(filePaths []string) []string

func GetChunksFilePath

func GetChunksFilePath(rawFilePath string) string

func GetConvertedFilePath

func GetConvertedFilePath(rawFilePath string) string

func GetMetadataFilePath

func GetMetadataFilePath(rawFilePath string) string

func GetRawFilePathFromConvertedFilePath

func GetRawFilePathFromConvertedFilePath(convertedFilePath string) string

func GetVectorEmbeddingsFilePath

func GetVectorEmbeddingsFilePath(rawFilePath string) string

Types

type Chunker

type Chunker interface {
	Chunk(text string) ([]string, error)
}

type ChunkingTool

type ChunkingTool string
const (
	LangchainChunkingTool ChunkingTool = "langchain"
)

type Chunks

type Chunks struct {
	Text []string `json:"text"`
}

type ChunksDocument

type ChunksDocument struct {
	Metadata *ChunksFileMetadata `json:"metadata"`
	Chunks   *Chunks             `json:"chunks"`
}

type ChunksFile

type ChunksFile struct {
	ConvertedDocument *ConvertedDocument `json:"convertedDocument"`
	ChunksDocument    *ChunksDocument    `json:"chunksDocument"`
}

type ChunksFileMetadata

type ChunksFileMetadata struct {
	ConvertedFileMetadata *ConvertedFileMetadata         `json:"convertedFileMetadata"`
	ChunkingTool          ChunkingTool                   `json:"chunkingTool"`
	ChunksGeneratorConfig v1alpha1.ChunksGeneratorConfig `json:"chunksGeneratorConfig"`
}

func (*ChunksFileMetadata) Equal

func (c *ChunksFileMetadata) Equal(other *ChunksFileMetadata) bool

type Content

type Content struct {
	Markdown string `json:"markdown"`
}

type ConvertedDocument

type ConvertedDocument struct {
	Metadata *ConvertedFileMetadata `json:"metadata"`
	Content  *Content               `json:"content"`
}

type ConvertedFile

type ConvertedFile struct {
	ConvertedDocument *ConvertedDocument `json:"convertedDocument"`
}

type ConvertedFileMetadata

type ConvertedFileMetadata struct {
	RawFilePath       string                 `json:"rawFilePath"`
	DocumentConverter DocumentConverter      `json:"documentConverter"`
	DoclingConfig     v1alpha1.DoclingConfig `json:"doclingConfig"`
}

func (*ConvertedFileMetadata) Equal

type DataSource

type DataSource interface {
	// SyncFilesToFilestore will store all files from the source to the filestore and return the list of file paths
	SyncFilesToFilestore(ctx context.Context, fs *filestore.FileStore) ([]RawFileMetadata, error)
}

type Destination

type Destination interface {
	// SyncFilesToDestination will sync the data to the destination
	SyncFilesToDestination(ctx context.Context, fs *filestore.FileStore, filePaths []string) error
}

type DocumentConverter

type DocumentConverter string
const (
	DocumentConverterDocling DocumentConverter = "docling"
)

type EmbeddingDocument added in v0.2.0

type EmbeddingDocument struct {
	Metadata   *EmbeddingFileMetadata `json:"metadata"`
	Embeddings []*Embeddings          `json:"embeddings"`
}

type EmbeddingFileMetadata added in v0.2.0

type EmbeddingFileMetadata struct {
	ConvertedFileMetadata   *ConvertedFileMetadata           `json:"convertedFileMetadata"`
	ChunkFileMetadata       *ChunksFileMetadata              `json:"chunkFileMetadata"`
	ModelName               string                           `json:"modelName"`
	NomicEmbedTextV15Config v1alpha1.NomicEmbedTextV15Config `json:"nomicEmbedTextV15Config,omitempty"`
}

func (*EmbeddingFileMetadata) Equal added in v0.2.0

type Embeddings added in v0.2.0

type Embeddings struct {
	Text      string    `json:"text"`
	Embedding []float64 `json:"embedding"`
}

type EmbeddingsFile added in v0.2.0

type EmbeddingsFile struct {
	ConvertedDocument *ConvertedDocument `json:"convertedDocument"`
	ChunksDocument    *ChunksDocument    `json:"chunksDocument"`
	EmbeddingDocument *EmbeddingDocument `json:"embeddingDocument"`
}

type MarkdownSplitter

type MarkdownSplitter struct {
	LangchainClient *langchain.Client
	Config          *textsplitter.Options
}

func (*MarkdownSplitter) Chunk

func (c *MarkdownSplitter) Chunk(text string) ([]string, error)

type RawFileMetadata

type RawFileMetadata struct {
	FilePath string `json:"filePath,omitempty"`
	UID      string `json:"uid,omitempty"`
}

type RecursiveCharacterSplitter

type RecursiveCharacterSplitter struct {
	LangchainClient *langchain.Client
	Config          *textsplitter.Options
}

func (*RecursiveCharacterSplitter) Chunk

func (c *RecursiveCharacterSplitter) Chunk(text string) ([]string, error)

type S3BucketSource

type S3BucketSource struct {
	Bucket string
	Prefix string
}

func (*S3BucketSource) SyncFilesToFilestore

func (s *S3BucketSource) SyncFilesToFilestore(ctx context.Context, fs *filestore.FileStore) ([]RawFileMetadata, error)

type S3Destination added in v0.2.0

type S3Destination struct {
	S3Client        *s3.Client
	Bucket          string
	Prefix          string
	DataProductName string // used as default prefix when Prefix is empty (CR name)
}

S3Destination syncs chunk files to an S3 bucket (e.g. LocalStack or AWS).

func (*S3Destination) SyncFilesToDestination added in v0.2.0

func (d *S3Destination) SyncFilesToDestination(ctx context.Context, fs *filestore.FileStore,
	chunksFilePaths []string) error

type SnowflakeInternalStage

type SnowflakeInternalStage struct {
	Client   *snowflake.Client
	Role     string
	Database string
	Schema   string
	Stage    string
}

func (*SnowflakeInternalStage) SyncFilesToDestination

func (d *SnowflakeInternalStage) SyncFilesToDestination(ctx context.Context,
	fs *filestore.FileStore, embeddingsFilePaths []string) error

type TokenSplitter

type TokenSplitter struct {
	LangchainClient *langchain.Client
	Config          *textsplitter.Options
}

func (*TokenSplitter) Chunk

func (c *TokenSplitter) Chunk(text string) ([]string, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL