Package vdb
class FaissVectorDatabase
func addVector
addVector(vector: Vector): Unit
- 描述: 向Faiss向量数据库中添加一个向量
- 参数:
vector: Vector, 要添加到数据库的向量
func close
close(): Unit
func init
init(dimension: Int64 = 1536)
- 描述: 初始化Faiss向量数据库
- 参数:
dimension: Int64, 向量的维度,默认为1536
func load
load(filePath: String): FaissVectorDatabase
- 描述: 从指定文件路径加载Faiss向量数据库
- 参数:
filePath: String, 加载数据库的文件路径
func save
save(filePath: String): Unit
- 描述: 将Faiss向量数据库保存到指定文件路径
- 参数:
filePath: String, 保存数据库的文件路径
func search
search(queryVec: Vector, number: Int64 = 5, minDistance: Float64 = 0.6): Array<SearchResult>
- 描述: 在Faiss向量数据库中搜索与查询向量最相似的向量
- 参数:
queryVec: Vector, 查询向量
number: Int64, 返回的最相似向量的数量,默认为5
minDistance: Float64, 最小距离阈值,默认为0.6
class InMemoryVectorDatabase
func addVector
func addVector(vector: Vector): Unit
func load
static func load(filePath: String): InMemoryVectorDatabase
func save
func save(filePath: String): Unit
func search
func search(queryVec: Vector, number: Int64 = 5, minDistance: Float64 = 0.6): Array<SearchResult>
- 描述: 搜索与查询向量最相似的向量
- 参数:
queryVec: Vector, 查询向量
number: Int64, 返回的最相似向量的数量
minDistance: Float64, 最小相似度阈值
func setVector
func setVector(index: Int64, vector: Vector): Unit
- 描述: 设置指定索引处的向量
- 参数:
index: Int64, 向量的索引
vector: Vector, 要设置的向量
interface IndexMap<Self, T>
func add
func add(content: T): Unit
func get
func get(index: Int64): T
func load
static func load(filePath: String): Self
func save
func save(filePath: String): Unit
class JsonlIndexMap
func add
override public func add(content: T): Unit
- 描述: 向索引映射中添加内容
- 参数:
content: T, 要添加的内容,必须实现Jsonable和ToPrompt接口
func get
override public func get(index: Int64): T
func init
public init()
func load
redef public static func load(filePath: String): JsonlIndexMap<T>
- 描述: 从文件加载索引映射
- 参数:
filePath: String, 要加载的文件路径
func save
override public func save(filePath: String): Unit
struct SearchResult
let dist
let dist: Float64
let index
let index: Int64
func init
init(index: Int64, dist: Float64)
- 描述: 初始化SearchResult
- 参数:
index: Int64, 索引值
dist: Float64, 距离值
class SemanticMap
func asRetriever
public func asRetriever(): Retriever
prop embeddingModel
public mut prop embeddingModel: EmbeddingModel
let indexMap
public let indexMap: IMAP
func init
public init(vectorDB!: VDB, indexMap!: IMAP, embeddingModel!: Option<EmbeddingModel> = None)
- 描述: 初始化SemanticMap实例
- 参数:
vectorDB: VDB, 向量数据库实例
indexMap: IMAP, 索引映射实例
embeddingModel: Option<EmbeddingModel>, 嵌入模型选项
func load
public static func load(dirPath: String): SemanticMap<VDB, IMAP, T>
- 描述: 从指定目录加载SemanticMap
- 参数:
func put
public func put(key: String, value: T): Unit
- 描述: 将键值对存入语义映射
- 参数:
key: String, 键
value: T, 值
func save
public func save(dirPath: String): Unit
- 描述: 保存SemanticMap到指定目录
- 参数:
func search
public func search(query: String, number!: Int64 = 5, minDistance!: Float64 = 0.3): Array<T>
- 描述: 查找相似数据
- 参数:
query: String, 查询字符串
number: Int64, 返回结果数量
minDistance: Float64, 最小距离阈值
let vectorDB
public let vectorDB: VDB
class SemanticSet
func asRetriever
public func asRetriever(): Retriever
- 描述: 将SemanticSet转换为Retriever实例
prop embeddingModel
public mut prop embeddingModel: EmbeddingModel
func init
public init(vectorDB!: VDB, indexMap!: IMAP, embeddingModel!: Option<EmbeddingModel> = None)
- 描述: 初始化SemanticSet实例
- 参数:
vectorDB: VDB, 向量数据库实例
indexMap: IMAP, 索引映射实例
embeddingModel: Option<EmbeddingModel>, 嵌入模型实例,可选参数
func load
public static func load(dirPath: String): SemanticSet<VDB, IMAP, T>
- 描述: 从指定目录加载SemanticSet实例
- 参数:
func put
public func put(value: T): Unit
func save
public func save(dirPath: String): Unit
- 描述: 将SemanticSet保存到指定目录
- 参数:
func search
public func search(query: String, number!: Int64 = 5, minDistance!: Float64 = 0.3): Array<T>
- 描述: 根据查询字符串搜索相关内容
- 参数:
query: String, 查询字符串
number: Int64, 返回结果的最大数量,默认为5
minDistance: Float64, 最小距离阈值,默认为0.3
class SimpleIndexMap
func add
func add(content: String): Unit
func deserialize
static func deserialize(dm: DataModel): SimpleIndexMap
- 描述: 从数据模型反序列化为SimpleIndexMap对象
- 参数:
dm: DataModel, 要反序列化的数据模型
func get
func get(index: Int64): String
func load
static func load(filePath: String): SimpleIndexMap
- 描述: 从指定文件路径加载SimpleIndexMap对象
- 参数:
filePath: String, 要加载的文件路径
func save
func save(filePath: String): Unit
- 描述: 将当前对象保存到指定文件路径
- 参数:
filePath: String, 要保存的文件路径
func serialize
func serialize(): DataModel
func set
func set(index: Int64, content: String): Unit
- 描述: 设置指定索引的内容
- 参数:
index: Int64, 要设置的索引
content: String, 要设置的内容
class Vector
func init
init(vec: Array<Float64>)
- 描述: 初始化向量对象
- 参数:
vec: Array<Float64>, 用于初始化向量的浮点数数组
let vector
let vector: Array<Float64>
class VectorBuilder
func createEmbeddingVector
func createEmbeddingVector(content: String): Vector
- 描述: 根据输入的内容创建嵌入向量
- 参数:
content: String, 需要创建嵌入向量的文本内容
interface VectorDatabase
func addVector
func addVector(vector: Vector): Unit
func load
static func load(filePath: String): Self
func save
func save(filePath: String): Unit
func search
func search(queryVec: Vector, number!: Int64, minDistance!: Float64): Array<SearchResult>
- 描述: 查询数据库并找到相似数据的索引
- 参数:
queryVec: Vector, 查询向量
number!: Int64, 返回结果的数量
minDistance!: Float64, 最小距离阈值