一、基于文心一言的句意查句应用
1.创意思路
根据句子描述,找到对应的句子,并给出出处。
2.例子
例如输入: 形容爱情坚贞不渝 现代 影视剧台词
输出如下:
-
- 在这个世界上,只有爱情和咳嗽是无法掩饰的。------《恋爱先生》
-
- 我爱你并不是因为你是谁,而是因为我在你身边的时候我是谁。------《迷失东京》
-
- 爱情没有那么多借口,如果最终没能在一起,只能说明爱的不够。------《北京青年》
-
- 因为我爱他,所以我觉得他哪儿都好。------《北京遇上西雅图》
-
- 如果我知道怎么放下你,那还是我吗?------《青春斗》
-
- 我已经分不清,你是友情,还是错过的爱情。------《蒲公英的遗产》
-
- 爱情不是寻找完美的人,而是学会看待一个不完美的人的完美之处。------《爱情回来了》
-
- 人有希望就可以快乐,有坚持就能如愿以偿。------《在一起》
-
- 爱对了是爱情,爱错了是青春。------《左耳》
-
- 你给了我一耳光,我问你手怎么这么凉。------《梦里花落知多少》
-
- 不管你曾经被伤害得有多深,总有一个人的出现,让你原谅之前生活的苦难。------《恋爱先生》
-
- 年轻的时候千万不要因为没钱而绝望,因为你要知道,你以后没钱的日子还很多。------《北京青年》
-
- 我们在青春里遇见的大多数人和事,随着时光的洪流都会消失。不急也不停留,就这样飘走、飘走。------《匆匆那年》
-
- 我爱你,为了你的幸福,我愿意放弃一切,包括你。------《魂断蓝桥》
-
- 我不知道该说什么,我只是突然在那一刻很想念她。------《开往春天的地铁》
-
- 爱情没有公平可言,只有你是否愿意付出的问题。------《无懈可击之美女如云》
-
- 爱情是靠自己争取的,还有就是自己的态度,保留住自己的自尊,不管最后的胜利会是怎么样。最差就是回到一个人的时候。------《我的经济适用男》
-
- 爱情就是让我们懂得在黑暗中看到光明,在寒冷中看到温暖。------《亲爱的翻译官》
-
- 爱情就是两个相爱的人在一起,不管面对什么困难都心手相牵一起走下去。------《我们都要好好的》
-
- 我们这一生的爱情会遇到太多意料之外的事情,不是你我能左右的。太过太多的无法割舍总让我拥有些许不舍和无奈。只要真心相待就足够了!------《裸婚时代》
3.应用界面
二、gradio部署代码
1.安装erniebot包
lua
import os
os.system("pip install -U erniebot -i https://mirrors.aliyun.com/pypi/simple/")
2.导入erniebot、gradio
javascript
import erniebot
import gradio as gr
3.预测
ini
def predict(content, type1, type2):
erniebot.api_type = "aistudio"
erniebot.access_token ="XXXXXXXXXXXXXXXXXXXX"
# erniebot.ak = "XXXXXXXXXXXXXXXXXXXX"
# erniebot.sk = "XXXXXXXXXXXXXXXXXXXX"
message = f"你是一名非常著名的语文老师,可以通过描述的意思来查找名句,包括名人名言、古诗词和文言文名句、谚语俗语歇后语等,并给出出处,不少于20条,下面是我要查询的描述:句子描述 {content},类别为 {type1}、{type2}"
response = erniebot.ChatCompletion.create(model="ernie-bot", messages=[{"role": "user",
"content": message}])
print(response.result)
return response.result
4.撰写UI
csharp
with gr.Blocks(theme=gr.themes.Glass()) as demo:
5.应用介绍
with
gr.HTML(
"""<h1 align="center">句意查句</h1>""")
with gr.Row():
gr.HTML(
"""<img align="center" src='https://ziyuan.guwendao.net/siteimg/24jie/%e5%af%92%e9%9c%b2.jpg' width='100%'> <br>""")
with gr.Row():
gr.HTML(
"""<h3 align="center">可以通过描述的意思来查找名句,包括名人名言、古诗词和文言文名句、谚语俗语歇后语等。基于最先进的文心一言大模型实现。</h3>""")
6.输入设置
ini
with gr.Row():
input = gr.Textbox(label="描述", interactive=True, value="请输入描述,或者直接搜索,或者使用输入例子")
with gr.Row():
dd1 = gr.Dropdown(label="大类", value="现代", allow_custom_value=True,
choices=["现代", "古诗词", "谚语", "歇后语", "其他"])
dd2 = gr.Dropdown(label="小类", value="不限", allow_custom_value=True,
choices=["不限", "名言", "文学佳句", "诗歌佳句", "网络流行语", "影视剧台词", "动漫台词",
"综艺台词"])
7.按钮设置
ini
with gr.Row():
btn1 = gr.Button("🚀一键生成🚀")
btn2 = gr.Button("✨一键清理✨")
8.输出设置
scss
with gr.Row():
output = gr.Textbox(lines=15, label='输出')
with gr.Row():
9.输入example
css
examples = [["形容爱情坚贞不渝", "现代", "名言"],
["形容爱情坚贞不渝", "古诗词", "名言"],
["形容爱情坚贞不渝", "谚语", "名言"],
["形容爱情坚贞不渝", "歇后语", "名言"],
["形容爱情坚贞不渝", "其他", "名言"],
["形容爱情坚贞不渝", "现代", "网络流行语"],
["形容爱情坚贞不渝", "古诗词", "网络流行语"],
["形容爱情坚贞不渝", "谚语", "网络流行语"],
["形容爱情坚贞不渝", "歇后语", "网络流行语"],
["形容爱情坚贞不渝", "其他", "网络流行语"],
["形容爱情坚贞不渝", "现代", "影视剧台词"],
["形容爱情坚贞不渝", "古诗词", "影视剧台词"],
["形容爱情坚贞不渝", "谚语", "影视剧台词"],
["形容爱情坚贞不渝", "歇后语", "影视剧台词"],
["形容爱情坚贞不渝", "其他", "影视剧台词"],
["形容爱情坚贞不渝", "现代", "动漫台词"],
["形容爱情坚贞不渝", "古诗词", "动漫台词"],
["形容爱情坚贞不渝", "谚语", "动漫台词"],
["形容爱情坚贞不渝", "歇后语", "动漫台词"],
["形容爱情坚贞不渝", "其他", "动漫台词"],
["形容爱情坚贞不渝", "现代", "综艺台词"],
["形容爱情坚贞不渝", "古诗词", "综艺台词"],
["形容爱情坚贞不渝", "谚语", "综艺台词"],
["形容爱情坚贞不渝", "歇后语", "综艺台词"],
["形容爱情坚贞不渝", "其他", "综艺台词"],
["形容爱情坚贞不渝", "现代", "其他"],
["形容爱情坚贞不渝", "古诗词", "其他"],
["形容爱情坚贞不渝", "谚语", "其他"],
["形容爱情坚贞不渝", "歇后语", "其他"],
["形容爱情坚贞不渝", "其他", "其他"],
["形容爱情坚贞不渝", "现代", "其他"],
["形容爱情坚贞不渝", "古诗词", "其他"], ]
gr_examples = gr.Examples(examples=examples, inputs=[input, dd1, dd2],
label="输入示例 (点击选择例子)",
examples_per_page=20)
10.按钮动作关联
ini
btn1.click(fn=predict, inputs=[input, dd1, dd2], outputs=output)
btn1.click(fn=lambda value: gr.update(value=""), inputs=[input, dd1, dd2], outputs=output)
11.启动应用
scss
demo.launch()
python
# 1.安装erniebot包
import os
os.system("pip install -U erniebot -i https://mirrors.aliyun.com/pypi/simple/")
# 2.导入erniebot、gradio
import erniebot
import gradio as gr
# 3.预测
def predict(content, type1, type2):
erniebot.api_type = "aistudio"
erniebot.access_token ="XXXXXXXXXXXXXXXXXXXX"
# erniebot.ak = "XXXXXXXXXXXXXXXXXXXX"
# erniebot.sk = "XXXXXXXXXXXXXXXXXXXX"
message = f"你是一名非常著名的语文老师,可以通过描述的意思来查找名句,包括名人名言、古诗词和文言文名句、谚语俗语歇后语等,并给出出处,不少于20条,下面是我要查询的描述:句子描述 {content},类别为 {type1}、{type2}"
response = erniebot.ChatCompletion.create(model="ernie-bot", messages=[{"role": "user",
"content": message}])
print(response.result)
return response.result
# 4.撰写UI
with gr.Blocks(theme=gr.themes.Glass()) as demo:
# 5.应用介绍
with gr.Row():
gr.HTML(
"""<h1 align="center">据意查句</h1>""")
with gr.Row():
gr.HTML(
"""<img align="center" src='https://ziyuan.guwendao.net/siteimg/24jie/%e5%af%92%e9%9c%b2.jpg' width='100%'> <br>""")
with gr.Row():
gr.HTML(
"""<h3 align="center">可以通过描述的意思来查找名句,包括名人名言、古诗词和文言文名句、谚语俗语歇后语等。基于最先进的文心一言大模型实现。</h3>""")
# 6.输入设置
with gr.Row():
input = gr.Textbox(label="描述", interactive=True, value="请输入描述,或者直接搜索,或者使用输入例子")
with gr.Row():
dd1 = gr.Dropdown(label="大类", value="现代", allow_custom_value=True,
choices=["现代", "古诗词", "谚语", "歇后语", "其他"])
dd2 = gr.Dropdown(label="小类", value="不限", allow_custom_value=True,
choices=["不限", "名言", "文学佳句", "诗歌佳句", "网络流行语", "影视剧台词", "动漫台词",
"综艺台词"])
# 7.按钮设置
with gr.Row():
btn1 = gr.Button("🚀一键生成🚀")
btn2 = gr.Button("✨一键清理✨")
# 8.输出设置
with gr.Row():
output = gr.Textbox(lines=15, label='输出')
with gr.Row():
# 9.输入example
examples = [["形容爱情坚贞不渝", "现代", "名言"],
["形容爱情坚贞不渝", "古诗词", "名言"],
["形容爱情坚贞不渝", "谚语", "名言"],
["形容爱情坚贞不渝", "歇后语", "名言"],
["形容爱情坚贞不渝", "其他", "名言"],
["形容爱情坚贞不渝", "现代", "网络流行语"],
["形容爱情坚贞不渝", "古诗词", "网络流行语"],
["形容爱情坚贞不渝", "谚语", "网络流行语"],
["形容爱情坚贞不渝", "歇后语", "网络流行语"],
["形容爱情坚贞不渝", "其他", "网络流行语"],
["形容爱情坚贞不渝", "现代", "影视剧台词"],
["形容爱情坚贞不渝", "古诗词", "影视剧台词"],
["形容爱情坚贞不渝", "谚语", "影视剧台词"],
["形容爱情坚贞不渝", "歇后语", "影视剧台词"],
["形容爱情坚贞不渝", "其他", "影视剧台词"],
["形容爱情坚贞不渝", "现代", "动漫台词"],
["形容爱情坚贞不渝", "古诗词", "动漫台词"],
["形容爱情坚贞不渝", "谚语", "动漫台词"],
["形容爱情坚贞不渝", "歇后语", "动漫台词"],
["形容爱情坚贞不渝", "其他", "动漫台词"],
["形容爱情坚贞不渝", "现代", "综艺台词"],
["形容爱情坚贞不渝", "古诗词", "综艺台词"],
["形容爱情坚贞不渝", "谚语", "综艺台词"],
["形容爱情坚贞不渝", "歇后语", "综艺台词"],
["形容爱情坚贞不渝", "其他", "综艺台词"],
["形容爱情坚贞不渝", "现代", "其他"],
["形容爱情坚贞不渝", "古诗词", "其他"],
["形容爱情坚贞不渝", "谚语", "其他"],
["形容爱情坚贞不渝", "歇后语", "其他"],
["形容爱情坚贞不渝", "其他", "其他"],
["形容爱情坚贞不渝", "现代", "其他"],
["形容爱情坚贞不渝", "古诗词", "其他"], ]
gr_examples = gr.Examples(examples=examples, inputs=[input, dd1, dd2],
label="输入示例 (点击选择例子)",
examples_per_page=20)
# 10.按钮动作关联
btn1.click(fn=predict, inputs=[input, dd1, dd2], outputs=output)
btn1.click(fn=lambda value: gr.update(value=""), inputs=[input, dd1, dd2], outputs=output)
## 11.启动应用
demo.launch()
三、下部打算
1.改用django部署
gradio快速验证可以,但是界面太丑(本人不会调),计划使用django部署
2.增加标注功能
进一步增加人工标注,对生成的句子,可以人工标注质量;