Closed DearVinking closed 7 months ago
目前代码获取文章正文的时候满 1000 字会直接截断,如果刚好在括号中间截断的话( 例如像这样截断:这是一条长长长的正文(这是另一条长 ) ,输出总结的时候 GPT 会自动联想(而且很多时候联想是不准确的)帮你把括号的内容写完再开始总结文章。给正文加上开始和结束标记可以很好地解决这个问题。
这是一条长长长的正文(这是另一条长
下面是我的博客在用的修改后的代码,也给标题标签前加上了[目录]标注,如果没有获取到标题标签不会输出[目录]标注以节省字符余额。另外这样添加标注后的话输出总结的质量也会比原来的总结好一点,可以考虑考虑整合进代码里:
[目录]
const headings = [...container.querySelectorAll('h1, h2, h3, h4, h5')] .map(({ innerText }) => innerText.trim()); const paragraphs = [...container.querySelectorAll('p')] .map(({ innerText }) => innerText.replace(/https?:\/\/[^\s]+/g, '').trim()) .filter(Boolean); const truncatedText = `${headings.length > 0 ? `[目录]:${headings.join('、')}` : ''}[正文]:${paragraphs.join('').slice(0, 1000)}[结束]`; return truncatedText;
非常棒的建议。 不过这个库作为官方库,生成函数终身不能修改的。所以建议你自己定制js内容,生成只属于你自己的函数。感谢支持
目前代码获取文章正文的时候满 1000 字会直接截断,如果刚好在括号中间截断的话( 例如像这样截断:
这是一条长长长的正文(这是另一条长
) ,输出总结的时候 GPT 会自动联想(而且很多时候联想是不准确的)帮你把括号的内容写完再开始总结文章。给正文加上开始和结束标记可以很好地解决这个问题。下面是我的博客在用的修改后的代码,也给标题标签前加上了
[目录]
标注,如果没有获取到标题标签不会输出[目录]
标注以节省字符余额。另外这样添加标注后的话输出总结的质量也会比原来的总结好一点,可以考虑考虑整合进代码里: