# migrations

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: sysdb
filename: 00008-maintenance-log.sqlite.sql
hash: 0a0e7e93111a01789addf64961c6127c
sql:
-- Records when database maintenance operations are performed.
-- At time of creation, this table is only used to record vacuum operations.
CREATE TABLE maintenance_log (
  id INT PRIMARY KEY,
  timestamp INT NOT NULL,
  operation TEXT NOT NULL
);


dir: sysdb
filename: 00009-segment-collection-not-null.sqlite.sql
hash: 054355aef9e63702bf54ea29e61563f1
sql:
-- This makes segments.collection non-nullable.
CREATE TABLE segments_temp (
    id TEXT PRIMARY KEY,
    type TEXT NOT NULL,
    scope TEXT NOT NULL,
    collection TEXT REFERENCES collection(id) NOT NULL
);

INSERT INTO segments_temp SELECT * FROM segments;
DROP TABLE segments;
ALTER TABLE segments_temp RENAME TO segments;


dir: sysdb
filename: 00010-collection-schema.sqlite.sql
hash: 5c3a5ac4b79df76799b4721827ed5e1d
sql:
-- Stores collection schema as stringified json
ALTER TABLE collections ADD COLUMN schema_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;


dir: metadb
filename: 00004-metadata-indices.sqlite.sql
hash: fb36603a45ee2cd0254cef3ef86585e8
sql:
CREATE INDEX IF NOT EXISTS embedding_metadata_int_value ON embedding_metadata (key, int_value) WHERE int_value IS NOT NULL;
CREATE INDEX IF NOT EXISTS embedding_metadata_float_value ON embedding_metadata (key, float_value) WHERE float_value IS NOT NULL;
CREATE INDEX IF NOT EXISTS embedding_metadata_string_value ON embedding_metadata (key, string_value) WHERE string_value IS NOT NULL;


dir: metadb
filename: 00005-max-seq-id-int.sqlite.sql
hash: 0e9de46758761b373ce682925edcc326
sql:
ALTER TABLE max_seq_id ADD COLUMN int_seq_id INTEGER;

-- Convert 8 byte wide big-endian integer as blob to native 64 bit integer.
-- Adapted from https://stackoverflow.com/a/70296198.
UPDATE max_seq_id SET int_seq_id = (
  SELECT (
       (instr('123456789ABCDEF', substr(hex(seq_id), -1 , 1)) <<  0)
     | (instr('123456789ABCDEF', substr(hex(seq_id), -2 , 1)) <<  4)
     | (instr('123456789ABCDEF', substr(hex(seq_id), -3 , 1)) <<  8)
     | (instr('123456789ABCDEF', substr(hex(seq_id), -4 , 1)) << 12)
     | (instr('123456789ABCDEF', substr(hex(seq_id), -5 , 1)) << 16)
     | (instr('123456789ABCDEF', substr(hex(seq_id), -6 , 1)) << 20)
     | (instr('123456789ABCDEF', substr(hex(seq_id), -7 , 1)) << 24)
     | (instr('123456789ABCDEF', substr(hex(seq_id), -8 , 1)) << 28)
     | (instr('123456789ABCDEF', substr(hex(seq_id), -9 , 1)) << 32)
     | (instr('123456789ABCDEF', substr(hex(seq_id), -10, 1)) << 36)
     | (instr('123456789ABCDEF', substr(hex(seq_id), -11, 1)) << 40)
     | (instr('123456789ABCDEF', substr(hex(seq_id), -12, 1)) << 44)
     | (instr('123456789ABCDEF', substr(hex(seq_id), -13, 1)) << 48)
     | (instr('123456789ABCDEF', substr(hex(seq_id), -14, 1)) << 52)
     | (instr('123456789ABCDEF', substr(hex(seq_id), -15, 1)) << 56)
     | (instr('123456789ABCDEF', substr(hex(seq_id), -16, 1)) << 60)
    )
);

ALTER TABLE max_seq_id DROP COLUMN seq_id;
ALTER TABLE max_seq_id RENAME COLUMN int_seq_id TO seq_id;


