wvivi2023
|
319475e0f6
|
编辑分块功能
|
2024-03-21 11:11:34 +08:00 |
wvivi2023
|
ca9b09549f
|
将语义检索和词汇检索相结合提高检索准确性
|
2024-03-12 18:24:10 +08:00 |
wvivi2023
|
26f3f364d7
|
完善文档查询接口
|
2024-03-07 14:29:08 +08:00 |
wvivi2023
|
53fb9f6319
|
修复es重复入库的问题和文档分块字符串计算包括空格和换行符的问题
|
2024-03-06 14:50:45 +08:00 |
wvivi2023
|
df993defcc
|
fix faiss vector error
|
2024-03-01 14:04:27 +08:00 |
wvivi2023
|
7f8855afe0
|
add a new api to search content by keyword for es
|
2024-02-27 11:05:55 +08:00 |
wvivi2023
|
5b211fc44d
|
Merge branch 'master' into branch-0.2.9
|
2024-01-26 18:08:14 +08:00 |
liunux4odoo
|
9c525b7fa5
|
publish 0.2.10 (#2797)
新功能:
- 优化 PDF 文件的 OCR,过滤无意义的小图片 by @liunux4odoo #2525
- 支持 Gemini 在线模型 by @yhfgyyf #2630
- 支持 GLM4 在线模型 by @zRzRzRzRzRzRzR
- elasticsearch更新https连接 by @xldistance #2390
- 增强对PPT、DOC知识库文件的OCR识别 by @596192804 #2013
- 更新 Agent 对话功能 by @zRzRzRzRzRzRzR
- 每次创建对象时从连接池获取连接,避免每次执行方法时都新建连接 by @Lijia0 #2480
- 实现 ChatOpenAI 判断token有没有超过模型的context上下文长度 by @glide-the
- 更新运行数据库报错和项目里程碑 by @zRzRzRzRzRzRzR #2659
- 更新配置文件/文档/依赖 by @imClumsyPanda @zRzRzRzRzRzRzR
- 添加日文版 readme by @eltociear #2787
修复:
- langchain 更新后,PGVector 向量库连接错误 by @HALIndex #2591
- Minimax's model worker 错误 by @xyhshen
- ES库无法向量检索.添加mappings创建向量索引 by MSZheng20 #2688
|
2024-01-26 06:58:49 +08:00 |
wvivi2023
|
c3321a6a34
|
Merge branch 'master' into branch-0.2.9
|
2024-01-17 11:05:10 +08:00 |
Zhi-guo Huang
|
e55f8cf7a9
|
Update milvus_kb_service.py
修复typo
|
2024-01-12 16:58:32 +08:00 |
wvivi2023
|
3593e6ca2c
|
update
|
2024-01-04 18:02:43 +08:00 |
wvivi2023
|
df348e96a5
|
add log
|
2024-01-02 15:22:35 +08:00 |
liunux4odoo
|
9ff7bef2c2
|
新功能:知识库管理界面支持查看、编辑、删除向量库文档 (#2471)
* 新功能:
- 知识库管理界面支持查看、编辑、删除向量库文档。暂不支持增加(aggrid添加新行比较麻烦,需要另外实现)
- 去除知识库管理界面中重建知识库和删除知识库按钮,建议用户到终端命令操作
修复:
- 所有与知识库名称、文件名称有关的数据库操作函数都改成大小写不敏感,所有路径统一为 posix 风格,避免因路径文本不一致导致数据重复和操作失效 (close #2232)
开发者:
- 添加 update_docs_by_id 函数与 API 接口。当前仅支持 FAISS,暂时未用到,未将来对知识库做更细致的修改做准备
- 统一 DocumentWithScore 与 DocumentWithVsId
- FAISS 返回的 Document.metadata 中包含 ID, 方便后续查找比对
- /knowledge_base/search_docs 接口支持 file_name, metadata 参数,可以据此检索文档
* fix bug
|
2023-12-26 13:44:36 +08:00 |
xldistance
|
332e1ccfaa
|
更新self.dims_length赋值错误 (#2380)
|
2023-12-14 19:56:39 +08:00 |
hzg0601
|
db008c1af8
|
为milvus增加额外索引与搜索配置
|
2023-12-13 15:52:11 +08:00 |
hzg0601
|
db1c1e2ee4
|
解决多次调用es创建索引失败的问题
|
2023-12-11 10:39:59 +08:00 |
liunux4odoo
|
7d2de47bcf
|
文件对话和知识库对话 API 接口实现全异步操作,防止阻塞 (#2256)
* EmbeddingFunAdapter 支持异步操作;文件对话和知识库对话 API 接口实现全异步操作,防止阻塞
* 修复: 使 list_files_from_folder 返回相对路径
|
2023-12-02 19:22:44 +08:00 |
glide-the
|
248db46187
|
Merge branch 'dev_summary' into dev_command_summary
实现summary_chunk 文档分段总结业务实现
使用 MapReduceDocumentsChain 生成摘要
# Conflicts:
# server/api.py
# server/knowledge_base/kb_doc_api.py
# server/knowledge_base/kb_service/base.py
# server/knowledge_base/migrate.py
|
2023-11-25 22:30:41 +08:00 |
liunux4odoo
|
aae4144476
|
数据库和向量库中文档 metadata["source"] 改为相对路径,便于向量库迁移 (#2153)
修复:
- 上传知识库文件名称包括子目录时,自动创建子目录
|
2023-11-23 19:54:00 +08:00 |
liunux4odoo
|
68a544ea33
|
开发者:XXKBService.get_doc_by_id 改为批量处理,提高访问向量库效率。
|
2023-11-16 11:09:40 +08:00 |
zR
|
94d4304638
|
更新了chatglm3 6b agent的文档,提示词 (#2041)
更新了chatglm3 6b agent的文档,提示词
修复代理no_proxy格式问题 #1838 的问题,感谢多次复现和验证
修改了pg清理知识库后还会引用之前知识库的问题
|
2023-11-13 16:30:09 +08:00 |
hzg0601
|
c1440c2609
|
增加ElasticSearch支持
|
2023-11-10 16:04:41 +08:00 |
liunux4odoo
|
b51ba11f45
|
支持通过配置项同时启动多个模型,将Wiki纳入samples知识库 (#2002)
新功能:
- 将 LLM_MODEL 配置项改为 LLM_MODELS 列表,同时启动多个模型
- 将 wiki 纳入 samples 知识库
依赖变化:
- 指定 streamlit~=1.27.0。1.26.0会报rerun错误,1.28.0会有无限刷新错误
修复优化:
- 优化 get_default_llm_model 逻辑
- 适配 Qwen 在线 API 做 Embeddings 时最大 25 行的限制
- 列出知识库磁盘文件时跳过 . 开头的文件
|
2023-11-09 22:15:52 +08:00 |
WilliamChen-luckbob
|
ce1001a043
|
bugfix:dev分支创建知识库必然失败的bug修复 (#1980)
* bugfix:dev分支创建知识库必然失败的bug修复
* 统一 KBServiceFactory.get_service_by_name 的逻辑,数据库中不存在知识库时返回 None
---------
Co-authored-by: liunux4odoo <liunux@qq.com>
|
2023-11-09 17:45:21 +08:00 |
liunux4odoo
|
65592a45c3
|
支持在线 Embeddings, Lite 模式支持所有知识库相关功能 (#1924)
新功能:
- 支持在线 Embeddings:zhipu-api, qwen-api, minimax-api, qianfan-api
- API 增加 /other/embed_texts 接口
- init_database.py 增加 --embed-model 参数,可以指定使用的嵌入模型(本地或在线均可)
- 对于 FAISS 知识库,支持多向量库,默认位置:{KB_PATH}/vector_store/{embed_model}
- Lite 模式支持所有知识库相关功能。此模式下最主要的限制是:
- 不能使用本地 LLM 和 Embeddings 模型
- 知识库不支持 PDF 文件
- init_database.py 重建知识库时不再默认情况数据库表,增加 clear-tables 参数手动控制。
- API 和 WEBUI 中 score_threshold 参数范围改为 [0, 2],以更好的适应在线嵌入模型
问题修复:
- API 中 list_config_models 会删除 ONLINE_LLM_MODEL 中的敏感信息,导致第二轮API请求错误
开发者:
- 统一向量库的识别:以(kb_name,embed_model)为判断向量库唯一性的依据,避免 FAISS 知识库缓存加载逻辑错误
- KBServiceFactory.get_service_by_name 中添加 default_embed_model 参数,用于在构建新知识库时设置 embed_model
- 优化 kb_service 中 Embeddings 操作:
- 统一加载接口: server.utils.load_embeddings,利用全局缓存避免各处 Embeddings 传参
- 统一文本嵌入接口:server.knowledge_base.kb_service.base.[embed_texts, embed_documents]
- 重写 normalize 函数,去除对 scikit-learn/scipy 的依赖
|
2023-10-31 14:26:50 +08:00 |
liunux4odoo
|
deed92169f
|
支持在线 Embeddings:zhipu-api, qwen-api, minimax-api, qianfan-api (#1907)
* 新功能:
- 支持在线 Embeddings:zhipu-api, qwen-api, minimax-api, qianfan-api
- API 增加 /other/embed_texts 接口
- init_database.py 增加 --embed-model 参数,可以指定使用的嵌入模型(本地或在线均可)
问题修复:
- API 中 list_config_models 会删除 ONLINE_LLM_MODEL 中的敏感信息,导致第二轮API请求错误
开发者:
- 优化 kb_service 中 Embeddings 操作:
- 统一加载接口: server.utils.load_embeddings,利用全局缓存避免各处 Embeddings 传参
- 统一文本嵌入接口:server.embedding_api.[embed_texts, embed_documents]
|
2023-10-28 23:37:30 +08:00 |
zR
|
e74fe2d950
|
Zilliz修复 (#1874)
* 修复zilliz的问题
|
2023-10-25 21:59:26 +08:00 |
liunux4odoo
|
19f5f07d57
|
fix: unused imported faiss in milvus_kb_server (close #1849)
|
2023-10-24 15:01:19 +08:00 |
zR
|
69e5da4e7a
|
北京黑客松更新 (#1785)
* 北京黑客松更新
知识库支持:
支持zilliz数据库
Agent支持:
支持以下工具调用
1. 支持互联网Agent调用
2. 支持知识库Agent调用
3. 支持旅游助手工具(未上传)
知识库更新
1. 支持知识库简介,用于Agent选择
2. UI对应知识库简介
提示词选择
1. UI 和模板支持提示词模板更换选择
|
2023-10-18 15:19:02 +08:00 |
liunux4odoo
|
94977c7ab1
|
修复:切换embed_model时,FAISS向量库未正确释放,导致`d == self.d assert (#1766)
修复:
- 切换embed_model时,FAISS向量库未正确释放,导致d == self.d assert error (close [求助] 初始化知识库发生错误 #1657 )
- ApiRequest中chat接口增加max_tokens参数
- FileDocModel模型字段错误(字段错误 #1691)
|
2023-10-16 21:02:07 +08:00 |
liunux4odoo
|
1bae930691
|
修复faiss_pool知识库缓存key错误 (#1507)
|
2023-09-17 16:31:44 +08:00 |
liunux4odoo
|
c8d8727783
|
更新migrate.py和init_database.py,加强知识库迁移工具: (#1498)
1. 添加--update-in-db参数,按照数据库信息,从本地文件更新向量库
2. 添加--increament参数,根据本地文件增量更新向量库
3. 添加--prune-db参数,删除本地文件后,自动清理相关的向量库
4. 添加--prune-folder参数,根据数据库信息,清理无用的本地文件
5. 取消--update-info-only参数。数据库中存储了向量库信息,该操作意义不大
6. 添加--kb-name参数,所有操作支持指定操作的知识库,不指定则为所有本地知识库
7. 添加知识库迁移的测试用例
8. 删除milvus_kb_service的save_vector_store方法
|
2023-09-16 09:09:27 +08:00 |
liunux4odoo
|
f7c73b842a
|
优化configs (#1474)
* remove llm_model_dict
* optimize configs
* fix get_model_path
* 更改一些默认参数,添加千帆的默认配置
* Update server_config.py.example
|
2023-09-15 17:52:22 +08:00 |
唐国梁
|
6ad8aee88c
|
add ES function
|
2023-09-14 07:54:42 +08:00 |
liunux4odoo
|
a03b8d330d
|
升级到langchain==0.0.287,fschat==0.0.28;处理langchain.Milvus bug(#10492) (#1454)
* 修复milvus_kb_service中一些bug,添加文档后将数据同步到数据库
* 升级到langchain==0.0.287,fschat==0.0.28;处理langchain.Milvus bug(#10492)
* 修复切换模型BUG: 从在线API切换模型时出错
|
2023-09-13 08:43:11 +08:00 |
liunux4odoo
|
efd6d4a251
|
修复milvus_kb_service中一些bug,添加文档后将数据同步到数据库 (#1452)
|
2023-09-12 22:34:03 +08:00 |
liunux4odoo
|
6a03611750
|
fix api and webui: (#1435)
1. fix #1431: 优化知识库问答与搜索引擎问答的API接口,避免docs重复返回
2. startup.py根据configs.log_verbose控制log级别
3. 修复/llm_model/list_models的bug:
只有一个参数时,fastapi未返回json导致视图函数出错
|
2023-09-12 08:31:17 +08:00 |
liunux4odoo
|
22ff073309
|
修改Embeddings和FAISS缓存加载方式,知识库相关API接口支持多线程并发 (#1434)
* 修改Embeddings和FAISS缓存加载方式,支持多线程,支持内存FAISS
* 知识库相关API接口支持多线程并发
* 根据新的API接口调整ApiRequest和测试用例
* 删除webui.py失效的启动说明
|
2023-09-11 20:41:41 +08:00 |
glide-the
|
5550e3c1a9
|
增加显示详细日志开关
|
2023-09-08 20:48:31 +08:00 |
liunux4odoo
|
1195eb75eb
|
merge pr1413
|
2023-09-08 10:30:07 +08:00 |
liunux4odoo
|
661a0e9d72
|
新功能:
- 知识库管理中的add_docs/delete_docs/update_docs均支持批量操作,并利用多线程提高效率
- API的重建知识库接口支持多线程
- add_docs可提供参数控制上传文件后是否继续进行向量化
- add_docs/update_docs支持传入自定义docs(以json形式)。后续考虑区分完整或补充式自定义docs
- download_doc接口添加`preview`参数,支持下载或预览
- kb_service增加`save_vector_store`方法,便于保存向量库(仅FAISS,其它无操作)
- 将document_loader & text_splitter逻辑从KnowledgeFile中抽离出来,为后续对内存文件进行向量化做准备
- KowledgeFile支持docs & splitted_docs的缓存,方便在中间过程做一些自定义
其它:
- 将部分错误输出由print改为logger.error
|
2023-09-08 08:55:12 +08:00 |
zqt
|
e21ca447af
|
milvus/pg kb_service需要实现get_doc_by_id方法
|
2023-09-04 16:40:05 +08:00 |
liunux4odoo
|
0bc9d5c8ee
|
Merge branch 'dev' into opt_add_doc
|
2023-09-03 21:38:45 +08:00 |
liunux4odoo
|
6cb1bdf623
|
添加切换模型功能,支持智谱AI在线模型 (#1342)
* 添加LLM模型切换功能,需要在server_config中设置可切换的模型
* add tests for api.py/llm_model/*
* - 支持模型切换
- 支持智普AI线上模型
- startup.py增加参数`--api-worker`,自动运行所有的线上API模型。使用`-a
(--all-webui), --all-api`时默认开启该选项
* 修复被fastchat覆盖的标准输出
* 对fastchat日志进行更细致的控制,startup.py中增加-q(--quiet)开关,可以减少无用的fastchat日志输出
* 修正chatglm api的对话模板
Co-authored-by: liunux4odoo <liunu@qq.com>
|
2023-09-01 23:58:09 +08:00 |
liunux4odoo
|
55e417a263
|
升级注意
数据库表发生变化,需要重建知识库
新功能
- 增加FileDocModel库表,存储知识文件与向量库Document ID对应关系以及元数据,便于检索向量库
- 增加FileDocModel对应的数据库操作函数(这些函数主要是给KBService调用,用户一般无需使用):
- list_docs_from_db: 根据知识库名称、文件名称、元数据检索对应的Document IDs
- delete_docs_from_db: 根据知识库名称、文件名称删除对应的file-doc映射
- add_docs_to_db: 添加对应的file-doc映射
- KBService增加list_docs方法,可以根据文件名、元数据检索Document。当前仅支持FAISS,待milvus/pg实现get_doc_by_id方法后即自动支持。
- 去除server.utils对torch的依赖
待完善
- milvus/pg kb_service需要实现get_doc_by_id方法
|
2023-09-01 22:54:57 +08:00 |
liunux4odoo
|
b1201a5f23
|
优化LLM和Embedding模型运行设备配置,可设为auto自动检测;修复:重建知识库时FAISS未保存 (#1330)
* 避免configs对torch的依赖;
* webui自动从configs获取api地址(close #1319)
* bug fix: 重建知识库时FAISS未保存
* 优化LLM和Embedding模型运行设备配置,可设为auto自动检测
|
2023-08-31 17:44:48 +08:00 |
liunux4odoo
|
16fb19d2c3
|
优化LLM和Embedding模型运行设备配置,可设为auto自动检测
|
2023-08-31 17:41:09 +08:00 |
liunux4odoo
|
80590ef5dc
|
bug fix: faiss vector store not saved when recreate
|
2023-08-31 17:34:22 +08:00 |
liunux4odoo
|
ca0ae29fef
|
运行startup.py时,如果不加参数直接显示配置和帮助信息后退出 (#1284)
* 统一XX_kb_service.add_doc/do_add_doc接口,不再需要embeddings参数
* 运行startup.py时,如果不加参数直接显示配置和帮助信息后退出
---------
Co-authored-by: liunux4odoo <liunu@qq.com>
|
2023-08-28 16:03:53 +08:00 |
liunux4odoo
|
3acbf4d5d1
|
增加数据库字段,重建知识库使用多线程 (#1280)
* close #1172: 给webui_page/utils添加一些log信息,方便定位错误
* 修复:重建知识库时页面未实时显示进度
* skip model_worker running when using online model api such as chatgpt
* 修改知识库管理相关内容:
1.KnowledgeFileModel增加3个字段:file_mtime(文件修改时间),file_size(文件大小),custom_docs(是否使用自定义docs)。为后面比对上传文件做准备。
2.给所有String字段加上长度,防止mysql建表错误(pr#1177)
3.统一[faiss/milvus/pgvector]_kb_service.add_doc接口,使其支持自定义docs
4.为faiss_kb_service增加一些方法,便于调用
5.为KnowledgeFile增加一些方法,便于获取文件信息,缓存file2text的结果。
* 修复/chat/fastchat无法流式输出的问题
* 新增功能:
1、KnowledgeFileModel增加"docs_count"字段,代表该文件加载到向量库中的Document数量,并在WEBUI中进行展示。
2、重建知识库`python init_database.py --recreate-vs`支持多线程。
其它:
统一代码中知识库相关函数用词:file代表一个文件名称或路径,doc代表langchain加载后的Document。部分与API接口有关或含义重叠的函数暂未修改。
---------
Co-authored-by: liunux4odoo <liunux@qq.com>, hongkong9771
|
2023-08-28 13:50:35 +08:00 |