Kevin Hu
commited on
Commit
·
19268e7
1
Parent(s):
a5476f5
Add component 'Template' (#3562)
Browse files### What problem does this PR solve?
#3560
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
- agent/component/__init__.py +1 -0
- agent/component/generate.py +1 -1
- agent/component/template.py +1 -1
- api/apps/kb_app.py +1 -3
- api/apps/user_app.py +2 -2
- rag/utils/es_conn.py +3 -1
agent/component/__init__.py
CHANGED
@@ -30,6 +30,7 @@ from .tushare import TuShare, TuShareParam
|
|
30 |
from .akshare import AkShare, AkShareParam
|
31 |
from .crawler import Crawler, CrawlerParam
|
32 |
from .invoke import Invoke, InvokeParam
|
|
|
33 |
|
34 |
|
35 |
def component_class(class_name):
|
|
|
30 |
from .akshare import AkShare, AkShareParam
|
31 |
from .crawler import Crawler, CrawlerParam
|
32 |
from .invoke import Invoke, InvokeParam
|
33 |
+
from .template import Template, TemplateParam
|
34 |
|
35 |
|
36 |
def component_class(class_name):
|
agent/component/generate.py
CHANGED
@@ -145,7 +145,7 @@ class Generate(ComponentBase):
|
|
145 |
else: retrieval_res = pd.DataFrame([])
|
146 |
|
147 |
for n, v in kwargs.items():
|
148 |
-
prompt = re.sub(r"\{%s\}" % re.escape(n),
|
149 |
|
150 |
if not self._param.inputs and prompt.find("{input}") >= 0:
|
151 |
retrieval_res = self.get_input()
|
|
|
145 |
else: retrieval_res = pd.DataFrame([])
|
146 |
|
147 |
for n, v in kwargs.items():
|
148 |
+
prompt = re.sub(r"\{%s\}" % re.escape(n), str(v), prompt)
|
149 |
|
150 |
if not self._param.inputs and prompt.find("{input}") >= 0:
|
151 |
retrieval_res = self.get_input()
|
agent/component/template.py
CHANGED
@@ -79,7 +79,7 @@ class Template(ComponentBase):
|
|
79 |
self._param.inputs.append({"component_id": para["component_id"], "content": kwargs[para["key"]]})
|
80 |
|
81 |
for n, v in kwargs.items():
|
82 |
-
content = re.sub(r"\{%s\}" % re.escape(n),
|
83 |
|
84 |
return Template.be_output(content)
|
85 |
|
|
|
79 |
self._param.inputs.append({"component_id": para["component_id"], "content": kwargs[para["key"]]})
|
80 |
|
81 |
for n, v in kwargs.items():
|
82 |
+
content = re.sub(r"\{%s\}" % re.escape(n), str(v), content)
|
83 |
|
84 |
return Template.be_output(content)
|
85 |
|
api/apps/kb_app.py
CHANGED
@@ -167,9 +167,7 @@ def rm():
|
|
167 |
if not KnowledgebaseService.delete_by_id(req["kb_id"]):
|
168 |
return get_data_error_result(
|
169 |
message="Database error (Knowledgebase removal)!")
|
170 |
-
|
171 |
-
for tenant in tenants:
|
172 |
-
settings.docStoreConn.deleteIdx(search.index_name(tenant.tenant_id), req["kb_id"])
|
173 |
return get_json_result(data=True)
|
174 |
except Exception as e:
|
175 |
return server_error_response(e)
|
|
|
167 |
if not KnowledgebaseService.delete_by_id(req["kb_id"]):
|
168 |
return get_data_error_result(
|
169 |
message="Database error (Knowledgebase removal)!")
|
170 |
+
settings.docStoreConn.delete({"kb_id": req["kb_id"]}, search.index_name(kbs[0].tenant_id), req["kb_id"])
|
|
|
|
|
171 |
return get_json_result(data=True)
|
172 |
except Exception as e:
|
173 |
return server_error_response(e)
|
api/apps/user_app.py
CHANGED
@@ -517,8 +517,8 @@ def user_register(user_id, user):
|
|
517 |
"llm_name": llm.llm_name,
|
518 |
"model_type": llm.model_type,
|
519 |
"api_key": settings.API_KEY,
|
520 |
-
"api_base": settings.LLM_BASE_URL
|
521 |
-
"max_tokens": llm.max_tokens
|
522 |
}
|
523 |
)
|
524 |
|
|
|
517 |
"llm_name": llm.llm_name,
|
518 |
"model_type": llm.model_type,
|
519 |
"api_key": settings.API_KEY,
|
520 |
+
"api_base": settings.LLM_BASE_URL
|
521 |
+
#"max_tokens": llm.max_tokens if llm.max_tokens else 8192
|
522 |
}
|
523 |
)
|
524 |
|
rag/utils/es_conn.py
CHANGED
@@ -238,7 +238,7 @@ class ESConnection(DocStoreConnection):
|
|
238 |
for _ in range(ATTEMPT_TIME):
|
239 |
try:
|
240 |
r = self.es.bulk(index=(indexName), operations=operations,
|
241 |
-
refresh=False, timeout="
|
242 |
if re.search(r"False", str(r["errors"]), re.IGNORECASE):
|
243 |
return res
|
244 |
|
@@ -249,7 +249,9 @@ class ESConnection(DocStoreConnection):
|
|
249 |
return res
|
250 |
except Exception as e:
|
251 |
logging.warning("ESConnection.insert got exception: " + str(e))
|
|
|
252 |
if re.search(r"(Timeout|time out)", str(e), re.IGNORECASE):
|
|
|
253 |
time.sleep(3)
|
254 |
continue
|
255 |
return res
|
|
|
238 |
for _ in range(ATTEMPT_TIME):
|
239 |
try:
|
240 |
r = self.es.bulk(index=(indexName), operations=operations,
|
241 |
+
refresh=False, timeout="60s")
|
242 |
if re.search(r"False", str(r["errors"]), re.IGNORECASE):
|
243 |
return res
|
244 |
|
|
|
249 |
return res
|
250 |
except Exception as e:
|
251 |
logging.warning("ESConnection.insert got exception: " + str(e))
|
252 |
+
res = []
|
253 |
if re.search(r"(Timeout|time out)", str(e), re.IGNORECASE):
|
254 |
+
res.append(str(e))
|
255 |
time.sleep(3)
|
256 |
continue
|
257 |
return res
|