dir: metadb
filename: 00006-metadata-array-support.sqlite.sql
hash: e026f01ea92c1baa1493f4ad5ca7cfe7
sql:
-- Separate table for exploded array metadata values.
-- Each array element gets its own row, enabling efficient $contains queries.
-- The existing embedding_metadata table (with its PRIMARY KEY (id, key))
-- remains untouched and continues to store scalar metadata values.

CREATE TABLE IF NOT EXISTS embedding_metadata_array (
    id INTEGER NOT NULL REFERENCES embeddings(id),
    key TEXT NOT NULL,
    string_value TEXT,
    int_value INTEGER,
    float_value REAL,
    bool_value INTEGER
);

CREATE INDEX IF NOT EXISTS embedding_metadata_array_id_key
    ON embedding_metadata_array (id, key);
CREATE INDEX IF NOT EXISTS embedding_metadata_array_key_string
    ON embedding_metadata_array (key, string_value) WHERE string_value IS NOT NULL;
CREATE INDEX IF NOT EXISTS embedding_metadata_array_key_int
    ON embedding_metadata_array (key, int_value) WHERE int_value IS NOT NULL;
CREATE INDEX IF NOT EXISTS embedding_metadata_array_key_float
    ON embedding_metadata_array (key, float_value) WHERE float_value IS NOT NULL;


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
);


# collections

id: 66d0d002-8e0d-4ba6-8db8-e42407c0dd6b
name: user_3fcb0909-8572-4ce5-8df0-907b0e35915d
database_id: 00000000-0000-0000-0000-000000000000
config_json_str: {}
schema_str:
{"defaults":{"string":{"fts_index":{"enabled":false,"config":{}},"string_inverted_index":{"enabled":true,"config":{}}},"float_list":{"vector_index":{"enabled":false,"config":{"space":"l2","embedding_function":{"type":"known","name":"default","config":{}},"hnsw":{"ef_construction":100,"max_neighbors":16,"ef_search":100,"num_threads":32,"batch_size":100,"sync_threshold":1000,"resize_factor":1.2}}}},"sparse_vector":{"sparse_vector_index":{"enabled":false,"config":{"embedding_function":{"type":"unknown"},"bm25":false}}},"int":{"int_inverted_index":{"enabled":true,"config":{}}},"float":{"float_inverted_index":{"enabled":true,"config":{}}},"bool":{"bool_inverted_index":{"enabled":true,"config":{}}}},"keys":{"document_id":{"string":{"fts_index":{"enabled":false,"config":{}},"string_inverted_index":{"enabled":true,"config":{}}}},"#document":{"string":{"fts_index":{"enabled":true,"config":{}},"string_inverted_index":{"enabled":false,"config":{}}}},"chunk_index":{"int":{"int_inverted_index":{"enabled":true,"config":{}}}},"document_title":{"string":{"fts_index":{"enabled":false,"config":{}},"string_inverted_index":{"enabled":true,"config":{}}}},"file_type":{"string":{"fts_index":{"enabled":false,"config":{}},"string_inverted_index":{"enabled":true,"config":{}}}},"#embedding":{"float_list":{"vector_index":{"enabled":true,"config":{"space":"l2","embedding_function":{"type":"known","name":"default","config":{}},"source_key":"#document","hnsw":{"ef_construction":100,"max_neighbors":16,"ef_search":100,"num_threads":32,"batch_size":100,"sync_threshold":1000,"resize_factor":1.2}}}}}}}


# embedding_metadata

key: chroma:document
string_value:
远光软件股份有限公司科技项目可行性研究报告

项目名称：大模型微调技术研究与应用

申请部门：

起止时间：年至年

项目负责人：

联系电话：

申请日期：年 月

大模型微调技术可行性研究报告

远光软件股份有限公司科技项目可行性研究报告

项目名称： 大模型微调技术研究与应用

申请部门：

起止时间： 年 月至 年 月

项目负责人：

联系电话：

申请日期： 年 月

一、目的和意义

1.1 项目背景与需求

近年来，以深度学习为基础的大型预训练语言模型（Large Language Models,
LLMs）如GPT系列、BERT、LLaMA等在自然语言处理领域取得了突破性进展，通过海量数据的预训练和超大规模参数量，这些模型展现出强大的通用语言理解与生成能力，在机器翻译、文本摘要、问答系统、内容创作等众多任务中表现出色，引领了人工智能技术的新浪潮。然而，这些通用大模型在面对特定专业领域任务时，往往存在知识覆盖不足、专业术语理解偏差、领域特定逻辑推理能力欠缺、输出风格不符合行业特点等问题，难以直接满足垂直场景的应用需求。


