Stata命令chatgpt,运行ChatGPT(二)
将响应结果从Python传递给Stata
在某些情况下,我们可能希望在运行命令后使用ChatGPT的回复。具体来说,我们不妨将ChatGPT的回复存储到一个本地宏,这样我们就不必从屏幕上复制和粘贴。同样,Stata的SFI接口使这一任务变得简单。
让我们先修改Python函数。回想一下,ChatGPT回复的文本存储在
outputtext.choices[0].message.content中。我们可以使用SFI’s Macro包中的setLocal()方法将回复存储到一个名为OutputText的Stata本地宏中。我再次用红色字体输入了这行代码,以便在下面的代码块中更容易看到。
接下来,我们需要对Stata命令的定义做两点修改。首先,我们需要将选项rclass添加到程序定义中,以允许我们的命令在终止后返回信息。其次,我们需要添加行 return local OutputText = `“`OutputText’”’ 来将本地宏OutputText的内容返回给用户。注意,我对本地宏使用了复合双引号,因为ChatGPT的回复可能包含双引号。再次,我用红色字体输入了这些变化,以便在下面的代码块中很容易看到。
chatgpt.ado version 3
让我们运行ado-file重新定义Stata命令和Python函数,然后输入一个新的chatgpt命令。
现在我们可以输入return list ,看到ChatGPT的回复已经存储到本地宏r ( OutputText )中。
将ChatGPT的回复写入文件
我喜欢在本地宏中访问ChatGPT的回复,但是我注意到一些格式,如换行符,已经丢失了。对于简短的回复来说这很容易纠正,但是对于较长的回复来说可能会很耗时。解决这个问题的一个办法是将ChatGPT的回复写到一个文件中。
我在下面的代码块中使用红色字体为Python函数添加了三行代码。**行使用open ( )方法创建一个名为chatgpt _ output . txt的输出文件。w告诉open ( )重写文件,而不是追加新的文本。*二行使用write ( )方法将ChatGPT的回复写入文件。*三行使用close ( )方法关闭文件。
chatgpt.ado version 4
再次,我们运行ado - file来重新定义Stata命令和Python函数。然后输入一个新的chatgpt命令来提交一个新的查询。
现在我们可以查看输出文件来验其中是否包含ChatGPT的回复。
一旦完成对程序的修改,我们需要从 .ado文件中删除python clear行。这可能会导致其他Python代码出现问题。
结论
这就是在上发布的 chatgpt 小命令。这只是一个简单的例子,内容比较直观明了。我还做了一些其他尝试,比如让ChatGPT编写Stata代码,来模拟不同场景的电力计算。结果好坏参半。但ChatGPT API所能做的远不止我在这里展示的,您可以通过阅读ChatGPT API Reference了解更多。Python与Stata的集成使得利用这些强大的工具去创建用户友好的Stata命令变得相对容易。
北京天演融智软件有限公司(科学软件网)是STATA软件在中国的授权经销商,为中国软件用户提供优质的软件销售和培训服务。
turntech88.b2b168.com/m/