mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-08-01 08:11:45 +00:00
feat(editor): ChatExcel
ChatExcel devlop part 5
This commit is contained in:
parent
b34338aa0c
commit
f71f770e68
@ -34,7 +34,6 @@ def response_line_chart(speak: str, df: DataFrame) -> str:
|
||||
plt.title("")
|
||||
|
||||
buf = io.BytesIO()
|
||||
ax.set_facecolor("lightgray")
|
||||
plt.savefig(buf, format="png", dpi=100)
|
||||
buf.seek(0)
|
||||
data = base64.b64encode(buf.getvalue()).decode("ascii")
|
||||
@ -63,7 +62,6 @@ def response_bar_chart(speak: str, df: DataFrame) -> str:
|
||||
plt.title("")
|
||||
|
||||
buf = io.BytesIO()
|
||||
ax.set_facecolor("lightgray")
|
||||
plt.savefig(buf, format="png", dpi=100)
|
||||
buf.seek(0)
|
||||
data = base64.b64encode(buf.getvalue()).decode("ascii")
|
||||
@ -95,7 +93,6 @@ def response_pie_chart(speak: str, df: DataFrame) -> str:
|
||||
# plt.title(columns[0])
|
||||
|
||||
buf = io.BytesIO()
|
||||
ax.set_facecolor("lightgray")
|
||||
plt.savefig(buf, format="png", dpi=100)
|
||||
buf.seek(0)
|
||||
data = base64.b64encode(buf.getvalue()).decode("ascii")
|
||||
|
@ -84,7 +84,9 @@ async def get_editor_sql(con_uid: str, round: int):
|
||||
if int(once["chat_order"]) == round:
|
||||
for element in once["messages"]:
|
||||
if element["type"] == "ai":
|
||||
return Result.succ(json.loads(element["data"]["content"]))
|
||||
logger.info(f'history ai json resp:{element["data"]["content"]}')
|
||||
context = element["data"]["content"].replace("\\n", " ").replace("\n", " ")
|
||||
return Result.succ(json.loads(context))
|
||||
return Result.faild(msg="not have sql!")
|
||||
|
||||
|
||||
|
@ -119,10 +119,16 @@ class BaseOutputParser(ABC):
|
||||
ai_response = ai_response.replace("assistant:", "")
|
||||
ai_response = ai_response.replace("Assistant:", "")
|
||||
ai_response = ai_response.replace("ASSISTANT:", "")
|
||||
ai_response = ai_response.replace("\n", " ")
|
||||
ai_response = ai_response.replace("\_", "_")
|
||||
ai_response = ai_response.replace("\*", "*")
|
||||
ai_response = ai_response.replace("\t", "")
|
||||
|
||||
ai_response = (
|
||||
ai_response.strip()
|
||||
.replace("\\n", " ")
|
||||
.replace("\n", " ")
|
||||
.replace("\\", " ")
|
||||
)
|
||||
print("un_stream ai response:", ai_response)
|
||||
return ai_response
|
||||
else:
|
||||
@ -154,7 +160,7 @@ class BaseOutputParser(ABC):
|
||||
if i < 0:
|
||||
return None
|
||||
count = 1
|
||||
for j, c in enumerate(s[i + 1 :], start=i + 1):
|
||||
for j, c in enumerate(s[i + 1:], start=i + 1):
|
||||
if c == "]":
|
||||
count -= 1
|
||||
elif c == "[":
|
||||
@ -162,13 +168,13 @@ class BaseOutputParser(ABC):
|
||||
if count == 0:
|
||||
break
|
||||
assert count == 0
|
||||
return s[i : j + 1]
|
||||
return s[i: j + 1]
|
||||
else:
|
||||
i = s.find("{")
|
||||
if i < 0:
|
||||
return None
|
||||
count = 1
|
||||
for j, c in enumerate(s[i + 1 :], start=i + 1):
|
||||
for j, c in enumerate(s[i + 1:], start=i + 1):
|
||||
if c == "}":
|
||||
count -= 1
|
||||
elif c == "{":
|
||||
@ -176,7 +182,7 @@ class BaseOutputParser(ABC):
|
||||
if count == 0:
|
||||
break
|
||||
assert count == 0
|
||||
return s[i : j + 1]
|
||||
return s[i: j + 1]
|
||||
|
||||
def parse_prompt_response(self, model_out_text) -> T:
|
||||
"""
|
||||
@ -193,9 +199,9 @@ class BaseOutputParser(ABC):
|
||||
# if "```" in cleaned_output:
|
||||
# cleaned_output, _ = cleaned_output.split("```")
|
||||
if cleaned_output.startswith("```json"):
|
||||
cleaned_output = cleaned_output[len("```json") :]
|
||||
cleaned_output = cleaned_output[len("```json"):]
|
||||
if cleaned_output.startswith("```"):
|
||||
cleaned_output = cleaned_output[len("```") :]
|
||||
cleaned_output = cleaned_output[len("```"):]
|
||||
if cleaned_output.endswith("```"):
|
||||
cleaned_output = cleaned_output[: -len("```")]
|
||||
cleaned_output = cleaned_output.strip()
|
||||
@ -204,9 +210,9 @@ class BaseOutputParser(ABC):
|
||||
cleaned_output = self.__extract_json(cleaned_output)
|
||||
cleaned_output = (
|
||||
cleaned_output.strip()
|
||||
.replace("\n", " ")
|
||||
.replace("\\n", " ")
|
||||
.replace("\\", " ")
|
||||
.replace("\\n", " ")
|
||||
.replace("\n", " ")
|
||||
.replace("\\", " ")
|
||||
)
|
||||
cleaned_output = self.__illegal_json_ends(cleaned_output)
|
||||
return cleaned_output
|
||||
|
Loading…
Reference in New Issue
Block a user