panhong
|
d63bf0bda5
|
添加 react 编写的新版 WEBUI (#3417)
* feat:提交前端代码
* feat:提交logo样式切换
* feat:替换avatar、部分位置icon、chatchat相关说明、git链接、Wiki链接、关于、设置、反馈与建议等功能,关闭lobehub自检更新功能
* fix:移除多余代码
---------
Co-authored-by: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com>
|
2024-03-19 14:30:26 +08:00 |
|
Sumkor
|
4bdb69baf3
|
fix markdown header split (#1825) (#3324)
|
2024-03-15 07:17:53 +08:00 |
|
dignfei
|
7b2b24c0bc
|
使用多进程提高导入知识库的速度 (#3276)
|
2024-03-13 10:36:14 +08:00 |
|
liunux4odoo
|
d0846f88cc
|
- pydantic 限定为 v1,并统一项目中所有 pydantic 导入路径,为以后升级 v2 做准备
- 重构 api.py:
- 按模块划分为不同的 router
- 添加 openai 兼容的转发接口,项目默认使用该接口以实现模型负载均衡
- 添加 /tools 接口,可以获取/调用编写的 agent tools
- 移除所有 EmbeddingFuncAdapter,统一改用 get_Embeddings
- 待办:
- /chat/chat 接口改为 openai 兼容
- 添加 /chat/kb_chat 接口,openai 兼容
- 改变 ntlk/knowledge_base/logs 等数据目录位置
|
2024-03-06 13:51:34 +08:00 |
|
liunux4odoo
|
73eb5e2e32
|
move document_loaders & text_splitter under server
|
2024-03-06 13:49:39 +08:00 |
|
liunux4odoo
|
5d422ca9a1
|
修改模型配置方式,所有模型以 openai 兼容框架的形式接入,chatchat 自身不再加载模型。
改变 Embeddings 模型改为使用框架 API,不再手动加载,删除自定义 Embeddings Keyword 代码
修改依赖文件,移除 torch transformers 等重依赖
暂时移出对 loom 的集成
后续:
1、优化目录结构
2、检查合并中有无被覆盖的 0.2.10 内容
|
2024-03-06 13:49:38 +08:00 |
|
glide-the
|
307b973f26
|
embeddings模块集成openai plugins插件,使用统一api调用
|
2024-03-06 13:47:15 +08:00 |
|
zR
|
5df19d907b
|
跟新了langchain 0.1.x需要的依赖和修改的代码
|
2024-03-06 13:37:10 +08:00 |
|
zR
|
253168a187
|
Dev (#2280)
* 修复Azure 不设置Max token的bug
* 重写agent
1. 修改Agent实现方式,支持多参数,仅剩 ChatGLM3-6b和 OpenAI GPT4 支持,剩余模型将在暂时缺席Agent功能
2. 删除agent_chat 集成到llm_chat中
3. 重写大部分工具,适应新Agent
* 更新架构
* 删除web_chat,自动融合
* 移除所有聊天,都变成Agent控制
* 更新配置文件
* 更新配置模板和提示词
* 更改参数选择bug
|
2024-03-06 13:32:36 +08:00 |
|
Hans WAN
|
5460b93ba2
|
增加对 .htm 扩展名的显式支持
|
2024-02-06 16:28:41 +08:00 |
|
zR
|
56d32a9908
|
删除掉一些没用的注释,已经不需要todo了
|
2024-01-22 13:42:52 +08:00 |
|
zR
|
6df4554c8b
|
更新即将废弃的启动内容
|
2024-01-13 13:00:01 +08:00 |
|
Creation
|
75ff268e88
|
【功能新增】增强对PPT、DOC知识库文件的OCR识别 (#2013)
* 【功能新增】增强对PPT、DOC文件的OCR识别
* 【功能新增】增强对PPT、DOC文件的OCR识别
* Update mydocloader.py
---------
Co-authored-by: zR <2448370773@qq.com>
|
2024-01-12 11:04:50 +08:00 |
|
liunux4odoo
|
17e8bc072b
|
fix: make_text_splitter use wrong chunk_* parameters when exception. (close #2561) (#2564)
|
2024-01-05 15:06:59 +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 |
|
liunux4odoo
|
2e9319846e
|
support .xls files
|
2023-12-08 15:04:08 +08:00 |
|
liunux4odoo
|
7b70776810
|
fix: doc ext name error in LOADER_DICT
|
2023-12-08 13:59:55 +08:00 |
|
liunux4odoo
|
67b7c99d03
|
ocr 支持 GPU 加速(需要手动安装 rapidocr_paddle[gpu]);知识库支持 MHTML 和 Evernote 文件。 (#2265)
在 requirements 和 Wiki 中增加对可选文档加载器 SDK 的说明 ( close #2264 )
|
2023-12-04 09:39:56 +08:00 |
|
liunux4odoo
|
7d2de47bcf
|
文件对话和知识库对话 API 接口实现全异步操作,防止阻塞 (#2256)
* EmbeddingFunAdapter 支持异步操作;文件对话和知识库对话 API 接口实现全异步操作,防止阻塞
* 修复: 使 list_files_from_folder 返回相对路径
|
2023-12-02 19:22:44 +08:00 |
|
liunux4odoo
|
509dee0425
|
fix: empty docs error in KnowledgeFile
|
2023-11-29 11:33:43 +08:00 |
|
zR
|
1b0cf67a57
|
支持软连接的知识库 (#2167)
* GLM3支持传入提示词
支持传入提示词的Agent ChatGLM3-6B
* 软连接处理
1. 有效的软连接处理,参考了 #2125
2. 更新了依赖,现在fschat原生支持GLM3的全功能
* 更新了支持的模型列表和依赖
1. 推荐用户使用GLM3-6B取代2代GLM模型
2. 推荐用户使用性能更强的bge模型
3 推荐使用vllm和torch的最新稳定版本
|
2023-11-24 22:47:55 +08:00 |
|
liunux4odoo
|
aae4144476
|
数据库和向量库中文档 metadata["source"] 改为相对路径,便于向量库迁移 (#2153)
修复:
- 上传知识库文件名称包括子目录时,自动创建子目录
|
2023-11-23 19:54:00 +08:00 |
|
liunux4odoo
|
3cf7422c21
|
修复:知识库json文件的中文被转为unicode码,导致无法匹配 (#2128)
|
2023-11-21 21:00:46 +08:00 |
|
liunux4odoo
|
ad7a6fd438
|
开发者: (#2091)
- 修复列出知识库磁盘文件时跳过临时文件的bug:只有目录被排除了,文件未排除
- 优化知识库文档加载器:
- 将 elements 模式改为 single 模式,避免文档被切分得太碎
- 给 get_loader 和 KnowledgeFile 增加 loader_kwargs 参数,可以自定义文档加载器参数
|
2023-11-17 11:39:32 +08:00 |
|
liunux4odoo
|
fbe214471b
|
知识库支持 .jsonl, .epub, .xlsx, .xlsd, .ipynb, .odt, .py, .srt, .toml, .doc, .ppt 文件 (#2079)
* 知识库支持行式 json 文件
如果要使用 json 文件, 需要 `conda install jq`(windows 下 pip install jq 会失败)
开发者:
删除 CustomJsonLoader,使用 langchain 自带的 JsonLoader 处理 json 文件,添加 JsonLinesLoader 处理 jsonl 文件。
* 知识库支持 .epub, .xlsx, .xlsd, .ipynb, .odt, .py, .srt, .toml, .doc, .ppt 文件
为 .eml, .msg, .rst, .rtf, .tsv, .docx, .xml, .pptx 指定专用加载器
|
2023-11-16 09:37:09 +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 |
|
liunux4odoo
|
d8e15b57ba
|
知识库支持子目录(不包括temp和tmp开头的目录),文件相对路径总长度不可超过255 (#1928)
|
2023-10-31 16:59:40 +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
|
24d1e28a07
|
一些细节优化 (#1891)
Co-authored-by: zR <zRzRzRzRzRzRzR>
|
2023-10-27 11:52:44 +08:00 |
|
zR
|
e920cd0064
|
合并分支,支持 (#1808)
* 北京黑客松更新
知识库支持:
支持zilliz数据库
Agent支持:
支持以下工具调用
1. 支持互联网Agent调用
2. 支持知识库Agent调用
3. 支持旅游助手工具(未上传)
知识库更新
1. 支持知识库简介,用于Agent选择
2. UI对应知识库简介
提示词选择
1. UI 和模板支持提示词模板更换选择
* 数据库更新介绍问题解决
* 关于Langchain自己支持的模型
1. 修复了Openai无法调用的bug
2. 支持了Azure Openai Claude模型
(在模型切换界面由于优先级问题,显示的会是其他联网模型)
3. 422问题被修复,用了另一种替代方案。
4. 更新了部分依赖
|
2023-10-20 18:13:55 +08:00 |
|
liunux4odoo
|
b3c7f8b072
|
修复webui中重建知识库以及对话界面UI错误 (#1615)
* 修复bug:webui点重建知识库时,如果存在不支持的文件会导致整个接口错误;migrate中没有导入CHUNK_SIZE
* 修复:webui对话界面的expander一直为running状态;简化历史消息获取方法
|
2023-09-28 15:12:03 +08:00 |
|
imClumsyPanda
|
f3042a6a29
|
merge master
|
2023-09-22 12:36:45 +08:00 |
|
peterz3g
|
3ff130ecc2
|
修复csv文件解析编码报错的问题。 (#1508)
|
2023-09-21 14:41:49 +08:00 |
|
Jim Zhang
|
cb2b560a5b
|
fix : Duplicate variable and function name (#1509)
Co-authored-by: Jim <zhangpengyi@taijihuabao.com>
|
2023-09-20 16:46:31 +08:00 |
|
Jim Zhang
|
59fb309ba4
|
fix : Duplicate variable and function name (#1509)
Co-authored-by: Jim <zhangpengyi@taijihuabao.com>
|
2023-09-18 11:00:04 +08:00 |
|
glide-the
|
902ba0c321
|
增加传入矢量名称加载
|
2023-09-17 13:56:18 +08:00 |
|
liunux4odoo
|
80375e1ff3
|
fix merge conflict for #1474 (#1494)
|
2023-09-15 18:11:15 +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 |
|
imClumsyPanda
|
20eef45a58
|
update README.md
|
2023-09-15 09:53:58 +08:00 |
|
zR
|
769d75d784
|
修复测试文件 (#1467)
Co-authored-by: zR <zRzRzRzRzRzRzR>
|
2023-09-13 17:12:05 +08:00 |
|
zR
|
bfdbe69fa1
|
增加了自定义分词器适配 (#1462)
* 添加了自定义分词器适配和测试文件
---------
Co-authored-by: zR <zRzRzRzRzRzRzR>
|
2023-09-13 15:42:12 +08:00 |
|
liunux4odoo
|
16d8809c9a
|
api和webui知识库操作支持chunk_size/overlap_size/zh_title_enhance参数 (#1459)
|
2023-09-13 11:19:47 +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 |
|
imClumsyPanda
|
2020f5bb88
|
merge master
|
2023-09-12 15:51:28 +08:00 |
|
imClumsyPanda
|
8064586374
|
delete .doc from supported formats
|
2023-09-12 15:22:18 +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 |
|