# migrations

dir: embeddings_queue
filename: 00001-embeddings.sqlite.sql
hash: d3755dfd232be8e8301f4d7fcfb3a486
sql:
CREATE TABLE embeddings_queue (
    seq_id INTEGER PRIMARY KEY,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    operation INTEGER NOT NULL,
    topic TEXT NOT NULL,
    id TEXT NOT NULL,
    vector BLOB,
    encoding TEXT,
    metadata TEXT
);


dir: sysdb
filename: 00001-collections.sqlite.sql
hash: 38352d725ad1c16074fac420b22b4633
sql:
CREATE TABLE collections (
    id TEXT PRIMARY KEY,
    name TEXT NOT NULL,
    topic TEXT NOT NULL,
    UNIQUE (name)
);

CREATE TABLE collection_metadata (
    collection_id TEXT REFERENCES collections(id) ON DELETE CASCADE,
    key TEXT NOT NULL,
    str_value TEXT,
    int_value INTEGER,
    float_value REAL,
    PRIMARY KEY (collection_id, key)
);


dir: sysdb
filename: 00002-segments.sqlite.sql
hash: 2913cb6a503055a95f625448037e8912
sql:
CREATE TABLE segments (
    id TEXT PRIMARY KEY,
    type TEXT NOT NULL,
    scope TEXT NOT NULL,
    topic TEXT,
    collection TEXT REFERENCES collection(id)
);

CREATE TABLE segment_metadata (
    segment_id TEXT  REFERENCES segments(id) ON DELETE CASCADE,
    key TEXT NOT NULL,
    str_value TEXT,
    int_value INTEGER,
    float_value REAL,
    PRIMARY KEY (segment_id, key)
);


dir: sysdb
filename: 00004-tenants-databases.sqlite.sql
hash: 048867ce8fcdefe4023c7110e4433591
sql:
CREATE TABLE IF NOT EXISTS tenants (
    id TEXT PRIMARY KEY,
    UNIQUE (id)
);

CREATE TABLE IF NOT EXISTS databases (
    id TEXT PRIMARY KEY, -- unique globally
    name TEXT NOT NULL, -- unique per tenant
    tenant_id TEXT NOT NULL REFERENCES tenants(id) ON DELETE CASCADE,
    UNIQUE (tenant_id, name) -- Ensure that a tenant has only one database with a given name
);

CREATE TABLE IF NOT EXISTS collections_tmp (
    id TEXT PRIMARY KEY, -- unique globally
    name TEXT NOT NULL, -- unique per database
    topic TEXT NOT NULL,
    dimension INTEGER,
    database_id TEXT NOT NULL REFERENCES databases(id) ON DELETE CASCADE,
    UNIQUE (name, database_id)
);

-- Create default tenant and database
INSERT OR REPLACE INTO tenants (id) VALUES ('default_tenant'); -- The default tenant id is 'default_tenant' others are UUIDs
INSERT OR REPLACE INTO databases (id, name, tenant_id) VALUES ('00000000-0000-0000-0000-000000000000', 'default_database', 'default_tenant');

INSERT OR REPLACE INTO collections_tmp (id, name, topic, dimension, database_id)
    SELECT id, name, topic, dimension, '00000000-0000-0000-0000-000000000000' FROM collections;
DROP TABLE collections;
ALTER TABLE collections_tmp RENAME TO collections;


dir: sysdb
filename: 00005-remove-topic.sqlite.sql
hash: b1367c826b8fba5f96f27befdc1d42d2
sql:
-- Remove the topic column from the Collections and Segments tables

ALTER TABLE collections DROP COLUMN topic;
ALTER TABLE segments DROP COLUMN topic;


dir: sysdb
filename: 00006-collection-segment-metadata.sqlite.sql
hash: 4eea7468935bf25d4604a0fed2366116
sql:
-- SQLite does not support adding check with alter table, as a result, adding a check
-- involve creating a new table and copying the data over. It is over kill with adding
-- a boolean type column. The application write to the table needs to ensure the data
-- integrity.
ALTER TABLE collection_metadata ADD COLUMN bool_value INTEGER;
ALTER TABLE segment_metadata ADD COLUMN bool_value INTEGER;


dir: sysdb
filename: 00007-collection-config.sqlite.sql
hash: 1c7e63bba346a42a18b6ab7f1c989bed
sql:
-- Stores collection configuration dictionaries.
ALTER TABLE collections ADD COLUMN config_json_str TEXT;


dir: metadb
filename: 00001-embedding-metadata.sqlite.sql
hash: 2b4cf52c4bb2676e21d6860a4409f856
sql:
CREATE TABLE embeddings (
    id INTEGER PRIMARY KEY,
    segment_id TEXT NOT NULL,
    embedding_id TEXT NOT NULL,
    seq_id BLOB NOT NULL,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    UNIQUE (segment_id, embedding_id)
);

