mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-08-10 12:42:34 +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("")
|
plt.title("")
|
||||||
|
|
||||||
buf = io.BytesIO()
|
buf = io.BytesIO()
|
||||||
ax.set_facecolor("lightgray")
|
|
||||||
plt.savefig(buf, format="png", dpi=100)
|
plt.savefig(buf, format="png", dpi=100)
|
||||||
buf.seek(0)
|
buf.seek(0)
|
||||||
data = base64.b64encode(buf.getvalue()).decode("ascii")
|
data = base64.b64encode(buf.getvalue()).decode("ascii")
|
||||||
@ -63,7 +62,6 @@ def response_bar_chart(speak: str, df: DataFrame) -> str:
|
|||||||
plt.title("")
|
plt.title("")
|
||||||
|
|
||||||
buf = io.BytesIO()
|
buf = io.BytesIO()
|
||||||
ax.set_facecolor("lightgray")
|
|
||||||
plt.savefig(buf, format="png", dpi=100)
|
plt.savefig(buf, format="png", dpi=100)
|
||||||
buf.seek(0)
|
buf.seek(0)
|
||||||
data = base64.b64encode(buf.getvalue()).decode("ascii")
|
data = base64.b64encode(buf.getvalue()).decode("ascii")
|
||||||
@ -95,7 +93,6 @@ def response_pie_chart(speak: str, df: DataFrame) -> str:
|
|||||||
# plt.title(columns[0])
|
# plt.title(columns[0])
|
||||||
|
|
||||||
buf = io.BytesIO()
|
buf = io.BytesIO()
|
||||||
ax.set_facecolor("lightgray")
|
|
||||||
plt.savefig(buf, format="png", dpi=100)
|
plt.savefig(buf, format="png", dpi=100)
|
||||||
buf.seek(0)
|
buf.seek(0)
|
||||||
data = base64.b64encode(buf.getvalue()).decode("ascii")
|
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:
|
if int(once["chat_order"]) == round:
|
||||||
for element in once["messages"]:
|
for element in once["messages"]:
|
||||||
if element["type"] == "ai":
|
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!")
|
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("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("\*", "*")
|
ai_response = ai_response.replace("\*", "*")
|
||||||
ai_response = ai_response.replace("\t", "")
|
ai_response = ai_response.replace("\t", "")
|
||||||
|
|
||||||
|
ai_response = (
|
||||||
|
ai_response.strip()
|
||||||
|
.replace("\\n", " ")
|
||||||
|
.replace("\n", " ")
|
||||||
|
.replace("\\", " ")
|
||||||
|
)
|
||||||
print("un_stream ai response:", ai_response)
|
print("un_stream ai response:", ai_response)
|
||||||
return ai_response
|
return ai_response
|
||||||
else:
|
else:
|
||||||
@ -154,7 +160,7 @@ class BaseOutputParser(ABC):
|
|||||||
if i < 0:
|
if i < 0:
|
||||||
return None
|
return None
|
||||||
count = 1
|
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 == "]":
|
if c == "]":
|
||||||
count -= 1
|
count -= 1
|
||||||
elif c == "[":
|
elif c == "[":
|
||||||
@ -162,13 +168,13 @@ class BaseOutputParser(ABC):
|
|||||||
if count == 0:
|
if count == 0:
|
||||||
break
|
break
|
||||||
assert count == 0
|
assert count == 0
|
||||||
return s[i : j + 1]
|
return s[i: j + 1]
|
||||||
else:
|
else:
|
||||||
i = s.find("{")
|
i = s.find("{")
|
||||||
if i < 0:
|
if i < 0:
|
||||||
return None
|
return None
|
||||||
count = 1
|
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 == "}":
|
if c == "}":
|
||||||
count -= 1
|
count -= 1
|
||||||
elif c == "{":
|
elif c == "{":
|
||||||
@ -176,7 +182,7 @@ class BaseOutputParser(ABC):
|
|||||||
if count == 0:
|
if count == 0:
|
||||||
break
|
break
|
||||||
assert count == 0
|
assert count == 0
|
||||||
return s[i : j + 1]
|
return s[i: j + 1]
|
||||||
|
|
||||||
def parse_prompt_response(self, model_out_text) -> T:
|
def parse_prompt_response(self, model_out_text) -> T:
|
||||||
"""
|
"""
|
||||||
@ -193,9 +199,9 @@ class BaseOutputParser(ABC):
|
|||||||
# if "```" in cleaned_output:
|
# if "```" in cleaned_output:
|
||||||
# cleaned_output, _ = cleaned_output.split("```")
|
# cleaned_output, _ = cleaned_output.split("```")
|
||||||
if cleaned_output.startswith("```json"):
|
if cleaned_output.startswith("```json"):
|
||||||
cleaned_output = cleaned_output[len("```json") :]
|
cleaned_output = cleaned_output[len("```json"):]
|
||||||
if cleaned_output.startswith("```"):
|
if cleaned_output.startswith("```"):
|
||||||
cleaned_output = cleaned_output[len("```") :]
|
cleaned_output = cleaned_output[len("```"):]
|
||||||
if cleaned_output.endswith("```"):
|
if cleaned_output.endswith("```"):
|
||||||
cleaned_output = cleaned_output[: -len("```")]
|
cleaned_output = cleaned_output[: -len("```")]
|
||||||
cleaned_output = cleaned_output.strip()
|
cleaned_output = cleaned_output.strip()
|
||||||
@ -204,8 +210,8 @@ class BaseOutputParser(ABC):
|
|||||||
cleaned_output = self.__extract_json(cleaned_output)
|
cleaned_output = self.__extract_json(cleaned_output)
|
||||||
cleaned_output = (
|
cleaned_output = (
|
||||||
cleaned_output.strip()
|
cleaned_output.strip()
|
||||||
.replace("\n", " ")
|
|
||||||
.replace("\\n", " ")
|
.replace("\\n", " ")
|
||||||
|
.replace("\n", " ")
|
||||||
.replace("\\", " ")
|
.replace("\\", " ")
|
||||||
)
|
)
|
||||||
cleaned_output = self.__illegal_json_ends(cleaned_output)
|
cleaned_output = self.__illegal_json_ends(cleaned_output)
|
||||||
|
Loading…
Reference in New Issue
Block a user