diff --git a/README.md b/README.md
index 9a1e72d..3f10238 100644
--- a/README.md
+++ b/README.md
@@ -175,21 +175,26 @@ docker-compose up
## 安装-方法3:其他部署姿势
+1. 一键运行脚本。
+完全不熟悉python环境的Windows用户可以下载[Release](https://github.com/binary-husky/gpt_academic/releases)中发布的一键运行脚本安装无本地模型的版本,
+不建议电脑上已有python的用户采用此方法(在此基础上安装插件的依赖很麻烦)。
+脚本的贡献来源是[oobabooga](https://github.com/oobabooga/one-click-installers)。
-1. 如何使用反代URL/微软云AzureAPI
+2. 使用docker-compose运行。
+请阅读docker-compose.yml后,按照其中的提示操作即可
+
+3. 如何使用反代URL/微软云AzureAPI。
按照`config.py`中的说明配置API_URL_REDIRECT即可。
-2. 远程云服务器部署(需要云服务器知识与经验)
+4. 远程云服务器部署(需要云服务器知识与经验)。
请访问[部署wiki-1](https://github.com/binary-husky/chatgpt_academic/wiki/%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%9C%E7%A8%8B%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97)
-3. 使用WSL2(Windows Subsystem for Linux 子系统)
+5. 使用WSL2(Windows Subsystem for Linux 子系统)。
请访问[部署wiki-2](https://github.com/binary-husky/chatgpt_academic/wiki/%E4%BD%BF%E7%94%A8WSL2%EF%BC%88Windows-Subsystem-for-Linux-%E5%AD%90%E7%B3%BB%E7%BB%9F%EF%BC%89%E9%83%A8%E7%BD%B2)
-4. 如何在二级网址(如`http://localhost/subpath`)下运行
+6. 如何在二级网址(如`http://localhost/subpath`)下运行。
请访问[FastAPI运行说明](docs/WithFastapi.md)
-5. 使用docker-compose运行
-请阅读docker-compose.yml后,按照其中的提示操作即可
---
# Advanced Usage
## 自定义新的便捷按钮 / 自定义函数插件
diff --git a/crazy_functional.py b/crazy_functional.py
index 3b295ac..9ce8ee1 100644
--- a/crazy_functional.py
+++ b/crazy_functional.py
@@ -301,9 +301,21 @@ def get_crazy_functions():
"构建知识库(请先上传文件素材)": {
"Color": "stop",
"AsButton": False,
+ "AdvancedArgs": True,
+ "ArgsReminder": "待注入的知识库名称id, 默认为default",
"Function": HotReload(知识库问答)
}
})
+ from crazy_functions.Langchain知识库 import 读取知识库作答
+ function_plugins.update({
+ "知识库问答": {
+ "Color": "stop",
+ "AsButton": False,
+ "AdvancedArgs": True,
+ "ArgsReminder": "待提取的知识库名称id, 默认为default, 您需要首先调用构建知识库",
+ "Function": HotReload(读取知识库作答)
+ }
+ })
except:
print('Load function plugin failed')
diff --git a/crazy_functions/Langchain知识库.py b/crazy_functions/Langchain知识库.py
index 0bdb7f5..4fee382 100644
--- a/crazy_functions/Langchain知识库.py
+++ b/crazy_functions/Langchain知识库.py
@@ -29,9 +29,14 @@ def 知识库问答(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_pro
)
yield from update_ui(chatbot=chatbot, history=history) # 刷新界面
return
+
+ # < --------------------读取参数--------------- >
+ if ("advanced_arg" in plugin_kwargs) and (plugin_kwargs["advanced_arg"] == ""): plugin_kwargs.pop("advanced_arg")
+ kai_id = plugin_kwargs.get("advanced_arg", 'default')
+
# < --------------------读取文件--------------- >
file_manifest = []
- spl = ["doc", "docx", "email", "epub", "html", "image", "json", "md", "msg", "odt", "pdf", "ppt", "pptx", "rtf", "text"]
+ spl = ["txt", "doc", "docx", "email", "epub", "html", "image", "json", "md", "msg", "odt", "pdf", "ppt", "pptx", "rtf", "text"]
for sp in spl:
_, file_manifest_tmp, _ = get_files_from_everything(txt, type=f'.{sp}')
file_manifest += file_manifest_tmp
@@ -55,13 +60,15 @@ def 知识库问答(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_pro
print('Establishing knowledge archive ...')
with ProxyNetworkActivate(): # 临时地激活代理网络
kai = knowledge_archive_interface()
- kai.feed_archive(file_manifest=file_manifest, id="default")
-
- chatbot.append(['知识库构建成功', "正在将知识库存储至cookie中"])
- yield from update_ui(chatbot=chatbot, history=history) # 刷新界面
- chatbot._cookies['langchain_plugin_embedding'] = kai.get_current_archive_id()
- chatbot._cookies['lock_plugin'] = 'crazy_functions.Langchain知识库->读取知识库作答'
- chatbot.append(['完成', "“根据知识库作答”函数插件已经接管问答系统, 提问吧! 但注意, 您接下来不能再使用其他插件了,刷新页面即可以退出知识库问答模式。"])
+ kai.feed_archive(file_manifest=file_manifest, id=kai_id)
+ kai_files = kai.get_loaded_file()
+ kai_files = '
'.join(kai_files)
+ # chatbot.append(['知识库构建成功', "正在将知识库存储至cookie中"])
+ # yield from update_ui(chatbot=chatbot, history=history) # 刷新界面
+ # chatbot._cookies['langchain_plugin_embedding'] = kai.get_current_archive_id()
+ # chatbot._cookies['lock_plugin'] = 'crazy_functions.Langchain知识库->读取知识库作答'
+ # chatbot.append(['完成', "“根据知识库作答”函数插件已经接管问答系统, 提问吧! 但注意, 您接下来不能再使用其他插件了,刷新页面即可以退出知识库问答模式。"])
+ chatbot.append(['构建完成', f"当前知识库内的文件:\n\n---\n\n{kai_files}\n\n---\n\n请切换至“知识库问答”插件进行知识库访问, 或者使用此插件继续上传更多文件。"])
yield from update_ui(chatbot=chatbot, history=history) # 刷新界面 # 由于请求gpt需要一段时间,我们先及时地做一次界面更新
@CatchException
diff --git a/crazy_functions/crazy_utils.py b/crazy_functions/crazy_utils.py
index 3416d91..a447d22 100644
--- a/crazy_functions/crazy_utils.py
+++ b/crazy_functions/crazy_utils.py
@@ -661,6 +661,9 @@ class knowledge_archive_interface():
def get_current_archive_id(self):
return self.current_id
+
+ def get_loaded_file(self):
+ return self.qa_handle.get_loaded_file()
def answer_with_archive_by_id(self, txt, id):
self.threadLock.acquire()
diff --git a/docs/README.md.Italian.md b/docs/README.md.Italian.md
index 04c5ed6..301ce69 100644
--- a/docs/README.md.Italian.md
+++ b/docs/README.md.Italian.md
@@ -2,11 +2,11 @@
>
> Durante l'installazione delle dipendenze, selezionare rigorosamente le **versioni specificate** nel file requirements.txt.
>
-> ` pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/`
+> ` pip install -r requirements.txt`
-# GPT Ottimizzazione Accademica (GPT Academic)
+#
GPT Ottimizzazione Accademica (GPT Academic)
-**Se ti piace questo progetto, ti preghiamo di dargli una stella. Se hai sviluppato scorciatoie accademiche o plugin funzionali più utili, non esitare ad aprire una issue o pull request. Abbiamo anche una README in [Inglese|](docs/README_EN.md)[Giapponese|](docs/README_JP.md)[Coreano|](https://github.com/mldljyh/ko_gpt_academic)[Russo|](docs/README_RS.md)[Francese](docs/README_FR.md) tradotta da questo stesso progetto.
+**Se ti piace questo progetto, ti preghiamo di dargli una stella. Se hai sviluppato scorciatoie accademiche o plugin funzionali più utili, non esitare ad aprire una issue o pull request. Abbiamo anche una README in [Inglese|](README_EN.md)[Giapponese|](README_JP.md)[Coreano|](https://github.com/mldljyh/ko_gpt_academic)[Russo|](README_RS.md)[Francese](README_FR.md) tradotta da questo stesso progetto.
Per tradurre questo progetto in qualsiasi lingua con GPT, leggere e eseguire [`multi_language.py`](multi_language.py) (sperimentale).
> **Nota**
@@ -17,7 +17,9 @@ Per tradurre questo progetto in qualsiasi lingua con GPT, leggere e eseguire [`m
>
> 3. Questo progetto è compatibile e incoraggia l'utilizzo di grandi modelli di linguaggio di produzione nazionale come chatglm, RWKV, Pangu ecc. Supporta la coesistenza di più api-key e può essere compilato nel file di configurazione come `API_KEY="openai-key1,openai-key2,api2d-key3"`. Per sostituire temporaneamente `API_KEY`, inserire `API_KEY` temporaneo nell'area di input e premere Invio per renderlo effettivo.
-