mirror of
https://github.com/geoffsee/open-gsio.git
synced 2025-09-08 22:56:46 +00:00
Remove file upload functionality and related components
The `FileUploadStore` and all file upload features were removed, simplifying the chat interface. This change eliminates unused code, including file handling logic, attachment management, and UI elements, streamlining the application.
This commit is contained in:

committed by
Geoff Seemueller

parent
c04e19611e
commit
47272ba350
@@ -1,6 +0,0 @@
|
|||||||
import { types } from "mobx-state-tree";
|
|
||||||
|
|
||||||
export default types.model("Attachment", {
|
|
||||||
content: types.string,
|
|
||||||
url: types.string,
|
|
||||||
});
|
|
@@ -1,6 +1,5 @@
|
|||||||
import { applySnapshot, flow, Instance, types } from "mobx-state-tree";
|
import { applySnapshot, flow, Instance, types } from "mobx-state-tree";
|
||||||
import Message from "../models/Message";
|
import Message from "../models/Message";
|
||||||
import IntermediateStep from "../models/IntermediateStep";
|
|
||||||
import UserOptionsStore from "./UserOptionsStore";
|
import UserOptionsStore from "./UserOptionsStore";
|
||||||
|
|
||||||
const ClientChatStore = types
|
const ClientChatStore = types
|
||||||
@@ -10,8 +9,6 @@ const ClientChatStore = types
|
|||||||
isLoading: types.optional(types.boolean, false),
|
isLoading: types.optional(types.boolean, false),
|
||||||
model: types.optional(types.string, "llama-3.3-70b-versatile"),
|
model: types.optional(types.string, "llama-3.3-70b-versatile"),
|
||||||
imageModel: types.optional(types.string, "black-forest-labs/flux-1.1-pro"),
|
imageModel: types.optional(types.string, "black-forest-labs/flux-1.1-pro"),
|
||||||
tools: types.optional(types.array(types.string), []),
|
|
||||||
intermediateSteps: types.array(IntermediateStep),
|
|
||||||
})
|
})
|
||||||
.actions((self) => ({
|
.actions((self) => ({
|
||||||
cleanup() {
|
cleanup() {
|
||||||
@@ -39,7 +36,6 @@ const ClientChatStore = types
|
|||||||
const payload = {
|
const payload = {
|
||||||
messages: self.messages.slice(),
|
messages: self.messages.slice(),
|
||||||
model: self.model,
|
model: self.model,
|
||||||
tools: self.tools.slice(),
|
|
||||||
};
|
};
|
||||||
|
|
||||||
yield new Promise((resolve) => setTimeout(resolve, 500));
|
yield new Promise((resolve) => setTimeout(resolve, 500));
|
||||||
@@ -96,8 +92,6 @@ const ClientChatStore = types
|
|||||||
self.appendToLastMessage(
|
self.appendToLastMessage(
|
||||||
parsedData.data.choices[0]?.delta?.content || "",
|
parsedData.data.choices[0]?.delta?.content || "",
|
||||||
);
|
);
|
||||||
} else {
|
|
||||||
self.handleIntermediateSteps(parsedData);
|
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error processing stream:", error);
|
console.error("Error processing stream:", error);
|
||||||
@@ -160,7 +154,6 @@ const ClientChatStore = types
|
|||||||
const payload = {
|
const payload = {
|
||||||
messages: self.messages.slice(),
|
messages: self.messages.slice(),
|
||||||
model: self.model,
|
model: self.model,
|
||||||
tools: self.tools.slice(),
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const response = yield fetch("/api/chat", {
|
const response = yield fetch("/api/chat", {
|
||||||
@@ -211,8 +204,6 @@ const ClientChatStore = types
|
|||||||
self.appendToLastMessage(
|
self.appendToLastMessage(
|
||||||
parsedData.data.choices[0]?.delta?.content || "",
|
parsedData.data.choices[0]?.delta?.content || "",
|
||||||
);
|
);
|
||||||
} else {
|
|
||||||
self.handleIntermediateSteps(parsedData);
|
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error processing stream:", error);
|
console.error("Error processing stream:", error);
|
||||||
@@ -240,31 +231,11 @@ const ClientChatStore = types
|
|||||||
reset() {
|
reset() {
|
||||||
applySnapshot(self, {});
|
applySnapshot(self, {});
|
||||||
},
|
},
|
||||||
addIntermediateStep(stepData) {
|
|
||||||
return;
|
|
||||||
},
|
|
||||||
|
|
||||||
handleIntermediateSteps(eventData: any) {
|
|
||||||
try {
|
|
||||||
self.appendToLastMessage(eventData?.data.trim() + "\n");
|
|
||||||
self.addIntermediateStep({
|
|
||||||
kind: eventData.type,
|
|
||||||
data: eventData.data,
|
|
||||||
});
|
|
||||||
} catch (e) {}
|
|
||||||
},
|
|
||||||
removeMessagesAfter(index: number) {
|
removeMessagesAfter(index: number) {
|
||||||
if (index >= 0 && index < self.messages.length) {
|
if (index >= 0 && index < self.messages.length) {
|
||||||
self.messages.splice(index + 1);
|
self.messages.splice(index + 1);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
setTools(tools: string[]) {
|
|
||||||
self.tools.clear();
|
|
||||||
self.tools.push(...tools);
|
|
||||||
},
|
|
||||||
getTools() {
|
|
||||||
return self.tools.slice();
|
|
||||||
},
|
|
||||||
updateLastMessage(content: string) {
|
updateLastMessage(content: string) {
|
||||||
if (self.messages.length > 0) {
|
if (self.messages.length > 0) {
|
||||||
self.messages[self.messages.length - 1].content = content;
|
self.messages[self.messages.length - 1].content = content;
|
||||||
|
@@ -28,15 +28,6 @@ export function createRouter() {
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
.get(
|
|
||||||
"/api/streams/webhook/:streamId",
|
|
||||||
withParams,
|
|
||||||
async ({ streamId }, env, ctx) => {
|
|
||||||
const { chatService } = createServerContext(env, ctx);
|
|
||||||
return chatService.proxyWebhookStream(streamId); // Handles SSE for streamId
|
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
||||||
.post("/api/feedback", async (r, e, c) => {
|
.post("/api/feedback", async (r, e, c) => {
|
||||||
const { feedbackService } = createServerContext(e, c);
|
const { feedbackService } = createServerContext(e, c);
|
||||||
return feedbackService.handleFeedback(r);
|
return feedbackService.handleFeedback(r);
|
||||||
|
@@ -6,13 +6,11 @@ export class AssistantSdk {
|
|||||||
maxTokens?: number;
|
maxTokens?: number;
|
||||||
userTimezone?: string;
|
userTimezone?: string;
|
||||||
userLocation?: string;
|
userLocation?: string;
|
||||||
tools?: string[];
|
|
||||||
}): string {
|
}): string {
|
||||||
const {
|
const {
|
||||||
maxTokens,
|
maxTokens,
|
||||||
userTimezone = "UTC",
|
userTimezone = "UTC",
|
||||||
userLocation = "",
|
userLocation = "",
|
||||||
tools = [],
|
|
||||||
} = params;
|
} = params;
|
||||||
const selectedFewshots = Sdk.selectEquitably?.(few_shots) || few_shots;
|
const selectedFewshots = Sdk.selectEquitably?.(few_shots) || few_shots;
|
||||||
const sdkDate =
|
const sdkDate =
|
||||||
@@ -23,17 +21,6 @@ export class AssistantSdk {
|
|||||||
const now = new Date();
|
const now = new Date();
|
||||||
const formattedMinutes = String(now.getMinutes()).padStart(2, "0");
|
const formattedMinutes = String(now.getMinutes()).padStart(2, "0");
|
||||||
const currentTime = `${now.getHours()}:${formattedMinutes} ${now.getSeconds()}s`;
|
const currentTime = `${now.getHours()}:${formattedMinutes} ${now.getSeconds()}s`;
|
||||||
// const toolsInfo =
|
|
||||||
// tools
|
|
||||||
// .map((tool) => {
|
|
||||||
// switch (tool) {
|
|
||||||
// // case "user-attachments": return "### Attachments\nUser supplied attachments are normalized to text and will have this header (# Attachment:...) in the message.";
|
|
||||||
// // case "web-search": return "### Web Search\nResults are optionally available in 'Live Search'.";
|
|
||||||
// default:
|
|
||||||
// return `- ${tool}`;
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// .join("\n\n") || "- No additional tools selected.";
|
|
||||||
|
|
||||||
return `# Assistant Knowledge
|
return `# Assistant Knowledge
|
||||||
## Current Context
|
## Current Context
|
||||||
|
@@ -5,219 +5,129 @@ import {IMessage} from "../../../src/stores/ClientChatStore";
|
|||||||
import {getModelFamily} from "../../../src/components/chat/SupportedModels";
|
import {getModelFamily} from "../../../src/components/chat/SupportedModels";
|
||||||
|
|
||||||
export class ChatSdk {
|
export class ChatSdk {
|
||||||
static async preprocess({
|
static async preprocess({
|
||||||
messages,
|
messages,
|
||||||
}) {
|
}) {
|
||||||
// a custom implementation for preprocessing would go here
|
// run processing on messages to generate events/context
|
||||||
return Message.create({
|
// removed in this fork due to expenses
|
||||||
role: "assistant",
|
return Message.create({
|
||||||
content: "",
|
role: "assistant",
|
||||||
});
|
content: "",
|
||||||
}
|
});
|
||||||
|
|
||||||
static async handleChatRequest(
|
|
||||||
request: Request,
|
|
||||||
ctx: {
|
|
||||||
openai: OpenAI;
|
|
||||||
systemPrompt: any;
|
|
||||||
maxTokens: any;
|
|
||||||
env: Env;
|
|
||||||
},
|
|
||||||
) {
|
|
||||||
const streamId = crypto.randomUUID();
|
|
||||||
const { messages, model, conversationId, attachments, tools } =
|
|
||||||
await request.json();
|
|
||||||
|
|
||||||
if (!messages?.length) {
|
|
||||||
return new Response("No messages provided", { status: 400 });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const preprocessedContext = await ChatSdk.preprocess({
|
static async handleChatRequest(
|
||||||
messages,
|
request: Request,
|
||||||
});
|
ctx: {
|
||||||
|
openai: OpenAI;
|
||||||
const objectId = ctx.env.SITE_COORDINATOR.idFromName("stream-index");
|
systemPrompt: any;
|
||||||
const durableObject = ctx.env.SITE_COORDINATOR.get(objectId);
|
maxTokens: any;
|
||||||
|
env: Env;
|
||||||
const webhooks =
|
|
||||||
JSON.parse(await durableObject.getStreamData(streamId)) ?? {};
|
|
||||||
|
|
||||||
await durableObject.saveStreamData(
|
|
||||||
streamId,
|
|
||||||
JSON.stringify({
|
|
||||||
messages,
|
|
||||||
model,
|
|
||||||
conversationId,
|
|
||||||
timestamp: Date.now(),
|
|
||||||
attachments,
|
|
||||||
tools,
|
|
||||||
systemPrompt: ctx.systemPrompt,
|
|
||||||
preprocessedContext,
|
|
||||||
...webhooks,
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
|
|
||||||
return new Response(
|
|
||||||
JSON.stringify({
|
|
||||||
streamUrl: `/api/streams/${streamId}`,
|
|
||||||
}),
|
|
||||||
{
|
|
||||||
headers: {
|
|
||||||
"Content-Type": "application/json",
|
|
||||||
},
|
},
|
||||||
},
|
) {
|
||||||
);
|
const streamId = crypto.randomUUID();
|
||||||
}
|
const {messages, model, conversationId} =
|
||||||
|
await request.json();
|
||||||
|
|
||||||
static async calculateMaxTokens(
|
if (!messages?.length) {
|
||||||
messages: any[],
|
return new Response("No messages provided", {status: 400});
|
||||||
ctx: Record<string, any> & {
|
}
|
||||||
env: Env;
|
|
||||||
maxTokens: number;
|
|
||||||
},
|
|
||||||
) {
|
|
||||||
const objectId = ctx.env.SITE_COORDINATOR.idFromName(
|
|
||||||
"dynamic-token-counter",
|
|
||||||
);
|
|
||||||
const durableObject = ctx.env.SITE_COORDINATOR.get(objectId);
|
|
||||||
return durableObject.dynamicMaxTokens(messages, ctx.maxTokens);
|
|
||||||
}
|
|
||||||
|
|
||||||
static buildAssistantPrompt({ maxTokens, tools }) {
|
const preprocessedContext = await ChatSdk.preprocess({
|
||||||
return AssistantSdk.getAssistantPrompt({
|
messages,
|
||||||
maxTokens,
|
});
|
||||||
userTimezone: "UTC",
|
|
||||||
userLocation: "USA/unknown",
|
|
||||||
tools,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
static buildMessageChain(
|
const objectId = ctx.env.SITE_COORDINATOR.idFromName("stream-index");
|
||||||
messages: any[],
|
const durableObject = ctx.env.SITE_COORDINATOR.get(objectId);
|
||||||
opts: {
|
|
||||||
systemPrompt: any;
|
|
||||||
assistantPrompt: string;
|
|
||||||
attachments: any[];
|
|
||||||
toolResults: IMessage;
|
|
||||||
model: any;
|
|
||||||
},
|
|
||||||
) {
|
|
||||||
const modelFamily = getModelFamily(opts.model);
|
|
||||||
|
|
||||||
const messagesToSend = [];
|
|
||||||
|
|
||||||
messagesToSend.push(
|
await durableObject.saveStreamData(
|
||||||
Message.create({
|
streamId,
|
||||||
role:
|
JSON.stringify({
|
||||||
opts.model.includes("o1") ||
|
messages,
|
||||||
opts.model.includes("gemma") ||
|
model,
|
||||||
modelFamily === "claude" ||
|
conversationId,
|
||||||
modelFamily === "google"
|
timestamp: Date.now(),
|
||||||
? "assistant"
|
systemPrompt: ctx.systemPrompt,
|
||||||
: "system",
|
preprocessedContext
|
||||||
content: opts.systemPrompt.trim(),
|
}),
|
||||||
}),
|
);
|
||||||
);
|
|
||||||
|
|
||||||
messagesToSend.push(
|
return new Response(
|
||||||
Message.create({
|
JSON.stringify({
|
||||||
role: "assistant",
|
streamUrl: `/api/streams/${streamId}`,
|
||||||
content: opts.assistantPrompt.trim(),
|
}),
|
||||||
}),
|
{
|
||||||
);
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
const attachmentMessages = (opts.attachments || []).map((attachment) =>
|
},
|
||||||
Message.create({
|
},
|
||||||
role: "user",
|
);
|
||||||
content: `Attachment: ${attachment.content}`,
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
|
|
||||||
if (attachmentMessages.length > 0) {
|
|
||||||
messagesToSend.push(...attachmentMessages);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
messagesToSend.push(
|
static async calculateMaxTokens(
|
||||||
...messages
|
messages: any[],
|
||||||
.filter((message: any) => message.content?.trim())
|
ctx: Record<string, any> & {
|
||||||
.map((message: any) => Message.create(message)),
|
env: Env;
|
||||||
);
|
maxTokens: number;
|
||||||
|
},
|
||||||
|
) {
|
||||||
|
const objectId = ctx.env.SITE_COORDINATOR.idFromName(
|
||||||
|
"dynamic-token-counter",
|
||||||
|
);
|
||||||
|
const durableObject = ctx.env.SITE_COORDINATOR.get(objectId);
|
||||||
|
return durableObject.dynamicMaxTokens(messages, ctx.maxTokens);
|
||||||
|
}
|
||||||
|
|
||||||
return messagesToSend;
|
static buildAssistantPrompt({maxTokens}) {
|
||||||
}
|
return AssistantSdk.getAssistantPrompt({
|
||||||
|
maxTokens,
|
||||||
|
userTimezone: "UTC",
|
||||||
|
userLocation: "USA/unknown",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
static async handleAgentStream(
|
static buildMessageChain(
|
||||||
eventSource: EventSource,
|
messages: any[],
|
||||||
dataCallback: any,
|
opts: {
|
||||||
): Promise<void> {
|
systemPrompt: any;
|
||||||
// console.log("sdk::handleWebhookStream::start");
|
assistantPrompt: string;
|
||||||
let done = false;
|
toolResults: IMessage;
|
||||||
return new Promise((resolve, reject) => {
|
model: any;
|
||||||
if (!done) {
|
},
|
||||||
// console.log("sdk::handleWebhookStream::promise::created");
|
) {
|
||||||
eventSource.onopen = () => {
|
const modelFamily = getModelFamily(opts.model);
|
||||||
// console.log("sdk::handleWebhookStream::eventSource::open");
|
|
||||||
console.log("Connected to agent");
|
|
||||||
};
|
|
||||||
|
|
||||||
const parseEvent = (data) => {
|
const messagesToSend = [];
|
||||||
try {
|
|
||||||
return JSON.parse(data);
|
|
||||||
} catch (_) {
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
eventSource.onmessage = (event) => {
|
|
||||||
try {
|
|
||||||
if (event.data === "[DONE]") {
|
|
||||||
done = true;
|
|
||||||
console.log("Stream completed");
|
|
||||||
|
|
||||||
eventSource.close();
|
messagesToSend.push(
|
||||||
return resolve();
|
Message.create({
|
||||||
}
|
role:
|
||||||
|
opts.model.includes("o1") ||
|
||||||
|
opts.model.includes("gemma") ||
|
||||||
|
modelFamily === "claude" ||
|
||||||
|
modelFamily === "google"
|
||||||
|
? "assistant"
|
||||||
|
: "system",
|
||||||
|
content: opts.systemPrompt.trim(),
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
dataCallback({ type: "web-search", data: parseEvent(event.data) });
|
messagesToSend.push(
|
||||||
} catch (error) {
|
Message.create({
|
||||||
console.log("sdk::handleWebhookStream::eventSource::error");
|
role: "assistant",
|
||||||
console.error("Error parsing webhook data:", error);
|
content: opts.assistantPrompt.trim(),
|
||||||
dataCallback({ error: "Invalid data format from webhook" });
|
}),
|
||||||
}
|
);
|
||||||
};
|
|
||||||
|
|
||||||
eventSource.onerror = (error: any) => {
|
messagesToSend.push(
|
||||||
console.error("Webhook stream error:", error);
|
...messages
|
||||||
|
.filter((message: any) => message.content?.trim())
|
||||||
|
.map((message: any) => Message.create(message)),
|
||||||
|
);
|
||||||
|
|
||||||
if (
|
return messagesToSend;
|
||||||
error.error &&
|
}
|
||||||
error.error.message === "The server disconnected."
|
|
||||||
) {
|
|
||||||
return resolve();
|
|
||||||
}
|
|
||||||
|
|
||||||
reject(new Error("Failed to stream from webhook"));
|
|
||||||
};
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
static sendDoubleNewline(controller, encoder) {
|
|
||||||
const data = {
|
|
||||||
type: "chat",
|
|
||||||
data: {
|
|
||||||
choices: [
|
|
||||||
{
|
|
||||||
index: 0,
|
|
||||||
delta: { content: "\n\n" },
|
|
||||||
logprobs: null,
|
|
||||||
finish_reason: null,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
controller.enqueue(encoder.encode(`data: ${JSON.stringify(data)}\n\n`));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default ChatSdk;
|
export default ChatSdk;
|
||||||
|
@@ -21,12 +21,10 @@ export class CerebrasSdk {
|
|||||||
}>,
|
}>,
|
||||||
_NotCustomized
|
_NotCustomized
|
||||||
>;
|
>;
|
||||||
attachments: any;
|
|
||||||
maxTokens: unknown | number | undefined;
|
maxTokens: unknown | number | undefined;
|
||||||
messages: any;
|
messages: any;
|
||||||
model: string;
|
model: string;
|
||||||
env: Env;
|
env: Env;
|
||||||
tools: any;
|
|
||||||
},
|
},
|
||||||
dataCallback: (data) => void,
|
dataCallback: (data) => void,
|
||||||
) {
|
) {
|
||||||
@@ -35,15 +33,12 @@ export class CerebrasSdk {
|
|||||||
messages,
|
messages,
|
||||||
env,
|
env,
|
||||||
maxTokens,
|
maxTokens,
|
||||||
tools,
|
|
||||||
systemPrompt,
|
systemPrompt,
|
||||||
model,
|
model,
|
||||||
attachments,
|
|
||||||
} = param;
|
} = param;
|
||||||
|
|
||||||
const assistantPrompt = ChatSdk.buildAssistantPrompt({
|
const assistantPrompt = ChatSdk.buildAssistantPrompt({
|
||||||
maxTokens: maxTokens,
|
maxTokens: maxTokens,
|
||||||
tools: tools,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const safeMessages = ChatSdk.buildMessageChain(messages, {
|
const safeMessages = ChatSdk.buildMessageChain(messages, {
|
||||||
@@ -51,7 +46,6 @@ export class CerebrasSdk {
|
|||||||
model,
|
model,
|
||||||
assistantPrompt,
|
assistantPrompt,
|
||||||
toolResults: preprocessedContext,
|
toolResults: preprocessedContext,
|
||||||
attachments: attachments,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const openai = new OpenAI({
|
const openai = new OpenAI({
|
||||||
|
@@ -49,7 +49,6 @@ export class ClaudeChatSdk {
|
|||||||
param: {
|
param: {
|
||||||
openai: OpenAI;
|
openai: OpenAI;
|
||||||
systemPrompt: any;
|
systemPrompt: any;
|
||||||
disableWebhookGeneration: boolean;
|
|
||||||
preprocessedContext: ModelSnapshotType2<
|
preprocessedContext: ModelSnapshotType2<
|
||||||
ModelPropertiesDeclarationToProperties<{
|
ModelPropertiesDeclarationToProperties<{
|
||||||
role: ISimpleType<UnionStringArray<string[]>>;
|
role: ISimpleType<UnionStringArray<string[]>>;
|
||||||
@@ -57,12 +56,10 @@ export class ClaudeChatSdk {
|
|||||||
}>,
|
}>,
|
||||||
_NotCustomized
|
_NotCustomized
|
||||||
>;
|
>;
|
||||||
attachments: any;
|
|
||||||
maxTokens: unknown | number | undefined;
|
maxTokens: unknown | number | undefined;
|
||||||
messages: any;
|
messages: any;
|
||||||
model: string;
|
model: string;
|
||||||
env: Env;
|
env: Env;
|
||||||
tools: any;
|
|
||||||
},
|
},
|
||||||
dataCallback: (data) => void,
|
dataCallback: (data) => void,
|
||||||
) {
|
) {
|
||||||
@@ -71,15 +68,12 @@ export class ClaudeChatSdk {
|
|||||||
messages,
|
messages,
|
||||||
env,
|
env,
|
||||||
maxTokens,
|
maxTokens,
|
||||||
tools,
|
|
||||||
systemPrompt,
|
systemPrompt,
|
||||||
model,
|
model,
|
||||||
attachments,
|
|
||||||
} = param;
|
} = param;
|
||||||
|
|
||||||
const assistantPrompt = ChatSdk.buildAssistantPrompt({
|
const assistantPrompt = ChatSdk.buildAssistantPrompt({
|
||||||
maxTokens: maxTokens,
|
maxTokens: maxTokens,
|
||||||
tools: tools,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const safeMessages = ChatSdk.buildMessageChain(messages, {
|
const safeMessages = ChatSdk.buildMessageChain(messages, {
|
||||||
@@ -87,7 +81,6 @@ export class ClaudeChatSdk {
|
|||||||
model,
|
model,
|
||||||
assistantPrompt,
|
assistantPrompt,
|
||||||
toolResults: preprocessedContext,
|
toolResults: preprocessedContext,
|
||||||
attachments: attachments,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const anthropic = new Anthropic({
|
const anthropic = new Anthropic({
|
||||||
|
@@ -13,7 +13,6 @@ export class CloudflareAISdk {
|
|||||||
param: {
|
param: {
|
||||||
openai: OpenAI;
|
openai: OpenAI;
|
||||||
systemPrompt: any;
|
systemPrompt: any;
|
||||||
disableWebhookGeneration: boolean;
|
|
||||||
preprocessedContext: ModelSnapshotType2<
|
preprocessedContext: ModelSnapshotType2<
|
||||||
ModelPropertiesDeclarationToProperties<{
|
ModelPropertiesDeclarationToProperties<{
|
||||||
role: ISimpleType<UnionStringArray<string[]>>;
|
role: ISimpleType<UnionStringArray<string[]>>;
|
||||||
@@ -21,12 +20,10 @@ export class CloudflareAISdk {
|
|||||||
}>,
|
}>,
|
||||||
_NotCustomized
|
_NotCustomized
|
||||||
>;
|
>;
|
||||||
attachments: any;
|
|
||||||
maxTokens: unknown | number | undefined;
|
maxTokens: unknown | number | undefined;
|
||||||
messages: any;
|
messages: any;
|
||||||
model: string;
|
model: string;
|
||||||
env: Env;
|
env: Env;
|
||||||
tools: any;
|
|
||||||
},
|
},
|
||||||
dataCallback: (data) => void,
|
dataCallback: (data) => void,
|
||||||
) {
|
) {
|
||||||
@@ -35,22 +32,18 @@ export class CloudflareAISdk {
|
|||||||
messages,
|
messages,
|
||||||
env,
|
env,
|
||||||
maxTokens,
|
maxTokens,
|
||||||
tools,
|
|
||||||
systemPrompt,
|
systemPrompt,
|
||||||
model,
|
model,
|
||||||
attachments,
|
|
||||||
} = param;
|
} = param;
|
||||||
|
|
||||||
const assistantPrompt = ChatSdk.buildAssistantPrompt({
|
const assistantPrompt = ChatSdk.buildAssistantPrompt({
|
||||||
maxTokens: maxTokens,
|
maxTokens: maxTokens,
|
||||||
tools: tools,
|
|
||||||
});
|
});
|
||||||
const safeMessages = ChatSdk.buildMessageChain(messages, {
|
const safeMessages = ChatSdk.buildMessageChain(messages, {
|
||||||
systemPrompt: systemPrompt,
|
systemPrompt: systemPrompt,
|
||||||
model,
|
model,
|
||||||
assistantPrompt,
|
assistantPrompt,
|
||||||
toolResults: preprocessedContext,
|
toolResults: preprocessedContext,
|
||||||
attachments: attachments,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const cfAiURL = `https://api.cloudflare.com/client/v4/accounts/${env.CLOUDFLARE_ACCOUNT_ID}/ai/v1`;
|
const cfAiURL = `https://api.cloudflare.com/client/v4/accounts/${env.CLOUDFLARE_ACCOUNT_ID}/ai/v1`;
|
||||||
|
@@ -42,7 +42,6 @@ export class FireworksAiChatSdk {
|
|||||||
param: {
|
param: {
|
||||||
openai: OpenAI;
|
openai: OpenAI;
|
||||||
systemPrompt: any;
|
systemPrompt: any;
|
||||||
disableWebhookGeneration: boolean;
|
|
||||||
preprocessedContext: ModelSnapshotType2<
|
preprocessedContext: ModelSnapshotType2<
|
||||||
ModelPropertiesDeclarationToProperties<{
|
ModelPropertiesDeclarationToProperties<{
|
||||||
role: ISimpleType<UnionStringArray<string[]>>;
|
role: ISimpleType<UnionStringArray<string[]>>;
|
||||||
@@ -50,12 +49,10 @@ export class FireworksAiChatSdk {
|
|||||||
}>,
|
}>,
|
||||||
_NotCustomized
|
_NotCustomized
|
||||||
>;
|
>;
|
||||||
attachments: any;
|
|
||||||
maxTokens: number;
|
maxTokens: number;
|
||||||
messages: any;
|
messages: any;
|
||||||
model: any;
|
model: any;
|
||||||
env: Env;
|
env: Env;
|
||||||
tools: any;
|
|
||||||
},
|
},
|
||||||
dataCallback: (data) => void,
|
dataCallback: (data) => void,
|
||||||
) {
|
) {
|
||||||
@@ -64,15 +61,12 @@ export class FireworksAiChatSdk {
|
|||||||
messages,
|
messages,
|
||||||
env,
|
env,
|
||||||
maxTokens,
|
maxTokens,
|
||||||
tools,
|
|
||||||
systemPrompt,
|
systemPrompt,
|
||||||
model,
|
model,
|
||||||
attachments,
|
|
||||||
} = param;
|
} = param;
|
||||||
|
|
||||||
const assistantPrompt = ChatSdk.buildAssistantPrompt({
|
const assistantPrompt = ChatSdk.buildAssistantPrompt({
|
||||||
maxTokens: maxTokens,
|
maxTokens: maxTokens,
|
||||||
tools: tools,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const safeMessages = ChatSdk.buildMessageChain(messages, {
|
const safeMessages = ChatSdk.buildMessageChain(messages, {
|
||||||
@@ -80,7 +74,6 @@ export class FireworksAiChatSdk {
|
|||||||
model,
|
model,
|
||||||
assistantPrompt,
|
assistantPrompt,
|
||||||
toolResults: preprocessedContext,
|
toolResults: preprocessedContext,
|
||||||
attachments: attachments,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const fireworksOpenAIClient = new OpenAI({
|
const fireworksOpenAIClient = new OpenAI({
|
||||||
|
@@ -12,15 +12,12 @@ export class GoogleChatSdk {
|
|||||||
messages,
|
messages,
|
||||||
env,
|
env,
|
||||||
maxTokens,
|
maxTokens,
|
||||||
tools,
|
|
||||||
systemPrompt,
|
systemPrompt,
|
||||||
model,
|
model,
|
||||||
attachments,
|
|
||||||
} = param;
|
} = param;
|
||||||
|
|
||||||
const assistantPrompt = ChatSdk.buildAssistantPrompt({
|
const assistantPrompt = ChatSdk.buildAssistantPrompt({
|
||||||
maxTokens: maxTokens,
|
maxTokens: maxTokens,
|
||||||
tools: tools,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const safeMessages = ChatSdk.buildMessageChain(messages, {
|
const safeMessages = ChatSdk.buildMessageChain(messages, {
|
||||||
@@ -28,7 +25,6 @@ export class GoogleChatSdk {
|
|||||||
model,
|
model,
|
||||||
assistantPrompt,
|
assistantPrompt,
|
||||||
toolResults: preprocessedContext,
|
toolResults: preprocessedContext,
|
||||||
attachments: attachments,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const openai = new OpenAI({
|
const openai = new OpenAI({
|
||||||
|
@@ -13,7 +13,6 @@ export class GroqChatSdk {
|
|||||||
param: {
|
param: {
|
||||||
openai: OpenAI;
|
openai: OpenAI;
|
||||||
systemPrompt: any;
|
systemPrompt: any;
|
||||||
disableWebhookGeneration: boolean;
|
|
||||||
preprocessedContext: ModelSnapshotType2<
|
preprocessedContext: ModelSnapshotType2<
|
||||||
ModelPropertiesDeclarationToProperties<{
|
ModelPropertiesDeclarationToProperties<{
|
||||||
role: ISimpleType<UnionStringArray<string[]>>;
|
role: ISimpleType<UnionStringArray<string[]>>;
|
||||||
@@ -21,12 +20,10 @@ export class GroqChatSdk {
|
|||||||
}>,
|
}>,
|
||||||
_NotCustomized
|
_NotCustomized
|
||||||
>;
|
>;
|
||||||
attachments: any;
|
|
||||||
maxTokens: unknown | number | undefined;
|
maxTokens: unknown | number | undefined;
|
||||||
messages: any;
|
messages: any;
|
||||||
model: string;
|
model: string;
|
||||||
env: Env;
|
env: Env;
|
||||||
tools: any;
|
|
||||||
},
|
},
|
||||||
dataCallback: (data) => void,
|
dataCallback: (data) => void,
|
||||||
) {
|
) {
|
||||||
@@ -35,22 +32,18 @@ export class GroqChatSdk {
|
|||||||
messages,
|
messages,
|
||||||
env,
|
env,
|
||||||
maxTokens,
|
maxTokens,
|
||||||
tools,
|
|
||||||
systemPrompt,
|
systemPrompt,
|
||||||
model,
|
model,
|
||||||
attachments,
|
|
||||||
} = param;
|
} = param;
|
||||||
|
|
||||||
const assistantPrompt = ChatSdk.buildAssistantPrompt({
|
const assistantPrompt = ChatSdk.buildAssistantPrompt({
|
||||||
maxTokens: maxTokens,
|
maxTokens: maxTokens,
|
||||||
tools: tools,
|
|
||||||
});
|
});
|
||||||
const safeMessages = ChatSdk.buildMessageChain(messages, {
|
const safeMessages = ChatSdk.buildMessageChain(messages, {
|
||||||
systemPrompt: systemPrompt,
|
systemPrompt: systemPrompt,
|
||||||
model,
|
model,
|
||||||
assistantPrompt,
|
assistantPrompt,
|
||||||
toolResults: preprocessedContext,
|
toolResults: preprocessedContext,
|
||||||
attachments: attachments,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const openai = new OpenAI({
|
const openai = new OpenAI({
|
||||||
|
@@ -7,12 +7,9 @@ export class OpenAiChatSdk {
|
|||||||
openai: OpenAI;
|
openai: OpenAI;
|
||||||
systemPrompt: any;
|
systemPrompt: any;
|
||||||
preprocessedContext: any;
|
preprocessedContext: any;
|
||||||
attachments: any;
|
|
||||||
maxTokens: unknown | number | undefined;
|
maxTokens: unknown | number | undefined;
|
||||||
messages: any;
|
messages: any;
|
||||||
disableWebhookGeneration: boolean;
|
|
||||||
model: any;
|
model: any;
|
||||||
tools: any;
|
|
||||||
},
|
},
|
||||||
dataCallback: (data: any) => any,
|
dataCallback: (data: any) => any,
|
||||||
) {
|
) {
|
||||||
@@ -20,9 +17,7 @@ export class OpenAiChatSdk {
|
|||||||
openai,
|
openai,
|
||||||
systemPrompt,
|
systemPrompt,
|
||||||
maxTokens,
|
maxTokens,
|
||||||
tools,
|
|
||||||
messages,
|
messages,
|
||||||
attachments,
|
|
||||||
model,
|
model,
|
||||||
preprocessedContext,
|
preprocessedContext,
|
||||||
} = ctx;
|
} = ctx;
|
||||||
@@ -33,14 +28,12 @@ export class OpenAiChatSdk {
|
|||||||
|
|
||||||
const assistantPrompt = ChatSdk.buildAssistantPrompt({
|
const assistantPrompt = ChatSdk.buildAssistantPrompt({
|
||||||
maxTokens: maxTokens,
|
maxTokens: maxTokens,
|
||||||
tools: tools,
|
|
||||||
});
|
});
|
||||||
const safeMessages = ChatSdk.buildMessageChain(messages, {
|
const safeMessages = ChatSdk.buildMessageChain(messages, {
|
||||||
systemPrompt: systemPrompt,
|
systemPrompt: systemPrompt,
|
||||||
model,
|
model,
|
||||||
assistantPrompt,
|
assistantPrompt,
|
||||||
toolResults: preprocessedContext,
|
toolResults: preprocessedContext,
|
||||||
attachments: attachments,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return OpenAiChatSdk.streamOpenAiResponse(
|
return OpenAiChatSdk.streamOpenAiResponse(
|
||||||
|
@@ -7,13 +7,11 @@ export class XaiChatSdk {
|
|||||||
openai: OpenAI;
|
openai: OpenAI;
|
||||||
systemPrompt: any;
|
systemPrompt: any;
|
||||||
preprocessedContext: any;
|
preprocessedContext: any;
|
||||||
attachments: any;
|
|
||||||
maxTokens: unknown | number | undefined;
|
maxTokens: unknown | number | undefined;
|
||||||
messages: any;
|
messages: any;
|
||||||
disableWebhookGeneration: boolean;
|
disableWebhookGeneration: boolean;
|
||||||
model: any;
|
model: any;
|
||||||
env: Env;
|
env: Env;
|
||||||
tools: any;
|
|
||||||
},
|
},
|
||||||
dataCallback: (data: any) => any,
|
dataCallback: (data: any) => any,
|
||||||
) {
|
) {
|
||||||
@@ -21,7 +19,6 @@ export class XaiChatSdk {
|
|||||||
openai,
|
openai,
|
||||||
systemPrompt,
|
systemPrompt,
|
||||||
maxTokens,
|
maxTokens,
|
||||||
tools,
|
|
||||||
messages,
|
messages,
|
||||||
attachments,
|
attachments,
|
||||||
env,
|
env,
|
||||||
@@ -49,7 +46,6 @@ export class XaiChatSdk {
|
|||||||
|
|
||||||
const assistantPrompt = ChatSdk.buildAssistantPrompt({
|
const assistantPrompt = ChatSdk.buildAssistantPrompt({
|
||||||
maxTokens: maxTokens,
|
maxTokens: maxTokens,
|
||||||
tools: tools,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const safeMessages = ChatSdk.buildMessageChain(messages, {
|
const safeMessages = ChatSdk.buildMessageChain(messages, {
|
||||||
@@ -57,7 +53,6 @@ export class XaiChatSdk {
|
|||||||
model,
|
model,
|
||||||
assistantPrompt,
|
assistantPrompt,
|
||||||
toolResults: preprocessedContext,
|
toolResults: preprocessedContext,
|
||||||
attachments: attachments,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const xAiClient = new OpenAI({
|
const xAiClient = new OpenAI({
|
||||||
|
Reference in New Issue
Block a user