Table of Contents

Class EmbeddingTools

Namespace
OpenAI.Utilities.Embedding
Assembly
OpenAI.Utilities.dll
public class EmbeddingTools : IEmbeddingTools, IEmbeddingToolsAdvanced
Inheritance
EmbeddingTools
Implements
Inherited Members

Constructors

EmbeddingTools(IOpenAIService, int, string)

public EmbeddingTools(IOpenAIService sdk, int maxToken, string embeddingModel)

Parameters

sdk IOpenAIService
maxToken int
embeddingModel string

Methods

AddEmbeddingsToDf(DataFrame, List<EmbeddingCreateResponse>)

Adds embeddings to the DataFrame and handles any unsuccessful embedding results.

public DataFrame AddEmbeddingsToDf(DataFrame df, List<EmbeddingCreateResponse> embeddingResults)

Parameters

df DataFrame
embeddingResults List<EmbeddingCreateResponse>

Returns

DataFrame

ClearTempCsv(string)

public void ClearTempCsv(string outputFilePath)

Parameters

outputFilePath string

CreateContext(string, DataFrame, int)

public string CreateContext(string question, DataFrame df, int maxLen = 1800)

Parameters

question string
df DataFrame
maxLen int

Returns

string

DistancesFromEmbeddings(List<double>, DataFrameColumn)

public PrimitiveDataFrameColumn<double> DistancesFromEmbeddings(List<double> qEmbeddings, DataFrameColumn embeddingsColumn)

Parameters

qEmbeddings List<double>
embeddingsColumn DataFrameColumn

Returns

PrimitiveDataFrameColumn<double>

GetEmbeddings(IEnumerable<string>)

Returns a list of EmbeddingResults by running each text through an EmbeddingCreateRequest.

public Task<List<EmbeddingCreateResponse>> GetEmbeddings(IEnumerable<string> texts)

Parameters

texts IEnumerable<string>

Returns

Task<List<EmbeddingCreateResponse>>

LoadEmbeddedDataFromCsv(string)

public DataFrame LoadEmbeddedDataFromCsv(string path)

Parameters

path string

Returns

DataFrame

LoadFile(string)

Reads a file and returns a TextEmbeddingData object.

public TextEmbeddingData? LoadFile(string file)

Parameters

file string

Returns

TextEmbeddingData

LoadFilesFromDirectory(string)

Loads all files from a directory and returns a list of TextEmbeddingData.

public IEnumerable<TextEmbeddingData> LoadFilesFromDirectory(string pathToDirectory)

Parameters

pathToDirectory string

Returns

IEnumerable<TextEmbeddingData>

PerformTextEmbedding(IEnumerable<TextEmbeddingData>, string)

Performs text embedding on input data, then saves and returns the resulting DataFrame.

public Task<DataFrame> PerformTextEmbedding(IEnumerable<TextEmbeddingData> textEmbeddingData, string outputFilePath)

Parameters

textEmbeddingData IEnumerable<TextEmbeddingData>
outputFilePath string

Returns

Task<DataFrame>

ReadAllDataInFolderAndCreateEmbeddingData(string, string)

public Task<DataFrame> ReadAllDataInFolderAndCreateEmbeddingData(string pathToDirectory, string outputFileName)

Parameters

pathToDirectory string
outputFileName string

Returns

Task<DataFrame>

ReadAndSplitData(string)

Reads data from a CSV file and splits the text based on specific conditions.

public DataFrame ReadAndSplitData(string outputFilePath)

Parameters

outputFilePath string

Returns

DataFrame

ReadFilesAndCreateEmbeddingDataAsCsv(IEnumerable<string>, string)

public Task<DataFrame> ReadFilesAndCreateEmbeddingDataAsCsv(IEnumerable<string> pathsToDirectoriesOrFiles, string outputFileName)

Parameters

pathsToDirectoriesOrFiles IEnumerable<string>
outputFileName string

Returns

Task<DataFrame>

ReadFilesAndCreateEmbeddingDataAsCsv(string, string)

public Task<DataFrame> ReadFilesAndCreateEmbeddingDataAsCsv(string pathToDirectoryOrFile, string outputFileName)

Parameters

pathToDirectoryOrFile string
outputFileName string

Returns

Task<DataFrame>

SaveDfToCsv(DataFrame, string)

Writes the DataFrame to a CSV file at the specified file path.

public void SaveDfToCsv(DataFrame df, string outputFilePath)

Parameters

df DataFrame
outputFilePath string

SplitIntoMany(string)

Splits a given text into chunks, ensuring that no chunk exceeds a maximum token count.

public IEnumerable<string> SplitIntoMany(string text)

Parameters

text string

The text to be split.

Returns

IEnumerable<string>

A list of chunks split from the input text.

WriteToTempCsv(IEnumerable<TextEmbeddingData>, string)

Writes the provided data to a CSV file at the specified file path.

public Task WriteToTempCsv(IEnumerable<TextEmbeddingData> textEmbeddingData, string outputFilePath)

Parameters

textEmbeddingData IEnumerable<TextEmbeddingData>
outputFilePath string

Returns

Task