Milvus2.6安装和使用
⚠️ 关注公众号 朋蛋、码上小明
1 Docker-compose安装
1.1 修改数据映射目录
⚠️ 可以不做:
将milvus-standalone-docker-compose.yml中的目录修改为特定目录,既将${DOCKER_VOLUME_DIRECTORY:-.}/volumes修改为/home/milvusvec。
${DOCKER_VOLUME_DIRECTORY:-.}表示获取操作系统的DOCKER_VOLUME_DIRECTORY环境变量,如果存在值,则直接替换,如果不存在值,则使用当前目录.(即milvus-standalone-docker-compose.yml所在的目录)。
1.2 修改端口号
根据实际情况可自行调整容器对外端口号,包括Minio和milvus。
1.3 设置账号和密码
⚠️不开启账号验证,就不需要做该操作。
方法1:修改映射参考(推荐)
在milvus-standalone-docker-compose.yml中修改配置参数。
environment:
ETCD_ENDPOINTS: etcd:2379
MINIO_ADDRESS: minio:9000
MQ_TYPE: woodpecker
# 启动权限
# common.security.authorizationEnabled: true
MILVUS_COMMON_SECURITY_AUTHORIZATIONENABLED: true
# 设置管理员密码
# common.security.defaultRootPassword: 123456
MILVUS_COMMON_SECURITY_DEFAULTROOTPASSWORD: 123456
方法2:下载文件修改参数
下载文件
https://raw.githubusercontent.com/milvus-io/milvus/master/configs/milvus.yaml
修改文件
# 在1204行,件将authorizationEnabled: false,修改为如下:
authorizationEnabled: true
在Docker-compose通过目录映射
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
- ${DOCKER_VOLUME_DIRECTORY:-.}/milvus.yaml:/milvus/configs/milvus.yaml
2 安装容器
2.1 下载docker-compose文件
下载milvus-standalone-docker-compose.yml文件
https://github.com/milvus-io/milvus/releases/download/v2.6.23/milvus-standalone-docker-compose.yml
执行命令如下
docker-compose -f milvus-standalone-docker-compose.yml up -d
执行结果
✔ Network milvus Created 0.1s
✔ Container milvus-minio Started 0.3s
✔ Container milvus-etcd Started 0.3s
✔ Container milvus-standalone Started 0.0s
2.2 修改账号和密码后的docker-compose文件
version: '3.5'
services:
etcd:
container_name: milvus-etcd
image: quay.io/coreos/etcd:v3.5.25
environment:
- ETCD_AUTO_COMPACTION_MODE=revision
- ETCD_AUTO_COMPACTION_RETENTION=1000
- ETCD_QUOTA_BACKEND_BYTES=4294967296
- ETCD_SNAPSHOT_COUNT=50000
volumes:
- /home/milvusvec/etcd:/etcd
command: etcd -advertise-client-urls=http://etcd:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
healthcheck:
test: ["CMD", "etcdctl", "endpoint", "health"]
interval: 30s
timeout: 20s
retries: 3
minio:
container_name: milvus-minio
image: minio/minio:RELEASE.2024-12-18T13-15-44Z
environment:
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
ports:
- "9001:9001"
- "9000:9000"
volumes:
- /home/milvusvec/minio:/minio_data
command: minio server /minio_data --console-address ":9001"
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 30s
timeout: 20s
retries: 3
standalone:
container_name: milvus-standalone
image: milvusdb/milvus:v2.6.23
command: ["milvus", "run", "standalone"]
security_opt:
- seccomp:unconfined
environment:
ETCD_ENDPOINTS: etcd:2379
MINIO_ADDRESS: minio:9000
MQ_TYPE: woodpecker
# 启动权限
# common.security.authorizationEnabled: true
MILVUS_COMMON_SECURITY_AUTHORIZATIONENABLED: true
# 设置管理员密码
# common.security.defaultRootPassword: 123456
MILVUS_COMMON_SECURITY_DEFAULTROOTPASSWORD: 123456
volumes:
- /home/milvusvec/milvus:/var/lib/milvus
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
interval: 30s
start_period: 90s
timeout: 20s
retries: 3
ports:
- "19530:19530"
- "9091:9091"
depends_on:
- "etcd"
- "minio"
networks:
default:
name: milvus
⚠️ 高版本的Docker(版本24.0)已经将docker compose v2作为模型选项,因此,不需要下面的操作,如果没安装成功,请升级docker-compose为v2。
下载docker-compose的版本后,自行安装即可。
https://github.com/docker/compose/releases/download/v2.26.1/docker-compose-linux-x86_64
3 访问数据
3.1 使用Web UI查看数据
⚠️ 设置密码和权限后,可以访问Milvus Web UI页面,但是无法获取数据库、索引等信息,地址如下(需根据自己的IP地址调整):
http://192.168.108.128:9091/webui