key: chroma:document
string_value:
模型微调（Fine-tuning）技术作为将通用大模型适配到特定场景的关键手段，通过在领域相关数据上进一步训练模型参数，使模型能够吸收领域知识、适应特定任务要求，从而显著提升模型在目标任务上的性能表现。随着大模型参数规模的不断扩大，传统的全参数微调方式面临着计算资源消耗大、存储成本高、容易产生灾难性遗忘等挑战，因此，参数高效微调（Parameter-Efficient
Fine-Tuning,
PEFT）方法如LoRA、Adapter、Prefix-tuning等技术应运而生，为低成本、高效率的大模型领域适配提供了新的技术路径。

本项目旨在探索适合特定领域特点的高效微调策略，解决数据稀缺性、专业术语理解、领域知识融合等关键技术问题，提升模型在特定场景下的准确性、可靠性和实用性。

项目成果将对该现状和技术发展的作用主要体现在技术推动作用和应用落地支撑两方面。

二、国内外研究水平综述

2.1 技术发展历史简要回顾

大模型微调技术的发展历程分为四个阶段：


key: chroma:document
string_value:
第一阶段（2018年前）：传统迁移学习与微调雏形阶段。模型适配多采用传统迁移学习思路，将通用数据集上训练的基础模型迁移至特定任务场景。

第二阶段（2018-2020年）：预训练-微调范式确立阶段。2018年谷歌提出BERT模型，首次构建"预训练通用知识+下游任务微调"的技术框架。

第三阶段（2020-2022年）：高效微调技术爆发阶段。LoRA、QLoRA、Adapter等参数高效微调技术相继出现，将微调参数规模大幅降低。

第四阶段（2022年至今）：垂直领域深化与协同优化阶段。"基座模型+领域微调"的架构成为主流，微调技术与知识图谱进一步融合。

2.2 国内外研究水平现状和发展趋势

国际层面，Hugging
Face、DeepSpeed等开源社区为参数高效微调技术的普及提供了重要支撑。国内层面，阿里云基于通义千问进行财税领域定制微调，验证了微调技术在财务领域的应用价值。

三、项目的理论和实践依据

3.1 项目研究内容原理简述

本项目采用"基座模型+领域适配"分层微调架构，选取开源基座模型，针对财务问答场景特性采用LoRA参数高效微调策略。


key: chroma:document
string_value:
3.2 项目研究内容理论和实践依据

理论依据包括国家战略层面的政策支持和成熟的技术理论体系。实践依据包括大模型微调技术在财务等垂直领域的成功案例。

3.3 项目研究的关键和难点

关键点包括高质量数据集构建、高效微调策略适配、知识精准注入与幻觉抑制、效果评估体系建设。难点集中在数据处理、微调策略、知识注入和评估体系四个方面。

四、项目研究内容和实施方案

4.1 项目研究内容详细说明

本项目研究内容包括数据格式研究、微调框架研究、模型微调后评估体系研究三个方面。

4.2 理论研究步骤和试验计划

包括数据处理流程、训练数据生成流程、数据验证流程三个主要环节。

4.3 项目组织方式和协作分工

本项目由项目负责人统筹协调，下设数据组、算法组、应用组三个工作小组。

五、预期目标和成果形式

5.1 项目研究预期达到的目标

技术目标：问答准确率达到85%以上。应用目标：开发财务智能知识问答原型系统。效益目标：替代财务专家70%以上的重复性咨询工作。

5.2 明确叙述提高研究成果的形式

包括技术方案文档、原型系统、训练数据集、微调模型、技术论文/报告等成果形式。


key: chroma:document
string_value:
六、项目承担团队的条件

项目团队具备人工智能、大数据等领域的技术背景，具备财务信息系统开发经验，具备充足的GPU计算资源和完善的开发测试环境。

七、项目进度安排

第1-2月：项目启动、需求分析；第3-4月：数据收集、清洗；第5-7月：数据集生成；第8-10月：模型训练；第11-12月：系统开发；第13-14月：优化整理；第15-16月：验收转化。

