一年前OpenAI对Plus会员开放了Code Interpreter功能,有人说是王炸,有人说是核弹级更新,也有人说是继ChatGPT之后再度让人感受到震撼和颠覆的产品。到现在有关Code Interpreter的声音没那么大了,其实是渐渐融入到各种AI相关的应用中。
在去年Code Interpreter开放几天之后,iThinkAir也在自己的AI指令集中添加"代码解释器"指令,并给出"代码解释器"的十几个应用案例,比如:将图片转换为灰度图、使用词云统计高频词、将图像转换为铅笔画等等。
将图像转换为铅笔画
使用词云统计高频词
将图片转换为灰度图
"代码解释器"指令已经是一个成熟的AI指令,让用户真正可以用自然语言编程,只需要将意图用‘话’说出来,"代码解释器"就会自动生成Python代码帮你来实现:
将宽度调整为512像素,保持纵横比。模糊度为99像素。将原始图片除以模糊图片,乘以255。应用半径为3,幅度为3的锐化遮罩。转为灰度图像。最后输出图片文件。
输出词云图,要求支持中文。
将图片转换为灰度图。
GPT-4o mini这类高性价比的小模型的出现,更是让"代码解释器"如鱼得水。
"代码解释器"的原理其实很简单,就是AI将你的‘话’作为Prompt来生成代码。当然AI并不一定能一次性生成可用的代码,和吴恩达反思翻译工作流一样,初步生成的代码会被尝试运行,如果发生错误,会把错误信息连同初步生成的代码反馈给AI,让AI找出错误重新生成代码。这个过程往往会重复多次,直到生成的代码正确无误。
因此,AI模型的性价比就变得很重要了。相比一年前,我们可以用十分之一费用来得到相同的效果。
下面一步步来解析"代码解释器"是如何实现的。
第一步,让AI模型判断你的“自然语言”意图是否需要返回文件、图表、图片。Prompt如下:
“”“{codedesc}”“” 上面这个需求是否输出文件或图表或者处理图片?只回答是、否。
{codedesc}变量值就是"代码解释器"的“自然语言”。
第二步,让AI模型根据你的代码要求生成代码。Prompt如下:
“”“{codedesc}”“” 根据上面三重引号内的代码要求{filedesc},编写运行在Windows上的Python
3的程序来满足要求。程序只生成一个文档或图片。文件名为"{fileout}"+后缀,存放在当前目录下。程序最后print这个文件名。不能import
os。不能import shutil。不能import sys。 只需要输出用```包含的代码,绝对不要写其它非代码内容。
“”“{codedesc}”“” 根据上面三重引号内的代码要求{filedesc},编写运行在Windows上的Python
3的程序来满足要求。程序最后print结果文本。不能import os。不能import shutil。不能import
sys。不能写文件。 只需要输出用```包含的代码,绝对不要写其它非代码内容。
{filedesc}变量值就是"代码解释器"的“文件”。
第三步,运行AI模型生成的代码,如果运行错误,返回错误信息。
第四步,根据第三步返回的错误信息,让AI模型检查并修改代码,然后跳回到第三步。Prompt如下:
“”“{pure_code}”“” 上面的代码报错 “”“”{errdesc}“”
请根据错误信息检查一下代码,并返回正确的代码。只输出修正后的代码,绝对不要写其它非代码内容。
第五步,如果第三步运行无误,让AI模型阐述一下生成的代码。Prompt如下:
我的请求: “”“{codedesc}”“” 你的代码:
Python {pure_code}
请根据上面的我的请求以及你的代码,为我阐述你是如何实现我的请求的。
通过这样的五个步骤,"代码解释器"的功能就实现了。