typescript - Bagaimana cara men-stream respons dari LangChain QAMapReduceChain
Saya menggunakan Langchain untuk berinteraksi dengan teks panjang. Teks tersebut dipecah menjadi beberapa bagian, yang kemudian dimasukkan sebagai variabel docs di bawah ini.
Saya telah menyiapkan sebuah rantai yang menyalurkan respons saya, namun saya menemukan bahwa handleLLMNewToken dipanggil sementara OpenAI mengembalikan token dari semua Generasi yang mencakup langkah Map untuk setiap dokumen.
Ini menghasilkan respons yang berantakan yang merupakan kombinasi dari semua Generasi, alih-alih hanya Generasi output. Saya tidak dapat menemukan metode yang memungkinkan saya hanya menayangkan hasil akhir saat sedang dibuat.
Saya dapat mengakses prompt yang telah selesai jika saya menggunakan variabel chainResult - tetapi itu tidak dapat diputar alirannya seperti callback.
const SUMMARISE_MODEL = {
temperature: 0.5,
modelName: "gpt-3.5-turbo-16k",
maxTokens: 5000,
verbose: false,
maxConcurrency: 2,
streaming: true,
}
//...OTHER CODE
const chain = loadQAMapReduceChain(model, {returnIntermediateSteps: true});
const chainResult = await chain.call({
input_documents: docs,
question: templateString,
}, [
{
handleLLMNewToken(token: string) {
updateResponse(token);
},
}
],);