八、项目经费预算

本项目经费预算根据实际研究工作需要编制，包括人工费、设备使用费、业务费、场地使用费、专家咨询费等科目。

分管领导审核意见：

（对经费预算是否合理，有无其他经费来源，能否保证研究计划实施所需的人力，工作时间等基本条件提出具体意见）

分管领导（签字）： 年 月 日


# embeddings_queue

created_at: 2026-03-20 15:37:33
topic: persistent://default/default/66d0d002-8e0d-4ba6-8db8-e42407c0dd6b
id: f9aa3603-f9af-4c07-991b-9b102cf4618e
encoding: FLOAT32
metadata:
{"document_id":"464f8fd8-ee68-4cd2-9b8a-8ddfa50fbfb2","chroma:document":"远光软件股份有限公司科技项目可行性研究报告\n\n项目名称：大模型微调技术研究与应用\n\n申请部门：\n\n起止时间：年至年\n\n项目负责人：\n\n联系电话：\n\n申请日期：年 月\n\n大模型微调技术可行性研究报告\n\n远光软件股份有限公司科技项目可行性研究报告\n\n项目名称： 大模型微调技术研究与应用\n\n申请部门：\n\n起止时间： 年 月至 年 月\n\n项目负责人：\n\n联系电话：\n\n申请日期： 年 月\n\n一、目的和意义\n\n1.1 项目背景与需求\n\n近年来，以深度学习为基础的大型预训练语言模型（Large Language Models,\nLLMs）如GPT系列、BERT、LLaMA等在自然语言处理领域取得了突破性进展，通过海量数据的预训练和超大规模参数量，这些模型展现出强大的通用语言理解与生成能力，在机器翻译、文本摘要、问答系统、内容创作等众多任务中表现出色，引领了人工智能技术的新浪潮。然而，这些通用大模型在面对特定专业领域任务时，往往存在知识覆盖不足、专业术语理解偏差、领域特定逻辑推理能力欠缺、输出风格不符合行业特点等问题，难以直接满足垂直场景的应用需求。","file_type":"txt","document_title":"report.txt","chunk_index":0}


created_at: 2026-03-20 15:37:33
topic: persistent://default/default/66d0d002-8e0d-4ba6-8db8-e42407c0dd6b
id: 43324d55-5216-402d-b218-871ea1b49152
encoding: FLOAT32
metadata:
{"chunk_index":1,"document_id":"464f8fd8-ee68-4cd2-9b8a-8ddfa50fbfb2","file_type":"txt","document_title":"report.txt","chroma:document":"模型微调（Fine-tuning）技术作为将通用大模型适配到特定场景的关键手段，通过在领域相关数据上进一步训练模型参数，使模型能够吸收领域知识、适应特定任务要求，从而显著提升模型在目标任务上的性能表现。随着大模型参数规模的不断扩大，传统的全参数微调方式面临着计算资源消耗大、存储成本高、容易产生灾难性遗忘等挑战，因此，参数高效微调（Parameter-Efficient\nFine-Tuning,\nPEFT）方法如LoRA、Adapter、Prefix-tuning等技术应运而生，为低成本、高效率的大模型领域适配提供了新的技术路径。\n\n本项目旨在探索适合特定领域特点的高效微调策略，解决数据稀缺性、专业术语理解、领域知识融合等关键技术问题，提升模型在特定场景下的准确性、可靠性和实用性。\n\n项目成果将对该现状和技术发展的作用主要体现在技术推动作用和应用落地支撑两方面。\n\n二、国内外研究水平综述\n\n2.1 技术发展历史简要回顾\n\n大模型微调技术的发展历程分为四个阶段："}


