Your Name commited on
Commit
3249b31
1 Parent(s): 9cd15c6

多种接口

Browse files
crazy_functional.py CHANGED
@@ -15,7 +15,6 @@ def get_crazy_functions():
15
  from crazy_functions.解析项目源代码 import 解析一个Rect项目
16
  from crazy_functions.高级功能函数模板 import 高阶功能模板函数
17
  from crazy_functions.代码重写为全英文_多线程 import 全项目切换英文
18
- from crazy_functions.理解PDF文档内容 import 理解PDF文档内容
19
 
20
  function_plugins = {
21
  "请解析并解构此项目本身(源码自译解)": {
@@ -66,11 +65,7 @@ def get_crazy_functions():
66
  # HotReload 的意思是热更新,修改函数插件代码后,不需要重启程序,代码直接生效
67
  "Function": HotReload(高阶功能模板函数)
68
  },
69
- "理解PDF文档内容(直接点击按钮,将会弹出文件选择窗口)": {
70
- # HotReload 的意思是热更新,修改函数插件代码后,不需要重启程序,代码直接生效
71
- "AsButton": False, # 加入下拉菜单中
72
- "Function": HotReload(理解PDF文档内容)
73
- },
74
  }
75
  ###################### 第二组插件 ###########################
76
  # [第二组插件]: 经过充分测试,但功能上距离达到完美状态还差一点点
@@ -79,6 +74,8 @@ def get_crazy_functions():
79
  from crazy_functions.总结word文档 import 总结word文档
80
  from crazy_functions.批量翻译PDF文档_多线程 import 批量翻译PDF文档
81
  from crazy_functions.谷歌检索小助手 import 谷歌检索小助手
 
 
82
 
83
  function_plugins.update({
84
  "批量翻译PDF文档(多线程)": {
@@ -106,6 +103,17 @@ def get_crazy_functions():
106
  "Color": "stop",
107
  "Function": HotReload(总结word文档)
108
  },
 
 
 
 
 
 
 
 
 
 
 
109
  })
110
 
111
  ###################### 第三组插件 ###########################
 
15
  from crazy_functions.解析项目源代码 import 解析一个Rect项目
16
  from crazy_functions.高级功能函数模板 import 高阶功能模板函数
17
  from crazy_functions.代码重写为全英文_多线程 import 全项目切换英文
 
18
 
19
  function_plugins = {
20
  "请解析并解构此项目本身(源码自译解)": {
 
65
  # HotReload 的意思是热更新,修改函数插件代码后,不需要重启程序,代码直接生效
66
  "Function": HotReload(高阶功能模板函数)
67
  },
68
+
 
 
 
 
69
  }
70
  ###################### 第二组插件 ###########################
71
  # [第二组插件]: 经过充分测试,但功能上距离达到完美状态还差一点点
 
74
  from crazy_functions.总结word文档 import 总结word文档
75
  from crazy_functions.批量翻译PDF文档_多线程 import 批量翻译PDF文档
76
  from crazy_functions.谷歌检索小助手 import 谷歌检索小助手
77
+ from crazy_functions.理解PDF文档内容 import 理解PDF文档内容
78
+ from crazy_functions.理解PDF文档内容 import 理解PDF文档内容标准文件输入
79
 
80
  function_plugins.update({
81
  "批量翻译PDF文档(多线程)": {
 
103
  "Color": "stop",
104
  "Function": HotReload(总结word文档)
105
  },
106
+ "理解PDF文档内容(Tk文件选择接口,仅本地)": {
107
+ # HotReload 的意思是热更新,修改函数插件代码后,不需要重启程序,代码直接生效
108
+ "AsButton": False, # 加入下拉菜单中
109
+ "Function": HotReload(理解PDF文档内容)
110
+ },
111
+ "理解PDF文档内容(通用接口,读取文件输入区)": {
112
+ # HotReload 的意思是热更新,修改函数插件代码后,不需要重启程序,代码直接生效
113
+ "Color": "stop",
114
+ "AsButton": False, # 加入下拉菜单中
115
+ "Function": HotReload(理解PDF文档内容标准文件输入)
116
+ },
117
  })
118
 
119
  ###################### 第三组插件 ###########################
crazy_functions/理解PDF文档内容.py CHANGED
@@ -135,3 +135,51 @@ def 理解PDF文档内容(txt, top_p, temperature, chatbot, history, systemPromp
135
 
136
  # 开始正式执行任务
137
  yield from 解析PDF(txt, top_p, temperature, chatbot, history, systemPromptTxt)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
135
 
136
  # 开始正式执行任务
137
  yield from 解析PDF(txt, top_p, temperature, chatbot, history, systemPromptTxt)
138
+
139
+
140
+
141
+ @CatchException
142
+ def 理解PDF文档内容标准文件输入(txt, top_p, temperature, chatbot, history, systemPromptTxt, WEB_PORT):
143
+ import glob, os
144
+
145
+ # 基本信息:功能、贡献者
146
+ chatbot.append([
147
+ "函数插件功能?",
148
+ "理解PDF论文内容,并且将结合上下文内容,进行学术解答。函数插件贡献者: Hanzoe。"])
149
+ yield chatbot, history, '正常'
150
+
151
+ # 尝试导入依赖,如果缺少依赖,则给出安装建议
152
+ try:
153
+ import fitz
154
+ except:
155
+ report_execption(chatbot, history,
156
+ a = f"解析项目: {txt}",
157
+ b = f"导入软件依赖失败。使用该模块需要额外依赖,安装方法```pip install --upgrade pymupdf```。")
158
+ yield chatbot, history, '正常'
159
+ return
160
+
161
+ # 清空历史,以免输入溢出
162
+ history = []
163
+
164
+ # 检测输入参数,如没有给定输入参数,直接退出
165
+ if os.path.exists(txt):
166
+ project_folder = txt
167
+ else:
168
+ if txt == "":
169
+ txt = '空空如也的输入栏'
170
+ report_execption(chatbot, history,
171
+ a=f"解析项目: {txt}", b=f"找不到本地项目或无权访问: {txt}")
172
+ yield chatbot, history, '正常'
173
+ return
174
+
175
+ # 搜索需要处理的文件清单
176
+ file_manifest = [f for f in glob.glob(f'{project_folder}/**/*.pdf', recursive=True)]
177
+ # 如果没找到任何文件
178
+ if len(file_manifest) == 0:
179
+ report_execption(chatbot, history,
180
+ a=f"解析项目: {txt}", b=f"找不到任何.tex或.pdf文件: {txt}")
181
+ yield chatbot, history, '正常'
182
+ return
183
+ txt = file_manifest[0]
184
+ # 开始正式执行任务
185
+ yield from 解析PDF(txt, top_p, temperature, chatbot, history, systemPromptTxt)