gpt4 book ai didi

node.js - ChatGPT 按 block 读取 PDF

转载 作者:行者123 更新时间:2023-12-02 22:47:37 24 4
gpt4 key购买 nike

我创建了一个应用程序,可以解析 PDF 并根据 PDF 大小将其分成多个 block 发送到 ChatGPT。一旦我发送多个 block ,我就会收到相同问题的多个答案,每个 block 一个。我想知道,解析 PDF 的最佳方法是什么?保存 token 的最佳方法,并且在发送所有 block 后仅获得一个答案。

为了得到一个答案,我所做的就是将多个答案与问题进行比较并进行单词匹配。尽管如此,最佳答案通常并不完整,因为它只考虑发送的文本 block 。我所期望的是发送所有 block ,也许在最后一个用户问题中让 ChatGPT 将问题与所有 block 进行比较,但我现在完全受阻。

for (const chunk of chunks) {
const instructionMessage: OpenAI.Chat.CreateChatCompletionRequestMessage =
{
role: "system",
content: `...`,
};

const requests = await openai.chat.completions.create({
model: "gpt-3.5-turbo-16k",
messages: [instructionMessage, ...messages],
temperature: 0.4,
});
response.push(requests.choices[0].message);
}

...messages代表有问题的聊天以及之前的答案(如果存在)。

最佳答案

您应该使用 ai npm package by vercel 进行流式传输。链接中的示例代码:

import OpenAI from 'openai';
import { OpenAIStream, StreamingTextResponse } from 'ai';

const openai = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
});

export const runtime = 'edge';

export async function POST(req) {
const { messages } = await req.json();
const response = await openai.chat.completions.create({
model: 'gpt-4',
stream: true,
messages,
});
const stream = OpenAIStream(response);
return new StreamingTextResponse(stream);
}

关于node.js - ChatGPT 按 block 读取 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77121639/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com