created_at: 2026-03-20 15:37:33
topic: persistent://default/default/66d0d002-8e0d-4ba6-8db8-e42407c0dd6b
id: 2d7a85e0-2be1-4b26-8aa5-5b4e0409fa0f
encoding: FLOAT32
metadata:
{"chroma:document":"第一阶段（2018年前）：传统迁移学习与微调雏形阶段。模型适配多采用传统迁移学习思路，将通用数据集上训练的基础模型迁移至特定任务场景。\n\n第二阶段（2018-2020年）：预训练-微调范式确立阶段。2018年谷歌提出BERT模型，首次构建\"预训练通用知识+下游任务微调\"的技术框架。\n\n第三阶段（2020-2022年）：高效微调技术爆发阶段。LoRA、QLoRA、Adapter等参数高效微调技术相继出现，将微调参数规模大幅降低。\n\n第四阶段（2022年至今）：垂直领域深化与协同优化阶段。\"基座模型+领域微调\"的架构成为主流，微调技术与知识图谱进一步融合。\n\n2.2 国内外研究水平现状和发展趋势\n\n国际层面，Hugging\nFace、DeepSpeed等开源社区为参数高效微调技术的普及提供了重要支撑。国内层面，阿里云基于通义千问进行财税领域定制微调，验证了微调技术在财务领域的应用价值。\n\n三、项目的理论和实践依据\n\n3.1 项目研究内容原理简述\n\n本项目采用\"基座模型+领域适配\"分层微调架构，选取开源基座模型，针对财务问答场景特性采用LoRA参数高效微调策略。","file_type":"txt","chunk_index":2,"document_id":"464f8fd8-ee68-4cd2-9b8a-8ddfa50fbfb2","document_title":"report.txt"}


created_at: 2026-03-20 15:37:33
topic: persistent://default/default/66d0d002-8e0d-4ba6-8db8-e42407c0dd6b
id: 12a3b425-1eb6-4dca-8e90-ae3891eaa259
encoding: FLOAT32
metadata:
{"chunk_index":3,"file_type":"txt","chroma:document":"3.2 项目研究内容理论和实践依据\n\n理论依据包括国家战略层面的政策支持和成熟的技术理论体系。实践依据包括大模型微调技术在财务等垂直领域的成功案例。\n\n3.3 项目研究的关键和难点\n\n关键点包括高质量数据集构建、高效微调策略适配、知识精准注入与幻觉抑制、效果评估体系建设。难点集中在数据处理、微调策略、知识注入和评估体系四个方面。\n\n四、项目研究内容和实施方案\n\n4.1 项目研究内容详细说明\n\n本项目研究内容包括数据格式研究、微调框架研究、模型微调后评估体系研究三个方面。\n\n4.2 理论研究步骤和试验计划\n\n包括数据处理流程、训练数据生成流程、数据验证流程三个主要环节。\n\n4.3 项目组织方式和协作分工\n\n本项目由项目负责人统筹协调，下设数据组、算法组、应用组三个工作小组。\n\n五、预期目标和成果形式\n\n5.1 项目研究预期达到的目标\n\n技术目标：问答准确率达到85%以上。应用目标：开发财务智能知识问答原型系统。效益目标：替代财务专家70%以上的重复性咨询工作。\n\n5.2 明确叙述提高研究成果的形式\n\n包括技术方案文档、原型系统、训练数据集、微调模型、技术论文/报告等成果形式。","document_title":"report.txt","document_id":"464f8fd8-ee68-4cd2-9b8a-8ddfa50fbfb2"}


created_at: 2026-03-20 15:37:33
topic: persistent://default/default/66d0d002-8e0d-4ba6-8db8-e42407c0dd6b
id: f01c16f1-4dcc-4cce-93d7-b8a5ae8a60fa
encoding: FLOAT32
metadata:
{"document_title":"report.txt","document_id":"464f8fd8-ee68-4cd2-9b8a-8ddfa50fbfb2","chroma:document":"六、项目承担团队的条件\n\n项目团队具备人工智能、大数据等领域的技术背景，具备财务信息系统开发经验，具备充足的GPU计算资源和完善的开发测试环境。\n\n七、项目进度安排\n\n第1-2月：项目启动、需求分析；第3-4月：数据收集、清洗；第5-7月：数据集生成；第8-10月：模型训练；第11-12月：系统开发；第13-14月：优化整理；第15-16月：验收转化。\n\n八、项目经费预算\n\n本项目经费预算根据实际研究工作需要编制，包括人工费、设备使用费、业务费、场地使用费、专家咨询费等科目。\n\n分管领导审核意见：\n\n（对经费预算是否合理，有无其他经费来源，能否保证研究计划实施所需的人力，工作时间等基本条件提出具体意见）\n\n分管领导（签字）： 年 月 日","chunk_index":4,"file_type":"txt"}