CREATE TABLE embedding_metadata (
    id INTEGER REFERENCES embeddings(id),
    key TEXT NOT NULL,
    string_value TEXT,
    int_value INTEGER,
    float_value REAL,
    PRIMARY KEY (id, key)
);

CREATE TABLE max_seq_id (
    segment_id TEXT PRIMARY KEY,
    seq_id BLOB NOT NULL
);

CREATE VIRTUAL TABLE embedding_fulltext USING fts5(id, string_value);


dir: metadb
filename: 00002-embedding-metadata.sqlite.sql
hash: 12a570f7121b3a8ce750a2a7c36da20f
sql:
-- SQLite does not support adding check with alter table, as a result, adding a check
-- involve creating a new table and copying the data over. It is over kill with adding
-- a boolean type column. The application write to the table needs to ensure the data
-- integrity.
ALTER TABLE embedding_metadata ADD COLUMN bool_value INTEGER


dir: metadb
filename: 00003-full-text-tokenize.sqlite.sql
hash: f97ad6334aeaa8f419f01110b648b97a
sql:
CREATE VIRTUAL TABLE embedding_fulltext_search USING fts5(string_value, tokenize='trigram');
INSERT INTO embedding_fulltext_search (rowid, string_value) SELECT rowid, string_value FROM embedding_metadata;
DROP TABLE embedding_fulltext;


# embeddings_queue

created_at: 2024-08-17 02:38:54
topic: persistent://default/default/5d043030-03a2-43b0-a2f8-2f37428fc916
id: 0
encoding: FLOAT32
metadata:
{"chroma:document": "\u6807\u9898\uff1a\u73b0\u4ee3\u5bb6\u5ead\u7684\u51b7\u85cf\u4e13\u5bb6\uff1a\u51b0\u7bb1\n\n\u5728\u73b0\u4ee3\u5bb6\u5ead\u4e2d\uff0c\u51b0\u7bb1\u662f\u4e0d\u53ef\u6216\u7f3a\u7684\u5bb6\u7528\u7535\u5668\u4e4b\u4e00\u3002\u5b83\u4e0d\u4ec5\u80fd\u591f\u5e2e\u52a9\u6211\u4eec\u4fdd\u5b58\u98df\u7269\uff0c\u5ef6\u957f\u98df\u7269\u7684\u4fdd\u8d28\u671f\uff0c\u8fd8\u80fd\u4e3a\u6211\u4eec\u7684\u751f\u6d3b\u5e26\u6765\u4fbf\u5229\u548c\u8212\u9002\u3002\u672c\u6587\u5c06\u4e3a\u60a8\u8be6\u7ec6\u4ecb\u7ecd\u51b0\u7bb1\u7684\u529f\u80fd\u3001\u7c7b\u578b\u3001\u5de5\u4f5c\u539f\u7406\u4ee5\u53ca\u5982\u4f55\u9009\u62e9\u548c\u7ef4\u62a4\u51b0\u7bb1\u3002\n\n\u4e00\u3001\u51b0\u7bb1\u7684\u529f\u80fd"}


created_at: 2024-08-17 02:38:54
topic: persistent://default/default/5d043030-03a2-43b0-a2f8-2f37428fc916
id: 1
encoding: FLOAT32
metadata:
{"chroma:document": "\u4e00\u3001\u51b0\u7bb1\u7684\u529f\u80fd\n\n\u51b0\u7bb1\u7684\u4e3b\u8981\u529f\u80fd\u662f\u51b7\u85cf\u548c\u51b7\u51bb\u3002\u51b7\u85cf\u5ba4\u53ef\u4ee5\u4fdd\u6301\u98df\u7269\u5728\u8f83\u4f4e\u7684\u6e29\u5ea6\u4e0b\uff0c\u6291\u5236\u7ec6\u83cc\u7684\u751f\u957f\uff0c\u4ece\u800c\u5ef6\u957f\u98df\u7269\u7684\u4fdd\u8d28\u671f\u3002\u51b7\u51bb\u5ba4\u5219\u53ef\u4ee5\u5c06\u98df\u7269\u51b7\u51bb\uff0c\u4f7f\u5176\u5728\u8f83\u957f\u65f6\u95f4\u5185\u4fdd\u6301\u65b0\u9c9c\u3002\u6b64\u5916\uff0c\u4e00\u4e9b\u9ad8\u7aef\u51b0\u7bb1\u8fd8\u5177\u6709\u667a\u80fd\u63a7\u5236\u3001\u65e0\u971c\u6280\u672f\u3001\u5feb\u901f\u51b7\u51bb\u3001\u8282\u80fd\u6a21\u5f0f\u7b49\u529f\u80fd\uff0c\u4e3a\u7528\u6237\u5e26\u6765\u66f4\u52a0\u4fbf\u6377\u548c\u8212\u9002\u7684\u4f7f\u7528\u4f53\u9a8c\u3002\n\n\u4e8c\u3001\u51b0\u7bb1\u7684\u7c7b\u578b"}


