作业要求
- 在 openai-translator gradio 图形化界面基础上,支持风格化翻译,如:小说、新闻稿、作家风格等
- 扩展销售机器人(sales_chatbot)项目,应用于不同的销售场景,如:电器、家装、教育等
- 实现 LangChain 版本的 AutoGPT 项目的图形化界面。
一、gradio支持风格化翻译
目前界面
改造后
修改以下几个地方
template = (
"""You are a translation expert, proficient in various languages. \n
{style_tip}\n
Translates {source_language} to {target_language}."""
)
result = self.chain.run({
"text": text,
"style_tip": style_tip,
"source_language": source_language,
"target_language": target_language,
})
def get_style_tip(style):
if style == "小说":
return "Please translate the following content in the style of a novel."
elif style == "新闻":
return "Please translate the following content in the style of a news article."
elif style == "作家":
return "Please translate the following content in the style of a writer."
else:
return "Please translate the following content."
def translation(input_file, style, source_language, target_language):
LOG.debug(f"[翻译任务]\n源文件: {input_file.name}\n风格: {style}\n源语言: {source_language}\n目标语言: {target_language}")
output_file_path = Translator.translate_pdf(
input_file.name, style_tip=get_style_tip(style), source_language=source_language, target_language=target_language)
return output_file_path
翻译后的内容还是有很大区别的,准确性暂且不看
二、扩展销售机器人
目前界面
改造后
主要做了以下修改:
- 参照老师给的销售问题模板,让ChatGPT生成了电器、家装、教育类的销售问题,并保存到real_sales_data.txt
- 对real_sales_data.txt内容进行切分和embedding,重新生成了向量数据库的内容
- 把大模型回答的参数改为False
- 结果:能回答新加入的销售问题,对于不存在的问题,返回“这个问题我要问问领导”
三、AutoGPT 图形化界面
参照销售组手的代码,使用gradio实现
还需要再修改,因为返回给页面显示的结果不对。接下来看怎么拿到返回的结果,现在是写到文件去的。最后发现把WriteFileTool去掉就可以了…
对于目标比较多时,有时还是会返回“I have finished all my objectives”,想到自动在最后加一个目标给它:
def autogpt_chat(message, history):
print(f"[message]{message}")
print(f"[history]{history}")
goals = message.split(";")
goals.append('the final response should be the search result')
ans = AGENT_BOT.run(goals)
return ans
改完效果还是可以的,满足要求:
这个对于只有gpt3的token用户很不友好,经常超时不能返回,这个也是很无奈。
四、结尾
这个功能按照作业要求实现了,但是感觉有点拼凑的。目前在AI大模型方面还处于初级阶段,连入门都还不算。如果想在这个领域取得发展,需要下更多的功夫和努力。只有通过不断地学习和实践,才能在AI大模型领域取得更好的发展和进步。