|
|
@@ -29,7 +29,7 @@ import { RequestPayload } from "./openai";
|
|
|
import { fetch } from "@/app/utils/stream";
|
|
|
|
|
|
export class GeminiProApi implements LLMApi {
|
|
|
- path(path: string): string {
|
|
|
+ path(path: string, shouldStream = false): string {
|
|
|
const accessStore = useAccessStore.getState();
|
|
|
|
|
|
let baseUrl = "";
|
|
|
@@ -51,7 +51,7 @@ export class GeminiProApi implements LLMApi {
|
|
|
console.log("[Proxy Endpoint] ", baseUrl, path);
|
|
|
|
|
|
let chatPath = [baseUrl, path].join("/");
|
|
|
- if (!chatPath.includes("gemini-pro")) {
|
|
|
+ if (shouldStream) {
|
|
|
chatPath += chatPath.includes("?") ? "&alt=sse" : "?alt=sse";
|
|
|
}
|
|
|
|
|
|
@@ -169,7 +169,10 @@ export class GeminiProApi implements LLMApi {
|
|
|
options.onController?.(controller);
|
|
|
try {
|
|
|
// https://github.com/google-gemini/cookbook/blob/main/quickstarts/rest/Streaming_REST.ipynb
|
|
|
- const chatPath = this.path(Google.ChatPath(modelConfig.model));
|
|
|
+ const chatPath = this.path(
|
|
|
+ Google.ChatPath(modelConfig.model),
|
|
|
+ shouldStream,
|
|
|
+ );
|
|
|
|
|
|
const chatPayload = {
|
|
|
method: "POST",
|