关于上下文,我最近开始从事一个个人项目,该项目接受某个食谱网页的URL,提取HTML,将HTML转换为简化的减价(这是GPT-3部分),然后将减价发送到厨房中的热敏收据打印机,打印机将减价打印出来。
食谱网页有各种各样的结构,他们是臭名昭著的包括长,往往无关的文章之前的食谱,为了搜索引擎优化。
我的计划是使用davinci 2的微调API,并将一堆直接的配方HTML作为输入,将经过清理的、仅包含配方的markdown作为输出。不过我注意到,训练和推理的最大输入令牌数为4096。网页的HTML可以比这个大得多,比如20 k个令牌。
我想知道是否有人已经找到了一个变通办法,培训和驾驶GPT-3与更多的令牌比4096。
我也愿意接受其他建议。例如,我考虑过只传递页面上的可见文本,而不是完整的HTML树,但是表单中的上下文要少得多,而且模型似乎更容易被页面中的所有链接和其他导航元素所混淆。我也考虑过只允许这个项目接受“打印友好”版本的食谱。这往往是小得多,很容易进入4096令牌限制,但不是所有的网站提供打印机友好的文章,我不希望这是一个限制。
2条答案
按热度按时间smdncfj31#
不知道有什么解决办法,但是您是否考虑过根据一些基本规则过滤掉HTML元素。您可以只包含段落元素或
具有某些特性的元素,比如其中有一个列表,这是大多数食谱都具有的。
cedebl8k2#
这个框架可能对你有用:https://github.com/Xpitfire/symbolicai
其基本思想是:
1.您可以在输入数据之间进行流式传输,并在旁边建立一个堆栈。
1.接下来,在训练过程中,你需要考虑到数据块之间的松散连接,这可以通过在设计提示之前对数据块进行索引或聚类来克服。
1.这意味着,如果要为与长数据流相关的问题创建查询,可以搜索索引并检索相关信息。
1.现在,您需要一起解析您的几个镜头学习提示,它说明了提示中与查询相关的"部分",以及您希望包含的事实的另一部分。
1.最后,您可以将其输入到模型中,并提供您希望模型调整到的示例。
我知道这有点高层次的解释,但也许如果你按照我提供的链接,事情可能会变得更清楚。