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
|