赞
踩
你好,我是徐文浩。
过去的十多讲里,我为你介绍了各种利用大语言模型的方法和技巧。特别是在过去两讲里,我们也尝试更加深入地利用开源代码帮我们完成一些工作。通过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是否能把路径走通,还是说它只会胡扯。如果能够走通的话,意味着我们又朝最终答案靠近了一步。而如果是胡扯的话,你也可以早点另请高明。
在试过VBA代码能在Excel里正常运行之后,我们就可以开始尝试让ChatGPT帮我们写正式的代码了。这一次,我们不能和一开始一样,随便给它一个模糊的需求,而是应该拆解一下需求。在提示词里,更准确地描述我们希望ChatGPT写出的代码完成什么功能,包括我们希望它使用的具体步骤和方法。这样,它才有可能写出正确的代码。所以这一次我给到的提示语是这样的。
请为我写这样一段在Excel里面运行的VBA程序:
1. 读取表格里面的第一列的内容
2. 内容的每一行,都是一个商品标题。对这个商品标题,通过下面的Prompt,调用OpenAI的API拿到返回结果:
"""
Consideration proudct : 商品标题
1. Compose human readable product title used on
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。