created_at: 2024-08-17 02:38:54
topic: persistent://default/default/5d043030-03a2-43b0-a2f8-2f37428fc916
id: 2
encoding: FLOAT32
metadata:
{"chroma:document": "\u4e8c\u3001\u51b0\u7bb1\u7684\u7c7b\u578b\n\n\u51b0\u7bb1\u7684\u7c7b\u578b\u591a\u79cd\u591a\u6837\uff0c\u53ef\u4ee5\u6839\u636e\u4e0d\u540c\u7684\u9700\u6c42\u8fdb\u884c\u9009\u62e9\u3002\u5e38\u89c1\u7684\u51b0\u7bb1\u7c7b\u578b\u6709\u5355\u95e8\u51b0\u7bb1\u3001\u53cc\u95e8\u51b0\u7bb1\u3001\u591a\u95e8\u51b0\u7bb1\u3001\u5bf9\u5f00\u95e8\u51b0\u7bb1\u548c\u4e09\u95e8\u51b0\u7bb1\u7b49\u3002\u5355\u95e8\u51b0\u7bb1\u4f53\u79ef\u8f83\u5c0f\uff0c\u9002\u5408\u5355\u8eab\u6216\u5c0f\u5bb6\u5ead\u4f7f\u7528\uff1b\u53cc\u95e8\u51b0\u7bb1\u5177\u6709\u51b7\u85cf\u5ba4\u548c\u51b7\u51bb\u5ba4\uff0c\u9002\u5408\u4e00\u822c\u5bb6\u5ead\u4f7f\u7528\uff1b\u591a\u95e8\u51b0\u7bb1\u548c\u5bf9\u5f00\u95e8\u51b0\u7bb1\u5219\u5177\u6709\u66f4\u5927\u7684\u50a8\u5b58\u7a7a\u95f4\uff0c\u9002\u5408\u5927\u5bb6\u5ead\u6216\u5bf9\u50a8\u5b58\u7a7a\u95f4\u6709\u66f4\u9ad8\u8981\u6c42\u7684\u7528\u6237\uff1b\u4e09\u95e8\u51b0\u7bb1\u5219\u5728\u51b7\u85cf\u5ba4\u548c\u51b7\u51bb\u5ba4\u7684\u57fa\u7840\u4e0a\u589e\u52a0\u4e86\u4e00\u4e2a\u53d8\u6e29\u5ba4\uff0c\u53ef\u4ee5\u6ee1\u8db3\u4e0d\u540c\u98df\u7269\u7684\u50a8\u5b58\u9700\u6c42\u3002\n\n\u4e09\u3001\u51b0\u7bb1\u7684\u5de5\u4f5c\u539f\u7406"}


created_at: 2024-08-17 02:38:54
topic: persistent://default/default/5d043030-03a2-43b0-a2f8-2f37428fc916
id: 3
encoding: FLOAT32
metadata:
{"chroma:document": "\u4e09\u3001\u51b0\u7bb1\u7684\u5de5\u4f5c\u539f\u7406\n\n\u51b0\u7bb1\u7684\u5de5\u4f5c\u539f\u7406\u662f\u5229\u7528\u5236\u51b7\u5242\u5728\u84b8\u53d1\u5668\u4e2d\u5438\u6536\u70ed\u91cf\uff0c\u7136\u540e\u5728\u51b7\u51dd\u5668\u4e2d\u91ca\u653e\u70ed\u91cf\uff0c\u4ece\u800c\u5b9e\u73b0\u5236\u51b7\u6548\u679c\u3002\u5f53\u51b0\u7bb1\u542f\u52a8\u65f6\uff0c\u538b\u7f29\u673a\u5c06\u5236\u51b7\u5242\u538b\u7f29\u6210\u9ad8\u6e29\u9ad8\u538b\u7684\u6c14\u4f53\uff0c\u7136\u540e\u8fdb\u5165\u51b7\u51dd\u5668\u4e2d\u6563\u70ed\uff0c\u5236\u51b7\u5242\u53d8\u6210\u9ad8\u538b\u6db2\u4f53\u3002\u968f\u540e\uff0c\u9ad8\u538b\u6db2\u4f53\u7ecf\u8fc7\u81a8\u80c0\u9600\u51cf\u538b\uff0c\u53d8\u6210\u4f4e\u538b\u6db2\u4f53\u8fdb\u5165\u84b8\u53d1\u5668\u3002\u5728\u84b8\u53d1\u5668\u4e2d\uff0c\u5236\u51b7\u5242\u5438\u6536\u5468\u56f4\u70ed\u91cf\uff0c\u53d8\u6210\u4f4e\u538b\u6c14\u4f53\uff0c\u7136\u540e\u56de\u5230\u538b\u7f29\u673a\u4e2d\uff0c\u5982\u6b64\u5faa\u73af\u5f80\u590d\uff0c\u5b9e\u73b0\u5236\u51b7\u6548\u679c\u3002\n\n\u56db\u3001\u5982\u4f55\u9009\u62e9\u548c\u7ef4\u62a4\u51b0\u7bb1"}


