|
@@ -1,4 +1,4 @@
|
|
|
-import { REQUEST_TIMEOUT_MS } from "@/app/constant";
|
|
|
+import { OpenaiPath, REQUEST_TIMEOUT_MS } from "@/app/constant";
|
|
|
import { useAccessStore, useAppConfig, useChatStore } from "@/app/store";
|
|
|
|
|
|
import { ChatOptions, getHeaders, LLMApi, LLMUsage } from "../api";
|
|
@@ -10,10 +10,6 @@ import {
|
|
|
import { prettyObject } from "@/app/utils/format";
|
|
|
|
|
|
export class ChatGPTApi implements LLMApi {
|
|
|
- public ChatPath = "v1/chat/completions";
|
|
|
- public UsagePath = "dashboard/billing/usage";
|
|
|
- public SubsPath = "dashboard/billing/subscription";
|
|
|
-
|
|
|
path(path: string): string {
|
|
|
let openaiUrl = useAccessStore.getState().openaiUrl;
|
|
|
if (openaiUrl.endsWith("/")) {
|
|
@@ -55,7 +51,7 @@ export class ChatGPTApi implements LLMApi {
|
|
|
options.onController?.(controller);
|
|
|
|
|
|
try {
|
|
|
- const chatPath = this.path(this.ChatPath);
|
|
|
+ const chatPath = this.path(OpenaiPath.ChatPath);
|
|
|
const chatPayload = {
|
|
|
method: "POST",
|
|
|
body: JSON.stringify(requestPayload),
|
|
@@ -177,14 +173,14 @@ export class ChatGPTApi implements LLMApi {
|
|
|
const [used, subs] = await Promise.all([
|
|
|
fetch(
|
|
|
this.path(
|
|
|
- `${this.UsagePath}?start_date=${startDate}&end_date=${endDate}`,
|
|
|
+ `${OpenaiPath.UsagePath}?start_date=${startDate}&end_date=${endDate}`,
|
|
|
),
|
|
|
{
|
|
|
method: "GET",
|
|
|
headers: getHeaders(),
|
|
|
},
|
|
|
),
|
|
|
- fetch(this.path(this.SubsPath), {
|
|
|
+ fetch(this.path(OpenaiPath.SubsPath), {
|
|
|
method: "GET",
|
|
|
headers: getHeaders(),
|
|
|
}),
|
|
@@ -228,3 +224,4 @@ export class ChatGPTApi implements LLMApi {
|
|
|
} as LLMUsage;
|
|
|
}
|
|
|
}
|
|
|
+export { OpenaiPath };
|