Merge pull request #75 from aditheking/main
Fix Gemini API streaming implementation
This commit is contained in:
commit
0f17a06c3a
@ -262,7 +262,27 @@ function createStreamingLLM({ apiKey, model = 'gemini-2.5-flash', temperature =
|
|||||||
let chunkCount = 0;
|
let chunkCount = 0;
|
||||||
let totalContent = '';
|
let totalContent = '';
|
||||||
|
|
||||||
for await (const chunk of chat.sendMessageStream(geminiContent)) {
|
const contentParts = geminiContent.map(part => {
|
||||||
|
if (typeof part === 'string') {
|
||||||
|
return { text: part };
|
||||||
|
} else if (part.inlineData) {
|
||||||
|
return { inlineData: part.inlineData };
|
||||||
|
}
|
||||||
|
return part;
|
||||||
|
});
|
||||||
|
|
||||||
|
const result = await geminiModel.generateContentStream({
|
||||||
|
contents: [{
|
||||||
|
role: 'user',
|
||||||
|
parts: contentParts
|
||||||
|
}],
|
||||||
|
generationConfig: {
|
||||||
|
temperature,
|
||||||
|
maxOutputTokens: maxTokens || 8192,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
for await (const chunk of result.stream) {
|
||||||
chunkCount++;
|
chunkCount++;
|
||||||
const chunkText = chunk.text() || '';
|
const chunkText = chunk.text() || '';
|
||||||
totalContent += chunkText;
|
totalContent += chunkText;
|
||||||
@ -307,4 +327,4 @@ module.exports = {
|
|||||||
createSTT,
|
createSTT,
|
||||||
createLLM,
|
createLLM,
|
||||||
createStreamingLLM
|
createStreamingLLM
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user