created_at: 2024-08-17 02:38:54
topic: persistent://default/default/5d043030-03a2-43b0-a2f8-2f37428fc916
id: 4
encoding: FLOAT32
metadata:
{"chroma:document": "\u56db\u3001\u5982\u4f55\u9009\u62e9\u548c\u7ef4\u62a4\u51b0\u7bb1\n\n\u9009\u62e9\u51b0\u7bb1\u65f6\uff0c\u5e94\u6839\u636e\u5bb6\u5ead\u6210\u5458\u6570\u91cf\u3001\u50a8\u5b58\u9700\u6c42\u3001\u9884\u7b97\u7b49\u56e0\u7d20\u8fdb\u884c\u7efc\u5408\u8003\u8651\u3002\u9996\u5148\uff0c\u8981\u786e\u5b9a\u51b0\u7bb1\u7684\u5bb9\u91cf\uff0c\u4e00\u822c\u6765\u8bf4\uff0c\u6bcf\u4eba\u9700\u8981\u7684\u51b0\u7bb1\u5bb9\u91cf\u7ea6\u4e3a100-150\u5347\u3002\u5176\u6b21\uff0c\u8981\u5173\u6ce8\u51b0\u7bb1\u7684\u80fd\u6548\u7b49\u7ea7\uff0c\u9009\u62e9\u8282\u80fd\u578b\u51b0\u7bb1\u53ef\u4ee5\u964d\u4f4e\u7535\u8d39\u652f\u51fa\u3002\u6b64\u5916\uff0c\u8fd8\u8981\u8003\u8651\u51b0\u7bb1\u7684\u54c1\u724c\u3001\u552e\u540e\u670d\u52a1\u7b49\u56e0\u7d20\u3002\n\n\u5728\u4f7f\u7528\u51b0\u7bb1\u65f6\uff0c\u8981\u6ce8\u610f\u4ee5\u4e0b\u51e0\u70b9\uff1a\u5b9a\u671f\u6e05\u6d01\u51b0\u7bb1\u5185\u90e8\uff0c\u4fdd\u6301\u5e72\u51c0\u536b\u751f\uff1b\u907f\u514d\u9891\u7e41\u5f00\u5173\u51b0\u7bb1\u95e8\uff0c\u4ee5\u51cf\u5c11\u51b7\u6c14\u6d41\u5931\uff1b\u5408\u7406\u6446\u653e\u98df\u7269\uff0c\u907f\u514d\u98df\u7269\u76f8\u4e92\u6324\u538b\uff0c\u5f71\u54cd\u5236\u51b7\u6548\u679c\uff1b\u5b9a\u671f\u68c0\u67e5\u51b0\u7bb1\u7684\u5bc6\u5c01\u6027\uff0c\u786e\u4fdd\u51b0\u7bb1\u7684\u5236\u51b7\u6548\u679c\u3002"}


created_at: 2024-08-17 02:38:54
topic: persistent://default/default/5d043030-03a2-43b0-a2f8-2f37428fc916
id: 5
encoding: FLOAT32
metadata:
{"chroma:document": "\u603b\u4e4b\uff0c\u51b0\u7bb1\u662f\u73b0\u4ee3\u5bb6\u5ead\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u5bb6\u7528\u7535\u5668\uff0c\u5b83\u4e3a\u6211\u4eec\u63d0\u4f9b\u4e86\u4fbf\u6377\u548c\u8212\u9002\u7684\u51b7\u85cf\u4f53\u9a8c\u3002\u5728\u9009\u62e9\u548c\u4f7f\u7528\u51b0\u7bb1\u65f6\uff0c\u8981\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u548c\u9884\u7b97\u8fdb\u884c\u7efc\u5408\u8003\u8651\uff0c\u540c\u65f6\u6ce8\u610f\u7ef4\u62a4\u548c\u4fdd\u517b\uff0c\u4ee5\u786e\u4fdd\u51b0\u7bb1\u7684\u4f7f\u7528\u5bff\u547d\u548c\u5236\u51b7\u6548\u679c\u3002\n\n\u5728\u5f53\u4eca\u793e\u4f1a\uff0c\u51b0\u7bb1\u5df2\u7ecf\u6210\u4e3a\u73b0\u4ee3\u5bb6\u5ead\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u5bb6\u7528\u7535\u5668\u4e4b\u4e00\u3002\u5b83\u4e0d\u4ec5\u626e\u6f14\u7740\u4fdd\u5b58\u98df\u7269\u3001\u5ef6\u957f\u98df\u7269\u65b0\u9c9c\u5ea6\u7684\u91cd\u8981\u89d2\u8272\uff0c\u8fd8\u6781\u5927\u5730\u63d0\u5347\u4e86\u6211\u4eec\u7684\u65e5\u5e38\u751f\u6d3b\u8d28\u91cf\u3002\u672c\u6587\u65e8\u5728\u6df1\u5165\u63a2\u8ba8\u51b0\u7bb1\u7684\u591a\u529f\u80fd\u6027\u3001\u591a\u6837\u5316\u7684\u7c7b\u578b\u9009\u62e9\u3001\u79d1\u5b66\u7684\u5de5\u4f5c\u539f\u7406\u4ee5\u53ca\u5982\u4f55\u660e\u667a\u5730\u9009\u62e9\u548c\u59a5\u5584\u7ef4\u62a4\u51b0\u7bb1\u3002"}


