现在要实现的是在上次的生成简单PPT的基础上,将使用大语言模型生成的PPT大纲作为PPT生成方法的参数传入到方法中,并在解析大纲的过程中,加入对大语言模型API的调用来生成幻灯片的详细内容,同时调用图片生成API根据解析得到的文字内容生成插图。并将上述内容插入到项目中已有的PPT模板资源文件中。
调用的大模型是OpenAI的gpt-4-turbo和dall-e-2
这个错误是由于 layout
变量为 null 引起的。可能的原因是模板PPT文件中没有名为 title_and_content
的布局。通过检查和设置默认布局来解决这个问题。
修改 PptOperationService.java
首先,需要确保在 PptOperationService.java
中正确获取和使用布局。如果 title_and_content
布局不存在,我们将使用模板中的第一个可用布局。
修改代码后重新发送请求
这个应该是API的问题
对代码进行修改后,我已经确定代码逻辑没有问题了,但是会报403错误,且发送一次生成PPT请求使用API配额过高,并不能成功生成PPT文件。分析是因为每一次读取到幻灯片标题都会进行一次调用。我决定修改一下逻辑,用户在前端发送PPT大纲生成请求的时候就把幻灯片内容也一并生成,在前端显示大纲,而发送到PPT生成方法的请求参数里包含所有需要的文字内容,这样就能有效避免多次调用且能显著提高生成速度。在PPT生成功能中将只调用dall-e-2模型进行绘图并插入到合适位置。