可视化知识库开发笔记

老项目环境搭建

MySQL

详见:~/git/mysql/start-docker-mysql.sh
注意:MySQL5.8的认证方式有调整,需要在启动时添加–mysql-native-password=ON 参数:

1
2
3
4
5
6
7
8
9
10
docker run -d \
--name mysql8-server \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=THSXX \
-v ~/docker/mysql/data:/var/lib/mysql \
-v ~/docker/mysql/conf:/etc/mysql/conf.d \
--platform=linux/amd64 \
--restart=unless-stopped \
mysql:8 \
--mysql-native-password=ON

进入命令行:

1
docker exec -it mysql8-server mysql -uroot -p

创建数据库:

1
CREATE DATABASE `datav` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

创建账号的时候也需要指定:

1
2
create user webteam@'%' IDENTIFIED WITH mysql_native_password by 'xxx';
grant all privileges on datav.* to webteam@'%';

导入表和数据,略。

本地数据库管理工具用的是DBeaver.

向量化服务

2025.06.06:阿里开源了Qwen3-Embedding,可以试试这个。

1
2
3
4
5
6
7
8
9
10
11
12
13

conda create -n knowledge python=3.10

conda activate knowledge

cd ~/git/datav-server/vectorization
pip install -r requirements.txt

cd scripts

# 模型会通过SentenceTransformer自动下载
python server.py

流式输出

项目规划

种子Prompt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
我想做一个数据可视化的RAG问答知识库,需要支持如下功能:
一、数据处理
1、抓取ECharts的文档网页的内容,包括配置信息、项目说明信息、API信息等,转为Markdown文件
2、解析抓取的Markdown和我们自己编写的Markdown文档,生成为jsonl格式,作为RAG的数据源

二、向量化服务
1、写一个程序,加载Qwen3-Embedding-0.6B模型,通过http提供一个向量化的服务

三、页面展示
1、编写一个前端对话式页面,用户输入问句后,调用后端接口,进行RAG查询,并以流式输出的形式返回和展示结果

技术栈要求:
1、数据处理、所有的后端接口,都采用Python技术栈
2、前端页面开发,采用React技术栈

请帮我规划下,包括:
1、需求上的细化
2、技术选型和方案设计

用Claude,下载为Markdown,放到项目下。

向量数据库选型

参考资料:Milvus(Zilliz)、LanceDB、Chroma、Pinecone对比

Chroma:
https://github.com/chroma-core/chroma
LangChain深度集成
对频繁更新数据友好
支持Python,不支持TS

LanceDB:
https://github.com/lancedb/lancedb
支持多模态,这个很吸引我。

Qdrant:
https://github.com/qdrant/qdrant

资料

Code Wiki
https://developers.googleblog.com/en/introducing-code-wiki-accelerating-your-code-understanding/
Google出了个Code wiki,看他们的文章,后面会出扩展,能对本地代码库进行分析
这个我们可以关注下,用来构建我们的组件库的AI对话式文档

AI 智能体 8 种常见的记忆(Memory)策略与技术实现
https://mp.weixin.qq.com/s/29SXiWyRgIZNGgpY3E0jdw

从资料库到知识库,从知识库到经验模式的转变:
https://www.zhihu.com/question/1901733816848070383/answer/1917967013063681145