created_at: 2024-08-17 02:38:54
topic: persistent://default/default/5d043030-03a2-43b0-a2f8-2f37428fc916
id: 6
encoding: FLOAT32
metadata:
{"chroma:document": "\u9996\u5148\uff0c\u8ba9\u6211\u4eec\u6765\u4e86\u89e3\u51b0\u7bb1\u7684\u6838\u5fc3\u529f\u80fd\u3002\u51b0\u7bb1\u7684\u4e3b\u8981\u804c\u8d23\u5728\u4e8e\u51b7\u85cf\u548c\u51b7\u51bb\uff0c\u5b83\u901a\u8fc7\u51b7\u85cf\u5ba4\u7ef4\u6301\u98df\u7269\u5728\u9002\u5b9c\u7684\u4f4e\u6e29\u73af\u5883\u4e2d\uff0c\u6709\u6548\u6291\u5236\u7ec6\u83cc\u7684\u7e41\u6b96\uff0c\u4ece\u800c\u663e\u8457\u5ef6\u957f\u98df\u7269\u7684\u4fdd\u9c9c\u671f\u9650\u3002\u800c\u51b7\u51bb\u5ba4\u5219\u80fd\u591f\u5c06\u98df\u7269\u8fc5\u901f\u51b7\u51bb\uff0c\u786e\u4fdd\u98df\u7269\u5728\u957f\u65f6\u95f4\u5185\u4fdd\u6301\u5176\u539f\u6709\u7684\u65b0\u9c9c\u72b6\u6001\u3002\u4e0d\u4ec5\u5982\u6b64\uff0c\u73b0\u4ee3\u51b0\u7bb1\u8fd8\u914d\u5907\u4e86\u8bf8\u591a\u9ad8\u7ea7\u529f\u80fd\uff0c\u5982\u667a\u80fd\u6e29\u63a7\u7cfb\u7edf\u3001\u65e0\u971c\u6280\u672f\u3001\u5feb\u901f\u51b7\u51bb\u9009\u9879\u3001\u8282\u80fd\u6a21\u5f0f\u7b49\uff0c\u8fd9\u4e9b\u529f\u80fd\u7684\u52a0\u5165\u65e0\u7591\u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u66f4\u4e3a\u4fbf\u6377\u548c\u8212\u9002\u7684\u4f7f\u7528\u4f53\u9a8c\u3002"}


created_at: 2024-08-17 02:38:54
topic: persistent://default/default/5d043030-03a2-43b0-a2f8-2f37428fc916
id: 7
encoding: FLOAT32
metadata:
{"chroma:document": "\u63a5\u4e0b\u6765\uff0c\u6211\u4eec\u6765\u63a2\u8ba8\u51b0\u7bb1\u7684\u7c7b\u578b\u3002\u5e02\u573a\u4e0a\u51b0\u7bb1\u7684\u79cd\u7c7b\u7e41\u591a\uff0c\u6d88\u8d39\u8005\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u5b9e\u9645\u9700\u6c42\u6765\u505a\u51fa\u9009\u62e9\u3002\u5355\u95e8\u51b0\u7bb1\u4ee5\u5176\u5c0f\u5de7\u7684\u4f53\u79ef\u548c\u7b80\u5355\u7684\u529f\u80fd\uff0c\u975e\u5e38\u9002\u5408\u5355\u8eab\u4eba\u58eb\u6216\u5c0f\u5bb6\u5ead\u4f7f\u7528\uff1b\u53cc\u95e8\u51b0\u7bb1\u5219\u63d0\u4f9b\u4e86\u51b7\u85cf\u5ba4\u548c\u51b7\u51bb\u5ba4\u7684\u7ec4\u5408\uff0c\u9002\u5408\u5927\u591a\u6570\u5bb6\u5ead\uff1b\u591a\u95e8\u51b0\u7bb1\u548c\u5bf9\u5f00\u95e8\u51b0\u7bb1\u5219\u4ee5\u5176\u5bbd\u655e\u7684\u50a8\u5b58\u7a7a\u95f4\uff0c\u6ee1\u8db3\u4e86\u5927\u5bb6\u5ead\u6216\u5bf9\u98df\u54c1\u50a8\u5b58\u6709\u7279\u6b8a\u9700\u6c42\u7684\u7528\u6237\uff1b\u800c\u4e09\u95e8\u51b0\u7bb1\u5728\u4f20\u7edf\u53cc\u95e8\u7684\u57fa\u7840\u4e0a\u589e\u52a0\u4e86\u4e00\u4e2a\u53d8\u6e29\u5ba4\uff0c\u80fd\u591f\u6839\u636e\u4e0d\u540c\u7684\u98df\u7269\u9700\u6c42\u8c03\u8282\u6e29\u5ea6\uff0c\u63d0\u4f9b\u4e86\u66f4\u52a0\u7075\u6d3b\u7684\u50a8\u5b58\u65b9\u6848\u3002"}


