wvivi2023
|
c5d1ff6621
|
enhance
|
2024-01-15 09:54:00 +08:00 |
liunux4odoo
|
7d4a6b5edf
|
fix: ApiRequest.agent_chat 应当返回 dict 而非 str (#2520)
|
2024-01-02 09:54:23 +08:00 |
liunux4odoo
|
c179230ce0
|
remove /chat/fastchat API endpoint (#2506)
|
2023-12-29 09:44:37 +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
|
472a97a616
|
所有 chat 接口都改为 EventSourceResponse;ApiRequest 作对应修改
|
2023-12-13 16:53:24 +08:00 |
liunux4odoo
|
4fa28c71b1
|
修复:chat 接口默认使用 memory获取10条历史消息,导致最终拼接的prompt出错 (#2247)
修改后默认使用用户传入的history,只有同时传入conversation_id和history_len时才从数据库读取历史消息
使用memory还有一个问题,对话角色是固定的,不能适配不同的模型。
其它:注释一些无用的 print
|
2023-12-01 11:35:43 +08:00 |
zR
|
8b70b1db7e
|
一些细节更新 (#2235)
* 更新Langchain依赖到0.0.342以上版本
* 更改了一些提示词和依赖,修改了openai异常的问题
* 注释data的打印日志
* 增加Qwen新模型的支持
|
2023-11-30 17:25:48 +08:00 |
zR
|
40918c21de
|
bug修复和提示词修改 (#2230)
* 更新Langchain依赖到0.0.343以上版本
* 更改了一些提示词和依赖,修改了openai异常的问题
* 注释data的打印日志
|
2023-11-30 12:09:53 +08:00 |
qiankunli
|
1c97673d41
|
feat: add db memory (#2046)
* feat: add db memory
* WEBUI 添加多会话功能
---------
Co-authored-by: liqiankun.1111 <liqiankun.1111@bytedance.com>
Co-authored-by: liunux4odoo <liunux@qq.com>
|
2023-11-22 18:38:26 +08:00 |
glide-the
|
17c9632942
|
统一在线模型异常报文、增加详细日志
|
2023-11-21 21:47:02 +08:00 |
liunux4odoo
|
3b3d948d27
|
添加文件对话模式 (#2071)
开发者:
- 添加 /chat/file_chat, /knowledge_base/upload_temp_docs API 接口
- 添加 CACHED_MEMO_VS_NUM, BASE_TEMP_DIR 配置项
|
2023-11-16 07:39:27 +08:00 |
liunux4odoo
|
2adfa4277c
|
在webui模型列表中包括:非model worker启动的在线模型(如openai-api);已经下载的本地模型 (#2060)
|
2023-11-14 21:17:32 +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 |
qiankunli
|
fa906b33a8
|
添加对话评分与历史消息保存功能 (#1940)
* 新功能:
- WEBUI 添加对话评分功能
- 增加 /chat/feedback 接口,用于接收对话评分
- /chat/chat 接口返回值由 str 改为 {"text":str, "chat_history_id": str}
- init_database.py 添加 --create-tables --clear-tables 参数
依赖:
- streamlit-chatbox==1.1.11
开发者:
- ChatHistoryModel 的 id 字段支持自动生成
- SAVE_CHAT_HISTORY 改到 basic_config.py
* 修复:点击反馈后页面未刷新
---------
Co-authored-by: liqiankun.1111 <liqiankun.1111@bytedance.com>
Co-authored-by: liunux4odoo <liunux@qq.com>
Co-authored-by: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com>
|
2023-11-03 11:31:45 +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 |
liunux4odoo
|
b68f7fcdea
|
修改qianfan-api使用原始post访问,qianfan sdk无法访问
|
2023-10-27 13:42:16 +08:00 |
liunux4odoo
|
03e55e11c4
|
支持lite模式:无需安装torch等重依赖,通过在线API实现LLM对话和搜索引擎对话 (#1860)
* move get_default_llm_model from webui to ApiRequest
增加API接口及其测试用例:
- /server/get_prompt_template: 获取服务器配置的 prompt 模板
- 增加知识库多线程访问测试用例
支持lite模式:无需安装torch等重依赖,通过在线API实现LLM对话和搜索引擎对话
* fix bug in server.api
---------
Co-authored-by: imClumsyPanda <littlepanda0716@gmail.com>
|
2023-10-25 08:30:23 +08:00 |
liunux4odoo
|
d053950aee
|
新功能: (#1801)
- 更新langchain/fastchat依赖,添加xformers依赖
- 默认max_tokens=None, 生成tokens自动为模型支持的最大值
修复:
- history_len=0 时会带入1条不完整的历史消息,导致LLM错误
- 当对话轮数 达到history_len时,传入的历史消息为空
|
2023-10-19 22:09:15 +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
|
9ce328fea9
|
实现Api和WEBUI的前后端分离 (#1772)
* update ApiRequest: 删除no_remote_api本地调用模式;支持同步/异步调用
* 实现API和WEBUI的分离:
- API运行服务器上的配置通过/llm_model/get_model_config、/server/configs接口提供,WEBUI运行机器上的配置项仅作为代码内部默认值使用
- 服务器可用的搜索引擎通过/server/list_search_engines提供
- WEBUI可选LLM列表中只列出在FSCHAT_MODEL_WORKERS中配置的模型
- 修改WEBUI中默认LLM_MODEL获取方式,改为从api端读取
- 删除knowledge_base_chat中`local_doc_url`参数
其它修改:
- 删除多余的kb_config.py.exmaple(名称错误)
- server_config中默认关闭vllm
- server_config中默认注释除智谱AI之外的在线模型
- 修改requests从系统获取的代理,避免model worker注册错误
* 修正:
- api.list_config_models返回模型原始配置
- api.list_config_models和api.get_model_config中过滤online api模型的敏感信息
- 将GPT等直接访问的模型列入WEBUI可选模型列表
其它:
- 指定langchain==0.3.313, fschat==0.2.30, langchain-experimental==0.0.30
|
2023-10-17 16:52:07 +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 |
zR
|
2c8fc95f7a
|
Agent大更新合并 (#1666)
* 更新上agent提示词代码
* 更新部分文档,修复了issue中提到的bge匹配超过1 的bug
* 按需修改
* 解决了部分最新用户用依赖的bug,加了两个工具,移除google工具
* Agent大幅度优化
1. 修改了UI界面
(1)高亮所有没有进行agent对齐的模型,
(2)优化输出体验和逻辑,使用markdown
2. 降低天气工具使用门槛
3. 依赖更新
(1) vllm 更新到0.2.0,增加了一些参数
(2) torch 建议更新到2.1
(3)pydantic不要更新到1.10.12
|
2023-10-07 11:26:11 +08:00 |
liunux4odoo
|
e4a927c5d1
|
将所有httpx请求改为使用Client,提高效率,方便以后设置代理等。 (#1554)
将所有httpx请求改为使用Client,提高效率,方便以后设置代理等。
将本项目相关服务加入无代理列表,避免fastchat的服务器请求错误。(windows下无效)
|
2023-09-21 15:19:51 +08:00 |
liunux4odoo
|
ec85cd1954
|
move wrap_done & get_ChatOpenAI from server.chat.utils to server.utils (#1506)
|
2023-09-17 16:19:50 +08:00 |
liunux4odoo
|
bb7ce601fc
|
1. 搜索引擎问答支持历史记录;
2. 修复知识库问答历史记录传参错误:用户输入被传入history,问题出在webui中重复获取历史消息,api知识库对话接口并无问题。
|
2023-09-17 13:58:57 +08:00 |
liunux4odoo
|
a65bc4a63c
|
添加configs/prompt_config.py,允许用户自定义prompt模板: (#1504)
1、 默认包含2个模板,分别用于LLM对话,知识库和搜索引擎对话
2、 server/utils.py提供函数get_prompt_template,获取指定的prompt模板内容(支持热加载)
3、 api.py中chat/knowledge_base_chat/search_engine_chat接口支持prompt_name参数
|
2023-09-17 13:27:11 +08:00 |
zR
|
598eb298df
|
第一版初步agent实现 (#1503)
* 第一版初步agent实现
* 增加steaming参数
* 修改了weather.py
---------
Co-authored-by: zR <zRzRzRzRzRzRzR>
|
2023-09-17 11:19:16 +08:00 |
liunux4odoo
|
3dde02be28
|
优化LLM模型列表获取、切换的逻辑: (#1497)
1、更准确的获取未运行的可用模型
2、优化WEBUI模型列表显示与切换的控制逻辑
|
2023-09-16 07:15:08 +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 |
liunux4odoo
|
16d8809c9a
|
api和webui知识库操作支持chunk_size/overlap_size/zh_title_enhance参数 (#1459)
|
2023-09-13 11:19:47 +08:00 |
liunux4odoo
|
8b040620de
|
对话接口支持temperature参数 (#1455)
|
2023-09-13 10:00:54 +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
|
775870a516
|
改变api视图函数的sync/async,提高api并发能力: (#1414)
1. 4个chat类接口改为async
2. 知识库操作,涉及向量库修改的使用async,避免FAISS写入错误;涉及向量库读取的改为sync,提高并发
|
2023-09-08 12:25:02 +08:00 |
liunux4odoo
|
4cfee9c17c
|
根据新的接口修改ApiRequest和webui,以及测试用例。修改后预期webui中批量知识文件相关操作减少时间
|
2023-09-08 10:22:04 +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 |
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
|
34a416b941
|
优化server_config配置项 (#1293)
* update server_config.py:
- 在model_config中增加HISTORY_LEN配置参数
- 将server_config中helper function移动到server.utils中
- 统一set_httpx_timeout的定义和调用
* update webui.py:
应用model_config中的配置项:HISTORY_LEN,VECTOR_SEARCH_TOP_K,SEARCH_ENGINE_TOP_K
---------
Co-authored-by: liunux4odoo <liunu@qq.com>
|
2023-08-29 10:06:09 +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 |
liunux4odoo
|
96f69edf7b
|
修复重建知识库界面无反应的问题,添加一些log信息 (#1258)
* close #1172: 给webui_page/utils添加一些log信息,方便定位错误
* 修复:重建知识库时页面未实时显示进度
---------
Co-authored-by: liunux4odoo <liunu@qq.com>
|
2023-08-26 18:26:38 +08:00 |
liunux4odoo
|
f40bb69224
|
优化FAISS向量库多文件操作;修复recreate_vector_store,大量文件时不再超时。
|
2023-08-20 19:10:29 +08:00 |
liunux4odoo
|
69627a2fa3
|
update chat and knowledge base api: unify exception processing and return types
|
2023-08-19 15:14:45 +08:00 |
liunux4odoo
|
d4cf77170a
|
fix webui: correct error messages
|
2023-08-18 11:47:49 +08:00 |
liunux4odoo
|
67b8ebef52
|
update api and webui:
1. 增加search_docs接口,返回原始知识库检索文档,close #1103
2. 为FAISS检索增加score_threshold参数。milvus和PG暂不支持
|
2023-08-16 13:18:58 +08:00 |
liunux4odoo
|
f9d5038e59
|
fix webui utils: remove unneeded error check
|
2023-08-16 09:33:55 +08:00 |
liunux4odoo
|
7c0e9c46db
|
fix api & webui: 1.add logs, 2. check json response, 3. set timeout=False in recreate_vector_stoore
|
2023-08-15 14:24:54 +08:00 |
liunux4odoo
|
cc08e2cb96
|
update api and webui:
1. add download_doc to api
2. return local path or http url in kowledge_base_chat depends on
no_remote_api
3. change assistant avater in webui
|
2023-08-14 11:46:36 +08:00 |
imClumsyPanda
|
353d9fc72b
|
update init_database.py
|
2023-08-13 10:25:02 +08:00 |
liunux4odoo
|
2bb9a7949f
|
fix: delete knowledge base error
|
2023-08-11 23:35:27 +08:00 |
liunux4odoo
|
2a57f49d80
|
update knowledge base management ui.
remove numpy/pandas from requirements, move them to webui requirements
|
2023-08-11 13:53:20 +08:00 |