3.2 使用Attu管理数据
⚠️其中参数可以不用要,-e MILVUS_ADDRESS=host.docker.internal:19530是 Docker 提供的一个特殊 DNS 名称,可访问到端口为19530的Milvus容器。建议:仅用于开发环境,不要用于生产环境。
docker run -itd \
--name milvus-attu \
-p 3000:3000 \
-v /home/milvusvec/attu:/data \
zilliz/attu:v2.6.5
访问地址
http://192.168.108.128:3000/
输入Milvus的地址、账号和密码,点击连接即可进入。

登录后

4 使用Python客户端访问
4.1 安装依赖
sentence-transformers用于计算向量
pip install pymilvus[model]==2.6.17 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install sentence-transformers -i https://pypi.tuna.tsinghua.edu.cn/simple
4.2 使用Milvus
实现了中文关键词搜索、语义检索和混合检索三种方法。
from typing import List
from pymilvus import MilvusClient, DataType, Function, FunctionType, AnnSearchRequest, RRFRanker, WeightedRanker
from sentence_transformers import SentenceTransformer
from mydata import mock_data, VecData
def build_client(db_name: str = "default") -> MilvusClient:
# 构建客户端
client = MilvusClient(
uri="http://192.168.108.128:19530",
token="root:123456",
db_name=db_name
)
return client
# 创建向量数据库
def build_vecdb(vecdb_name: str):
# 设置客户端
client = build_client()
# 获取数据库列表
db_list = client.list_databases()
print(db_list)
if vecdb_name in db_list:
print("数据库已存在")
return
# 创建数据库
client.create_database(
db_name=vecdb_name
)
print("数据库创建成功")
# 创建向量集合
def build_vec_coll(vec_coll_name: str, vecdb_name: str="default"):
# 设置客户端
client = build_client(db_name=vecdb_name)
# 查看集合是否存在
is_exit = client.has_collection(collection_name=vec_coll_name)
if is_exit:
print("集合已存在")
return
# 查看集合列表
coll_list = client.list_collections()
print(coll_list)
if vec_coll_name in coll_list:
print("集合已存在")
return
# 创建schema
schema = MilvusClient.create_schema(
auto_id=False,
enable_dynamic_field=True,
)
# (1) 设置结构类型
# 1.1 整数类型,设置为主键
schema.add_field(
field_name="data_id",
datatype=DataType.INT64,
# 设置为主键
is_primary=True,
# # 自动编号,如果开启这个,自定义的编号会失效
# auto_id=True
)
# 1.2 浮点向量类型
schema.add_field(
field_name="summary_vector",
datatype=DataType.FLOAT_VECTOR,
# 向量维度
dim=384
)
# 1.3 字符串类型,设置全文搜索
# 注意:文本不是英文的时候,需要设置分词器
"""
# 当需要多种语言时
# 设置多语言的language字段,同时,每条数据要添加语言字段:必须是:english,chinese,可根据自己的实际情况调整。
multi_analyzer_params = {
# 设置分词器
"analyzers": {
# 英文分词器,默认空格分词
"english": {"type": "english"},
# 中文分词器,默认jieba分词
"chinese": {"type": "chinese"},
# 默认,其他多语言分词器
"default": {"tokenizer": "icu"}
},
# !!注意:这是下面的language字段
# 根据语言动态调整分词器
"by_field": "language",
# 设置别名,非必须
"alias": {
# 中文简称
"cn": "chinese",
# 英文简称
"en": "english"
}
}
schema.add_field(
# 设置中文语言
field_name="language",
datatype=DataType.VARCHAR,
max_length=255
)
"""
# 我只有中文,因此此处设置为中文
multi_analyzer_params = {
"type": "chinese"
}
schema.add_field(
field_name="summary",
datatype=DataType.VARCHAR,
max_length=512,
# 开启分词,用于全文搜索
enable_analyzer=True,
# 设置分词器,如果不设置默认standard,表示按照空格和标点符号来确定词的边界。如下:
# analyzer_params={
# "tokenizer": "standard"
# }
# 2.6+版本,可支持多语言分词,如果是英文,不需要设置
analyzer_params= multi_analyzer_params
)
# 设置全文搜索关联的稀疏字段属性
schema.add_field(field_name="summary_sparse_bm25", datatype=DataType.SPARSE_FLOAT_VECTOR)
# 设置全文搜索的策略,以及关联的字段,将 "summary" 字段映射到 "summary_sparse_bm25" 字段
bm25_function = Function(
# 函数名称
name="summary_sparse_bm25_func",
# 目标字符串数据
input_field_names=["summary"],
# 映射的向量数据,用于存储将字符串转化的稀疏向量
output_field_names=["summary_sparse_bm25"],
# 函数类型
function_type=FunctionType.BM25,
)
# 设置函数
schema.add_function(bm25_function)
# 1.4 设置JSON类型
schema.add_field(field_name="metadata", datatype=DataType.JSON, nullable=True)
# (2) 设置索引类型
index_params = client.prepare_index_params()
# 2.1 设置主键索引
index_params.add_index(
field_name="data_id",
# AUTOINDEX表示系统会根据数据的内容,自动选择索引类型
# 可根据自己的需求设置索引类型
index_type="AUTOINDEX"
)
# 2.2 设置向量索引
index_params.add_index(
field_name="summary_vector",
index_type="AUTOINDEX",
metric_type="COSINE"
)
# 2.3 设置全文检索的稀疏向量的索引
index_params.add_index(
# 设置索引字段名称
field_name="summary_sparse_bm25",
# 设置索引字段
index_type="SPARSE_INVERTED_INDEX",
# 必须是BM25
metric_type="BM25",
params={
"inverted_index_algo": "DAAT_MAXSCORE",
"bm25_k1": 1.2,
"bm25_b": 0.75
}
)
# 创建集合
client.create_collection(
collection_name=vec_coll_name,
schema=schema,
index_params=index_params
)
# 获取集合状态
res = client.get_load_state(
collection_name=vec_coll_name
)
print(res)
def add_vec_data(vec_coll_name: str, vecdb_name: str="default"):
# 生成向量
model = SentenceTransformer(
model_name_or_path="E:/model/all-MiniLM-L6-v2"
)
# 句子列表
sentences = [item.summary for item in mock_data]
# 注意:all-MiniLM-L6-v2的输出维度是384
# 如果sentences是1维字符串列表,则sentence_embeddings输出的是2维向量列表,即1个字符串对应1个向量列表;
# 如果sentences是1个字符串,则sentence_embeddings输出的是1维向量列表
sentence_embeddings = model.encode(sentences)
# 转化为字典列表
mock_data_dict = []
# 遍历数据
for data_item, embedding in zip(mock_data, sentence_embeddings):
# 转为对象
data_item: VecData = data_item
# 更新向量值
data_item.summary_vector = embedding.tolist()
# 转化为字典列表
mock_data_dict.append(data_item.model_dump())
# 设置客户端
client = build_client(db_name=vecdb_name)
# 添加到数据库中
res = client.upsert(
collection_name=vec_coll_name,
data=mock_data_dict
)
print(res)
print("添加数据成功")
pass
# 语义检索
def query_vec(vec_coll_name: str, vecdb_name: str= "default"):
# 设置客户端
client = build_client(db_name=vecdb_name)
# 生成向量
model = SentenceTransformer(
model_name_or_path="E:/model/all-MiniLM-L6-v2"
)
text = "计算机人工智能方向上发展迅速"
text_embedding: List[List[float]] = model.encode(text).tolist()
res = client.search(
collection_name=vec_coll_name,
anns_field="summary_vector",
# 注意可以多向量检索
data=[text_embedding],
# 输出字段
output_fields=["data_id", "summary", "metadata"],
search_params={"metric_type": "COSINE"},
limit=10
)
for hits in res:
print("TopK results:")
for hit in hits:
print(hit)
# 关键词检索
def query_text(vec_coll_name: str, vecdb_name: str= "default"):
# 设置客户端
client = build_client(db_name=vecdb_name)
text = "计算机"
res = client.search(
collection_name=vec_coll_name,
# 注意,这是summary_sparse_bm25稀疏向量字段,不是summary文本字段
anns_field="summary_sparse_bm25",
data=[text],
# 输出字段
output_fields=["data_id", "summary", "metadata"],
limit=10
)
for hits in res:
print("TopK results:")
for hit in hits:
print(hit)
# 混合查询
def query_mix(vec_coll_name: str, vecdb_name: str= "default"):
# 设置客户端
client = build_client(db_name=vecdb_name)
# 生成向量
model = SentenceTransformer(
model_name_or_path="E:/model/all-MiniLM-L6-v2"
)
text = "计算机人工智能方向上发展迅速"
text_embedding: List[List[float]] = model.encode(text).tolist()
# 设置输出的数量
out_num = 10
# 1 设置查询请求
# 语义稠密检索
search_param_vec = {
"data": [text_embedding],
"anns_field": "summary_vector",
"param": {
"metric_type": "COSINE",
"params": {"nprobe": 10}
},
"limit": out_num
}
request_vec = AnnSearchRequest(**search_param_vec)
# 上面结果等价于
# request_vec = AnnSearchRequest(
# data=[text_embedding],
# anns_field="summary_vector",
# param={"metric_type": "COSINE", "params": {"nprobe": 10}},
# limit=2
# )
# 全文稀疏检索
search_param_text = {
"data": [text],
# 注意,此处不是summary字段,是对应的稀疏字段
"anns_field": "summary_sparse_bm25",
"param": {
"metric_type": "BM25"
},
"limit": out_num
}
request_text = AnnSearchRequest(**search_param_text)
# 设置查询列表
reqs = [request_vec, request_text]
# 2 设置重排方法
ranker = RRFRanker(k=60)
# 加权权重 0.7 语义权重, 0.3 关键词权重
# reranker = WeightedRanker(0.7, 0.3)
res = client.hybrid_search(
collection_name=vec_coll_name,
reqs=reqs,
ranker=ranker,
# 输出字段
output_fields=["data_id", "summary", "metadata"],
limit=out_num
)
for hits in res:
print("TopK results:")
for hit in hits:
print(hit)
if __name__ == '__main__':
# build_vecdb("first_db")
# build_vec_coll("first_coll")
# add_vec_data("first_coll")
print("关键词搜索")
query_text("first_coll")
print("语义检索")
query_vec("first_coll")
print("混合检索")
query_mix("first_coll")
数据代码
from typing import List, Dict, Any
from pydantic import BaseModel
# 实体对象
class VecData(BaseModel):
data_id: int = 0
summary: str = ""
summary_vector: List[float] = []
metadata: Dict[str, Any] = {}
# 测试数据
mock_data: List[VecData] = [
VecData(data_id=1, summary="人工智能正在深刻改变现代社会的生产方式,推动各行业向智能化和自动化方向加速转型升级。", metadata={"category": "科技", "author": "张三", "tags": ["AI", "自动化"], "source": "科技日报"}),
VecData(data_id=2, summary="全球气候变暖导致极端天气频发,各国政府正紧急制定减排政策以应对日益严峻的生态危机。", metadata={"category": "环境", "author": "李四", "tags": ["气候", "环保"], "source": "自然杂志"}),
VecData(data_id=3, summary="量子计算机在密码学领域取得重大突破,传统加密算法面临前所未有的安全挑战与重构需求。", metadata={"category": "科技", "author": "王五", "tags": ["量子计算", "安全"], "source": "IEEE"}),
VecData(data_id=4, summary="新能源汽车销量持续攀升,充电基础设施建设成为制约行业进一步发展的关键瓶颈与焦点。", metadata={"category": "汽车", "author": "赵六", "tags": ["新能源", "基建"], "source": "汽车之家"}),
VecData(data_id=5, summary="远程办公模式逐渐常态化,企业管理者需要重新思考团队协作效率与员工心理健康的平衡。", metadata={"category": "职场", "author": "孙七", "tags": ["远程办公", "管理"], "source": "哈佛商业评论"}),
VecData(data_id=6, summary="深海探测技术不断迭代,科学家在马里亚纳海沟发现了多种未知的极端环境微生物群落。", metadata={"category": "科学", "author": "周八", "tags": ["深海", "生物"], "source": "国家地理"}),
VecData(data_id=7, summary="元宇宙概念虽然热度下降,但虚拟现实技术在工业培训和医疗康复领域的应用正稳步落地。", metadata={"category": "科技", "author": "吴九", "tags": ["VR", "元宇宙"], "source": "极客公园"}),
VecData(data_id=8, summary="老龄化社会加速到来,社区养老服务体系的建设与专业护理人才的培养成为社会关注焦点。", metadata={"category": "社会", "author": "郑十", "tags": ["养老", "民生"], "source": "人民日报"}),
VecData(data_id=9, summary="生成式人工智能在内容创作领域引发版权争议,法律界正积极探索数字时代知识产权保护新路径。", metadata={"category": "法律", "author": "冯十一", "tags": ["AI版权", "法律"], "source": "法制日报"}),
VecData(data_id=10, summary="可控核聚变实验装置运行时间屡创新高,人类距离实现无限清洁能源的梦想又近了一步。", metadata={"category": "能源", "author": "陈十二", "tags": ["核聚变", "清洁能源"], "source": "科学美国人"}),
VecData(data_id=11, summary="跨境电商平台竞争加剧,物流时效与售后服务体验成为决定消费者复购率的核心竞争力。", metadata={"category": "电商", "author": "褚十三", "tags": ["跨境", "物流"], "source": "亿邦动力"}),
VecData(data_id=12, summary="脑机接口技术从实验室走向临床,瘫痪患者通过意念控制机械臂完成日常动作的成功率提升。", metadata={"category": "医疗", "author": "卫十四", "tags": ["脑机接口", "康复"], "source": "柳叶刀"}),
VecData(data_id=13, summary="短视频平台算法推荐机制引发信息茧房担忧,用户主动获取多元信息的意识亟待加强培养。", metadata={"category": "传媒", "author": "蒋十五", "tags": ["算法", "短视频"], "source": "传媒观察"}),
VecData(data_id=14, summary="固态电池技术研发取得阶段性进展,有望在未来五年内大幅提升电动汽车的续航里程与安全性。", metadata={"category": "汽车", "author": "沈十六", "tags": ["固态电池", "电动车"], "source": "电池中国"}),
VecData(data_id=15, summary="城市地下综合管廊建设稳步推进,有效解决了马路拉链问题,提升了城市基础设施韧性。", metadata={"category": "城建", "author": "韩十七", "tags": ["管廊", "基建"], "source": "建设报"}),
VecData(data_id=16, summary="合成生物学在医药制造领域展现巨大潜力,通过基因编辑微生物高效生产罕见病特效药物。", metadata={"category": "生物", "author": "杨十八", "tags": ["合成生物", "制药"], "source": "Nature Biotech"}),
VecData(data_id=17, summary="数字人民币试点范围进一步扩大,在公共交通和零售场景中的支付便捷性得到消费者广泛认可。", metadata={"category": "金融", "author": "朱十九", "tags": ["数字货币", "支付"], "source": "金融时报"}),
VecData(data_id=18, summary="太空旅游商业航班首飞成功,标志着普通民众进入太空的成本正在逐步降低,开启新纪元。", metadata={"category": "航天", "author": "秦二十", "tags": ["太空旅游", "商业航天"], "source": "航天报"}),
VecData(data_id=19, summary="智慧农业利用无人机和物联网传感器精准施肥,大幅减少了化肥使用量并提高了农作物产量。", metadata={"category": "农业", "author": "尤二一", "tags": ["智慧农业", "物联网"], "source": "农民日报"}),
VecData(data_id=20, summary="心理健康问题日益受到重视,企业开始将员工心理援助计划纳入标准福利体系以缓解职场压力。", metadata={"category": "职场", "author": "许二二", "tags": ["心理健康", "福利"], "source": "智联招聘"}),
VecData(data_id=21, summary="6G通信技术研发全面启动,未来将实现空天地一体化网络覆盖,彻底消除全球通信盲区。", metadata={"category": "通信", "author": "何二三", "tags": ["6G", "通信"], "source": "通信世界"}),
VecData(data_id=22, summary="海洋塑料污染治理取得初步成效,新型可降解材料的大规模应用有望从源头解决白色污染。", metadata={"category": "环保", "author": "吕二四", "tags": ["塑料污染", "新材料"], "source": "环保报"}),
VecData(data_id=23, summary="自动驾驶出租车在特定区域开启全无人商业化运营,乘客体验平稳但极端路况处理能力仍需验证。", metadata={"category": "交通", "author": "施二五", "tags": ["自动驾驶", "Robotaxi"], "source": "交通报"}),
VecData(data_id=24, summary="传统文化类节目创新表达方式,通过现代科技手段让文物活起来,深受年轻观众群体的喜爱。", metadata={"category": "文化", "author": "张二六", "tags": ["传统文化", "创新"], "source": "广电总局"}),
VecData(data_id=25, summary="网络安全威胁呈现组织化趋势,关键信息基础设施的防护体系建设成为国家安全的重要防线。", metadata={"category": "安全", "author": "孔二七", "tags": ["网络安全", "基建"], "source": "安全内参"}),
VecData(data_id=26, summary="基因编辑技术在农业育种中的应用引发伦理讨论,科学家呼吁建立严格的监管框架与评估标准。", metadata={"category": "伦理", "author": "曹二八", "tags": ["基因编辑", "伦理"], "source": "科学伦理"}),
VecData(data_id=27, summary="柔性显示技术日趋成熟,折叠屏手机市场份额稳步增长,用户体验和耐用性得到显著改善。", metadata={"category": "消费电子", "author": "严二九", "tags": ["折叠屏", "柔性显示"], "source": "中关村在线"}),
VecData(data_id=28, summary="碳中和目标倒逼高耗能产业转型,钢铁和水泥行业正积极探索氢能冶炼与碳捕集封存技术。", metadata={"category": "工业", "author": "华三零", "tags": ["碳中和", "转型"], "source": "经济日报"}),
VecData(data_id=29, summary="在线教育平台从应试辅导转向素质教育,编程和人工智能启蒙课程成为家长新的投资热点。", metadata={"category": "教育", "author": "金三一", "tags": ["在线教育", "素质教育"], "source": "芥末堆"}),
VecData(data_id=30, summary="微塑料在人体血液中被首次检出,环境科学界紧急呼吁开展大规模人群健康影响长期追踪研究。", metadata={"category": "健康", "author": "魏三二", "tags": ["微塑料", "健康"], "source": "环境与健康"}),
VecData(data_id=31, summary="区块链技术在供应链金融中的应用有效解决了中小企业融资难问题,提升了资金流转透明度。", metadata={"category": "金融", "author": "陶三三", "tags": ["区块链", "供应链"], "source": "银行家"}),
VecData(data_id=32, summary="外骨骼机器人开始进入民用市场,帮助老年人和体力劳动者减轻关节负担,提升生活质量。", metadata={"category": "机器人", "author": "姜三四", "tags": ["外骨骼", "助老"], "source": "机器人网"}),
VecData(data_id=33, summary="虚拟偶像产业规模持续扩大,AI驱动的表情捕捉技术让虚拟主播的互动更加自然且富有情感。", metadata={"category": "娱乐", "author": "戚三五", "tags": ["虚拟偶像", "AI"], "source": "娱乐资本论"}),
VecData(data_id=34, summary="城市交通大脑通过实时数据分析优化红绿灯配时,显著缓解了早晚高峰期的主干道拥堵状况。", metadata={"category": "智慧城市", "author": "谢三六", "tags": ["交通大脑", "治堵"], "source": "智慧城市"}),
VecData(data_id=35, summary="植物基人造肉口感不断改良,但高昂的零售价格仍是阻碍其进入大众日常餐桌的主要障碍。", metadata={"category": "食品", "author": "邹三七", "tags": ["人造肉", "食品科技"], "source": "食品科学"}),
VecData(data_id=36, summary="低轨卫星互联网星座组网加速,偏远地区和海上作业人员的宽带接入体验得到革命性提升。", metadata={"category": "通信", "author": "柏三八", "tags": ["卫星互联网", "低轨"], "source": "卫星应用"}),
VecData(data_id=37, summary="睡眠经济崛起,各类智能监测设备和助眠产品层出不穷,但部分产品的实际功效缺乏临床验证。", metadata={"category": "消费", "author": "水三九", "tags": ["睡眠经济", "智能硬件"], "source": "消费日报"}),
VecData(data_id=38, summary="干细胞疗法在脊髓损伤修复方面展现曙光,多中心临床试验数据表明部分患者恢复了部分知觉。", metadata={"category": "医疗", "author": "窦四零", "tags": ["干细胞", "脊髓损伤"], "source": "医学界"}),
VecData(data_id=39, summary="电子竞技正式成为亚运会比赛项目,职业选手的培养体系和退役保障机制正逐步走向规范化。", metadata={"category": "体育", "author": "章四一", "tags": ["电竞", "亚运会"], "source": "体坛周报"}),
VecData(data_id=40, summary="碳交易市场活跃度提升,企业通过出售减排配额获得额外收益,绿色金融体系日益完善。", metadata={"category": "金融", "author": "云四二", "tags": ["碳交易", "绿色金融"], "source": "证券时报"}),
VecData(data_id=41, summary="3D打印建筑技术在实际项目中落地,建造时间大幅缩短且建筑垃圾显著减少,前景广阔。", metadata={"category": "建筑", "author": "苏四三", "tags": ["3D打印", "绿色建筑"], "source": "建筑学报"}),
VecData(data_id=42, summary="隐私计算技术在数据要素流通中发挥关键作用,实现了数据可用不可见,保障了用户信息安全。", metadata={"category": "数据安全", "author": "潘四四", "tags": ["隐私计算", "数据要素"], "source": "数据观"}),
VecData(data_id=43, summary="宠物智能硬件市场爆发,自动喂食器和健康监测项圈帮助主人更好地照顾独居宠物的日常生活。", metadata={"category": "宠物", "author": "葛四五", "tags": ["宠物智能", "硬件"], "source": "宠物行业"}),
VecData(data_id=44, summary="氢能重卡在港口和矿区开始规模化示范运营,加氢站网络布局成为制约其普及的关键因素。", metadata={"category": "物流", "author": "董四六", "tags": ["氢能重卡", "物流"], "source": "物流时代"}),
VecData(data_id=45, summary="非遗传承人利用短视频平台直播带货,传统手工艺品找到了新的销售渠道和年轻受众群体。", metadata={"category": "文化", "author": "萧四七", "tags": ["非遗", "直播"], "source": "文旅中国"}),
VecData(data_id=46, summary="类脑芯片研发取得进展,其低功耗和高并行计算特性为边缘人工智能设备提供了新的算力选择。", metadata={"category": "芯片", "author": "程四八", "tags": ["类脑芯片", "边缘计算"], "source": "半导体行业"}),
VecData(data_id=47, summary="城市屋顶绿化项目推广,不仅有效缓解了城市热岛效应,还为市民提供了宝贵的休闲绿色空间。", metadata={"category": "城建", "author": "曹四九", "tags": ["屋顶绿化", "热岛效应"], "source": "园林局"}),
VecData(data_id=48, summary="个性化营养学兴起,基于肠道菌群检测的定制饮食方案受到健康追求者的青睐,但科学依据待考。", metadata={"category": "健康", "author": "袁五十", "tags": ["个性化营养", "肠道菌群"], "source": "健康报"}),
VecData(data_id=49, summary="太空垃圾问题日益严峻,各国航天机构正联合研发主动碎片清除技术,以保障轨道资源安全。", metadata={"category": "航天", "author": "柳五一", "tags": ["太空垃圾", "轨道安全"], "source": "宇航学报"}),
VecData(data_id=50, summary="大语言模型在代码生成领域表现卓越,程序员的工作效率显著提升,但代码审查责任仍归人类。", metadata={"category": "开发", "author": "史五二", "tags": ["大模型", "编程"], "source": "优快云"}),
]
4.3 截图
数据截图

执行结果截图

1万+



被折叠的 条评论
为什么被折叠?