created_at: 2024-08-17 02:38:54
topic: persistent://default/default/5d043030-03a2-43b0-a2f8-2f37428fc916
id: 8
encoding: FLOAT32
metadata:
{"chroma:document": "\u4e86\u89e3\u4e86\u51b0\u7bb1\u7684\u7c7b\u578b\u540e\uff0c\u6211\u4eec\u518d\u6765\u63a2\u7a76\u4e00\u4e0b\u51b0\u7bb1\u7684\u5de5\u4f5c\u539f\u7406\u3002\u51b0\u7bb1\u7684\u5236\u51b7\u8fc7\u7a0b\u662f\u901a\u8fc7\u5236\u51b7\u5242\u5728\u7cfb\u7edf\u4e2d\u7684\u5faa\u73af\u6765\u5b9e\u73b0\u7684\u3002\u5f53\u51b0\u7bb1\u542f\u52a8\u65f6\uff0c\u538b\u7f29\u673a\u5c06\u5236\u51b7\u5242\u538b\u7f29\u6210\u9ad8\u6e29\u9ad8\u538b\u7684\u6c14\u4f53\uff0c\u968f\u540e\u8fd9\u4e9b\u6c14\u4f53\u8fdb\u5165\u51b7\u51dd\u5668\u91ca\u653e\u70ed\u91cf\uff0c\u5236\u51b7\u5242\u968f\u4e4b\u53d8\u6210\u9ad8\u538b\u6db2\u4f53\u3002\u63a5\u7740\uff0c\u9ad8\u538b\u6db2\u4f53\u901a\u8fc7\u81a8\u80c0\u9600\u51cf\u538b\uff0c\u53d8\u6210\u4f4e\u538b\u6db2\u4f53\u6d41\u5165\u84b8\u53d1\u5668\u3002\u5728\u84b8\u53d1\u5668\u4e2d\uff0c\u5236\u51b7\u5242\u5438\u6536\u5468\u56f4\u73af\u5883\u7684\u70ed\u91cf\uff0c\u53d8\u6210\u4f4e\u538b\u6c14\u4f53\uff0c\u7136\u540e\u8fd4\u56de\u538b\u7f29\u673a\uff0c\u5982\u6b64\u5faa\u73af\u5f80\u590d\uff0c\u4e0d\u65ad\u5438\u6536\u70ed\u91cf\uff0c\u8fbe\u5230\u5236\u51b7\u7684\u76ee\u7684\u3002"}


created_at: 2024-08-17 02:38:54
topic: persistent://default/default/5d043030-03a2-43b0-a2f8-2f37428fc916
id: 9
encoding: FLOAT32
metadata:
{"chroma:document": "\u6700\u540e\uff0c\u6211\u4eec\u6765\u8c08\u8c08\u5982\u4f55\u9009\u62e9\u548c\u7ef4\u62a4\u51b0\u7bb1\u3002\u5728\u9009\u62e9\u51b0\u7bb1\u65f6\uff0c\u9700\u8981\u7efc\u5408\u8003\u8651\u5bb6\u5ead\u6210\u5458\u7684\u6570\u91cf\u3001\u98df\u7269\u50a8\u5b58\u7684\u9700\u6c42\u3001\u9884\u7b97\u7b49\u56e0\u7d20\u3002\u786e\u5b9a\u51b0\u7bb1\u7684\u5bb9\u91cf\u65f6\uff0c\u53ef\u4ee5\u53c2\u8003\u6bcf\u4eba\u7ea6\u9700100-150\u5347\u7684\u6807\u51c6\u6765\u8ba1\u7b97\u3002\u540c\u65f6\uff0c\u5173\u6ce8\u51b0\u7bb1\u7684\u80fd\u6548\u7b49\u7ea7\uff0c\u9009\u62e9\u8282\u80fd\u578b\u51b0\u7bb1\u53ef\u4ee5\u6709\u6548\u51cf\u5c11\u7535\u8d39\u7684\u652f\u51fa\u3002\u6b64\u5916\uff0c\u54c1\u724c\u4fe1\u8a89\u548c\u552e\u540e\u670d\u52a1\u4e5f\u662f\u4e0d\u53ef\u5ffd\u89c6\u7684\u91cd\u8981\u56e0\u7d20\u3002"}


