文本聚类与摘要,让AI帮你做个总结

你好,我是徐文浩。

过去的十多讲里,我为你介绍了各种利用大语言模型的方法和技巧。特别是在过去两讲里,我们也尝试更加深入地利用开源代码帮我们完成一些工作。通过llama-index这样的开源库,我们能够将自己的数据和大语言模型连接在一起。通过sentence_transformers这样的开源库和ChatGLM这样的开源大语言模型,不依赖OpenAI,我们也可以完成简单的电商FAQ的问答。

不过,这里面的代码,都是我们自己写的。虽然我们已经用了像Colab这样的在线Notebook工具,但是这些对非技术人员来说还是有一些门槛的。如果想要让广告投放、产品运营的同事们用起来,我们还需要专门做一个适合他们习惯的界面。

其实,普通业务人员最常用的界面就是像Excel或者Chrome浏览器这样人手一个的应用。而且这些产品都有自己的插件机制。那么今天,我们就来为Excel写一个插件,让业务人员不需要懂代码也能随时使用ChatGPT来辅助完成工作,提高效率。而且,这个插件的代码也不是由我们自己来写,而是让ChatGPT来帮我们写。在这个过程中,你会看到我们如何利用ChatGPT逐步探索,使用我们并不熟悉,甚至完全不会的编程语言和工具完成任务。

所以这一讲,不是一堂技能课,而是一堂方法和思维课。

让我们再来看看那只发光的青蛙

在课程的第 1 讲里面,我就给你举过一个例子。我们使用ChatGPT的API,在一个商品上实现了标题翻译、卖点撰写和售价预估的功能。这个需求,其实是很多跨境电商的运营人员都能用上的。

图片

代码:

import openai
import os

openai.api_key = os.environ.get("OPENAI_API_KEY")
COMPLETION_MODEL = "text-davinci-003"

prompt = """
Consideration proudct : 工厂现货PVC充气青蛙夜市地摊热卖充气玩具发光蛙儿童水上玩具

1. Compose human readable product title used on Amazon in english within 20 words.
2. Write 5 selling points for the products in Amazon.
3. Evaluate a price range for this product in U.S.

Output the result in json format with three properties called title, selling_points and price_range
"""

def get_response(prompt):
    completions = openai.Completion.create (
        engine=COMPLETION_MODEL,
        prompt=prompt,
        max_tokens=512,
        n=1,
        stop=None,
        temperature=0.0,        
    )
    message = completions.choices[0].text
    return message

print(get_response(prompt)) 

输出结果:

{
    "title": "Glow-in-the-Dark Inflatable PVC Frog Night Market Hot Selling Water Toy for Kids",
    "selling_points": [
        "Made of durable PVC material",
        "Glow-in-the-dark design for night play",
        "Inflatable design for easy storage and transport",
        "Perfect for water play and outdoor activities",
        "Great gift for kids"
    ],
    "price_range": "$10 - $20"
}

但是,让运营人员去学会用Python写程序,的确门槛还是太高了。但是,如果每件商品都把同样的提示语往ChatGPT的界面里复制粘贴,效率又太低了一点。那这个时候,其实Excel就是一个很好的选择了。

我们的需求很简单,就是想把所有想要翻译和寻找卖点的商品标题,都放在Excel文件的第一列里面,然后让AI根据我们的需要填后面几列就好了。

图片

不过,其实我和你一样,并没有写过Excel的插件。所以虽然我知道这事儿大概是可以做到的,但是具体怎么做,我也只能来问问ChatGPT。

图片

我直接把这个需求扔给了ChatGPT,请它直接为我写个插件。我输入了一句提示语。

提示语:

请你帮我写一个Excel插件,能够将商品标题翻译成英文,寻找商品里面的卖点,以及确定商品的售价

可惜,答案不尽如人意。ChatGPT不仅只是泛泛地告诉我们可以用翻译的API,而且它在自然语言处理部分,还编造了一段代码。它实际介绍的NLTK,spaCy等等,都是Python的开源库,是没有VBA代码的。

不过,尽管这个回答并不是正确答案,但它还是给我们提供了一个很有用的信息,那就是Excel里我们可以通过VBA来运行程序。这其实也是我们使用ChatGPT这样的AI助理的时候需要注意的一点,我们并不要求它一次做对,只要每次能让我们离答案更近了一点点就好了。

先来试一试简单的插件任务

知道了Excel可以通过VBA来执行程序,我们就先通过它来写一个最简单的功能,来试试整个流程是否可以走通。所以,我给了AI这样一个指令。

请你为我写一个Excel的VBA插件,它会将表格里面的第一列的内容,复制到第二列

这一次,ChatGPT没有和我打官腔,而是直接给出了详细的代码,以及如何在Excel里面执行的步骤。

我也把下面截图中对应的整个对话分享到了ShareGPT里,你可以直接点击链接查看完整的操作方式。

图片

代码:

Sub CopyFirstColumnToSecondColumn()
    '获取第一列和第二列的范围
    Dim firstColumn As Range
    Dim secondColumn As Range
    Set firstColumn = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
    Set secondColumn = Range("B1:B" & Cells(Rows.Count, 1).End(xlUp).Row)

    '复制第一列到第二列
    secondColumn.Value = firstColumn.Value
End Sub

根据ChatGPT给出的详细操作步骤,我们可以通过快捷键 ALT + F11 打开Excel下的VBA编辑器,然后把对应的Excel代码复制进去;也能够在Excel的表格界面里,通过快捷键 ALT + F8 唤起宏的对话框,执行这段宏。你可以试一下,这段VBA的宏的确能够将我们表格里面的第一列,复制到第二列里面。

图片

图片

虽然这段代码的功能非常简单,但是它帮助我们走通了一个基本路径,就是怎么在Excel里面撰写VBA代码并且执行。这种方法也是使用AI写代码时一个常用的方式,我们先通过一些简单的任务来试一试,看看AI是否能把路径走通,还是说它只会胡扯。如果能够走通的话,意味着我们又朝最终答案靠近了一步。而如果是胡扯的话,你也可以早点另请高明。

拆解想要完成的代码功能,分步骤让AI完成程序

在试过VBA代码能在Excel里正常运行之后,我们就可以开始尝试让ChatGPT帮我们写正式的代码了。这一次,我们不能和一开始一样,随便给它一个模糊的需求,而是应该拆解一下需求。在提示词里,更准确地描述我们希望ChatGPT写出的代码完成什么功能,包括我们希望它使用的具体步骤和方法。这样,它才有可能写出正确的代码。所以这一次我给到的提示语是这样的。

请为我写这样一段在Excel里面运行的VBA程序:
1. 读取表格里面的第一列的内容
2. 内容的每一行,都是一个商品标题。对这个商品标题,通过下面的Prompt,调用OpenAI的API拿到返回结果:
"""
Consideration proudct : 商品标题
1. Compose hu
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值