Sfoglia il codice sorgente

Add component 'Template' (#3562)

### What problem does this PR solve?

#3560

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
tags/v0.14.0
Kevin Hu 11 mesi fa
parent
commit
ee50f78d99
Nessun account collegato all'indirizzo email del committer

+ 1
- 0
agent/component/__init__.py Vedi File

from .akshare import AkShare, AkShareParam from .akshare import AkShare, AkShareParam
from .crawler import Crawler, CrawlerParam from .crawler import Crawler, CrawlerParam
from .invoke import Invoke, InvokeParam from .invoke import Invoke, InvokeParam
from .template import Template, TemplateParam




def component_class(class_name): def component_class(class_name):

+ 1
- 1
agent/component/generate.py Vedi File

else: retrieval_res = pd.DataFrame([]) else: retrieval_res = pd.DataFrame([])


for n, v in kwargs.items(): for n, v in kwargs.items():
prompt = re.sub(r"\{%s\}" % re.escape(n), re.escape(str(v)), prompt)
prompt = re.sub(r"\{%s\}" % re.escape(n), str(v), prompt)


if not self._param.inputs and prompt.find("{input}") >= 0: if not self._param.inputs and prompt.find("{input}") >= 0:
retrieval_res = self.get_input() retrieval_res = self.get_input()

+ 1
- 1
agent/component/template.py Vedi File

self._param.inputs.append({"component_id": para["component_id"], "content": kwargs[para["key"]]}) self._param.inputs.append({"component_id": para["component_id"], "content": kwargs[para["key"]]})


for n, v in kwargs.items(): for n, v in kwargs.items():
content = re.sub(r"\{%s\}" % re.escape(n), re.escape(str(v)), content)
content = re.sub(r"\{%s\}" % re.escape(n), str(v), content)


return Template.be_output(content) return Template.be_output(content)



+ 1
- 3
api/apps/kb_app.py Vedi File

if not KnowledgebaseService.delete_by_id(req["kb_id"]): if not KnowledgebaseService.delete_by_id(req["kb_id"]):
return get_data_error_result( return get_data_error_result(
message="Database error (Knowledgebase removal)!") message="Database error (Knowledgebase removal)!")
tenants = UserTenantService.query(user_id=current_user.id)
for tenant in tenants:
settings.docStoreConn.deleteIdx(search.index_name(tenant.tenant_id), req["kb_id"])
settings.docStoreConn.delete({"kb_id": req["kb_id"]}, search.index_name(kbs[0].tenant_id), req["kb_id"])
return get_json_result(data=True) return get_json_result(data=True)
except Exception as e: except Exception as e:
return server_error_response(e) return server_error_response(e)

+ 2
- 2
api/apps/user_app.py Vedi File

"llm_name": llm.llm_name, "llm_name": llm.llm_name,
"model_type": llm.model_type, "model_type": llm.model_type,
"api_key": settings.API_KEY, "api_key": settings.API_KEY,
"api_base": settings.LLM_BASE_URL,
"max_tokens": llm.max_tokens
"api_base": settings.LLM_BASE_URL
#"max_tokens": llm.max_tokens if llm.max_tokens else 8192
} }
) )



+ 3
- 1
rag/utils/es_conn.py Vedi File

for _ in range(ATTEMPT_TIME): for _ in range(ATTEMPT_TIME):
try: try:
r = self.es.bulk(index=(indexName), operations=operations, r = self.es.bulk(index=(indexName), operations=operations,
refresh=False, timeout="600s")
refresh=False, timeout="60s")
if re.search(r"False", str(r["errors"]), re.IGNORECASE): if re.search(r"False", str(r["errors"]), re.IGNORECASE):
return res return res


return res return res
except Exception as e: except Exception as e:
logging.warning("ESConnection.insert got exception: " + str(e)) logging.warning("ESConnection.insert got exception: " + str(e))
res = []
if re.search(r"(Timeout|time out)", str(e), re.IGNORECASE): if re.search(r"(Timeout|time out)", str(e), re.IGNORECASE):
res.append(str(e))
time.sleep(3) time.sleep(3)
continue continue
return res return res

Loading…
Annulla
Salva