created_at: 2024-08-17 02:38:54
topic: persistent://default/default/5d043030-03a2-43b0-a2f8-2f37428fc916
id: 10
encoding: FLOAT32
metadata:
{"chroma:document": "\u5728\u4f7f\u7528\u51b0\u7bb1\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5e94\u8be5\u6ce8\u610f\u4ee5\u4e0b\u51e0\u70b9\uff1a\u5b9a\u671f\u6e05\u6d01\u51b0\u7bb1\u5185\u90e8\uff0c\u4fdd\u6301\u5176\u536b\u751f\uff1b\u907f\u514d\u9891\u7e41\u5f00\u542f\u51b0\u7bb1\u95e8\uff0c\u4ee5\u51cf\u5c11\u51b7\u6c14\u7684\u6d41\u5931\uff1b\u5408\u7406\u6446\u653e\u98df\u7269\uff0c\u907f\u514d\u98df\u7269\u4e4b\u95f4\u7684\u6324\u538b\uff0c\u5f71\u54cd\u5236\u51b7\u6548\u7387\uff1b\u5b9a\u671f\u68c0\u67e5\u51b0\u7bb1\u7684\u5bc6\u5c01\u6027\u80fd\uff0c\u786e\u4fdd\u5176\u826f\u597d\u7684\u5236\u51b7\u6548\u679c\u3002"}


created_at: 2024-08-17 02:38:54
topic: persistent://default/default/5d043030-03a2-43b0-a2f8-2f37428fc916
id: 11
encoding: FLOAT32
metadata:
{"chroma:document": "\u603b\u7ed3\u6765\u8bf4\uff0c\u51b0\u7bb1\u4f5c\u4e3a\u73b0\u4ee3\u5bb6\u5ead\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u4e00\u5458\uff0c\u4e3a\u6211\u4eec\u63d0\u4f9b\u4e86\u4fbf\u6377\u548c\u8212\u9002\u7684\u51b7\u85cf\u4f53\u9a8c\u3002\u5728\u9009\u62e9\u548c\u4f7f\u7528\u51b0\u7bb1\u65f6\uff0c\u6211\u4eec\u5e94\u8be5\u6839\u636e\u81ea\u5df1\u7684\u5b9e\u9645\u9700\u6c42\u548c\u9884\u7b97\u505a\u51fa\u660e\u667a\u7684\u9009\u62e9\uff0c\u5e76\u4e14\u6ce8\u610f\u65e5\u5e38\u7684\u7ef4\u62a4\u548c\u4fdd\u517b\uff0c\u4ee5\u786e\u4fdd\u51b0\u7bb1\u7684\u4f7f\u7528\u5bff\u547d\u548c\u9ad8\u6548\u7684\u5236\u51b7\u6548\u679c\u3002\u901a\u8fc7\u5408\u7406\u7684\u4f7f\u7528\u548c\u7ef4\u62a4\uff0c\u51b0\u7bb1\u5c06\u80fd\u591f\u66f4\u597d\u5730\u670d\u52a1\u4e8e\u6211\u4eec\u7684\u65e5\u5e38\u751f\u6d3b\uff0c\u6210\u4e3a\u73b0\u4ee3\u5bb6\u5ead\u4e2d\u503c\u5f97\u4fe1\u8d56\u7684\u51b7\u85cf\u4e13\u5bb6\u3002"}


# collections

id: 9a18d31b-ace0-4eae-80fb-1083e4e72df2
name: refrigerator
database_id: 00000000-0000-0000-0000-000000000000
config_json_str:
{"hnsw_configuration": {"space": "l2", "ef_construction": 100, "ef_search": 10, "num_threads": 8, "M": 16, "resize_factor": 1.2, "batch_size": 100, "sync_threshold": 1000, "_type": "HNSWConfigurationInternal"}, "_type": "CollectionConfigurationInternal"}


# embedding_metadata

key: chroma:document
string_value:
标题：现代家庭的冷藏专家：冰箱

在现代家庭中，冰箱是不可或缺的家用电器之一。它不仅能够帮助我们保存食物，延长食物的保质期，还能为我们的生活带来便利和舒适。本文将为您详细介绍冰箱的功能、类型、工作原理以及如何选择和维护冰箱。

一、冰箱的功能


key: chroma:document
string_value:
一、冰箱的功能

冰箱的主要功能是冷藏和冷冻。冷藏室可以保持食物在较低的温度下，抑制细菌的生长，从而延长食物的保质期。冷冻室则可以将食物冷冻，使其在较长时间内保持新鲜。此外，一些高端冰箱还具有智能控制、无霜技术、快速冷冻、节能模式等功能，为用户带来更加便捷和舒适的使用体验。

二、冰箱的类型


key: chroma:document
string_value:
二、冰箱的类型

冰箱的类型多种多样，可以根据不同的需求进行选择。常见的冰箱类型有单门冰箱、双门冰箱、多门冰箱、对开门冰箱和三门冰箱等。单门冰箱体积较小，适合单身或小家庭使用；双门冰箱具有冷藏室和冷冻室，适合一般家庭使用；多门冰箱和对开门冰箱则具有更大的储存空间，适合大家庭或对储存空间有更高要求的用户；三门冰箱则在冷藏室和冷冻室的基础上增加了一个变温室，可以满足不同食物的储存需求。

三、冰箱的工作原理


key: chroma:document
string_value:
三、冰箱的工作原理

冰箱的工作原理是利用制冷剂在蒸发器中吸收热量，然后在冷凝器中释放热量，从而实现制冷效果。当冰箱启动时，压缩机将制冷剂压缩成高温高压的气体，然后进入冷凝器中散热，制冷剂变成高压液体。随后，高压液体经过膨胀阀减压，变成低压液体进入蒸发器。在蒸发器中，制冷剂吸收周围热量，变成低压气体，然后回到压缩机中，如此循环往复，实现制冷效果。

四、如何选择和维护冰箱


key: chroma:document
string_value:
四、如何选择和维护冰箱

选择冰箱时，应根据家庭成员数量、储存需求、预算等因素进行综合考虑。首先，要确定冰箱的容量，一般来说，每人需要的冰箱容量约为100-150升。其次，要关注冰箱的能效等级，选择节能型冰箱可以降低电费支出。此外，还要考虑冰箱的品牌、售后服务等因素。

在使用冰箱时，要注意以下几点：定期清洁冰箱内部，保持干净卫生；避免频繁开关冰箱门，以减少冷气流失；合理摆放食物，避免食物相互挤压，影响制冷效果；定期检查冰箱的密封性，确保冰箱的制冷效果。


key: chroma:document
string_value:
总之，冰箱是现代家庭中不可或缺的家用电器，它为我们提供了便捷和舒适的冷藏体验。在选择和使用冰箱时，要根据自己的需求和预算进行综合考虑，同时注意维护和保养，以确保冰箱的使用寿命和制冷效果。

在当今社会，冰箱已经成为现代家庭中不可或缺的家用电器之一。它不仅扮演着保存食物、延长食物新鲜度的重要角色，还极大地提升了我们的日常生活质量。本文旨在深入探讨冰箱的多功能性、多样化的类型选择、科学的工作原理以及如何明智地选择和妥善维护冰箱。


key: chroma:document
string_value:
首先，让我们来了解冰箱的核心功能。冰箱的主要职责在于冷藏和冷冻，它通过冷藏室维持食物在适宜的低温环境中，有效抑制细菌的繁殖，从而显著延长食物的保鲜期限。而冷冻室则能够将食物迅速冷冻，确保食物在长时间内保持其原有的新鲜状态。不仅如此，现代冰箱还配备了诸多高级功能，如智能温控系统、无霜技术、快速冷冻选项、节能模式等，这些功能的加入无疑为用户提供了更为便捷和舒适的使用体验。


key: chroma:document
string_value:
接下来，我们来探讨冰箱的类型。市场上冰箱的种类繁多，消费者可以根据自己的实际需求来做出选择。单门冰箱以其小巧的体积和简单的功能，非常适合单身人士或小家庭使用；双门冰箱则提供了冷藏室和冷冻室的组合，适合大多数家庭；多门冰箱和对开门冰箱则以其宽敞的储存空间，满足了大家庭或对食品储存有特殊需求的用户；而三门冰箱在传统双门的基础上增加了一个变温室，能够根据不同的食物需求调节温度，提供了更加灵活的储存方案。


key: chroma:document
string_value:
了解了冰箱的类型后，我们再来探究一下冰箱的工作原理。冰箱的制冷过程是通过制冷剂在系统中的循环来实现的。当冰箱启动时，压缩机将制冷剂压缩成高温高压的气体，随后这些气体进入冷凝器释放热量，制冷剂随之变成高压液体。接着，高压液体通过膨胀阀减压，变成低压液体流入蒸发器。在蒸发器中，制冷剂吸收周围环境的热量，变成低压气体，然后返回压缩机，如此循环往复，不断吸收热量，达到制冷的目的。


key: chroma:document
string_value:
最后，我们来谈谈如何选择和维护冰箱。在选择冰箱时，需要综合考虑家庭成员的数量、食物储存的需求、预算等因素。确定冰箱的容量时，可以参考每人约需100-150升的标准来计算。同时，关注冰箱的能效等级，选择节能型冰箱可以有效减少电费的支出。此外，品牌信誉和售后服务也是不可忽视的重要因素。


key: chroma:document
string_value:
在使用冰箱的过程中，应该注意以下几点：定期清洁冰箱内部，保持其卫生；避免频繁开启冰箱门，以减少冷气的流失；合理摆放食物，避免食物之间的挤压，影响制冷效率；定期检查冰箱的密封性能，确保其良好的制冷效果。


key: chroma:document
string_value:
总结来说，冰箱作为现代家庭中不可或缺的一员，为我们提供了便捷和舒适的冷藏体验。在选择和使用冰箱时，我们应该根据自己的实际需求和预算做出明智的选择，并且注意日常的维护和保养，以确保冰箱的使用寿命和高效的制冷效果。通过合理的使用和维护，冰箱将能够更好地服务于我们的日常生活，成为现代家庭中值得信赖的冷藏专家。


