Spaces:
Running
Running
fix preview
Browse files- app/api/ask/route.ts +4 -10
- components/editor/preview/index.tsx +2 -2
- hooks/useAi.ts +14 -11
- lib/providers.ts +8 -8
app/api/ask/route.ts
CHANGED
|
@@ -125,6 +125,7 @@ export async function POST(request: NextRequest) {
|
|
| 125 |
...(selectedModel.top_k ? { top_k: selectedModel.top_k } : {}),
|
| 126 |
...(selectedModel.temperature ? { temperature: selectedModel.temperature } : {}),
|
| 127 |
...(selectedModel.top_p ? { top_p: selectedModel.top_p } : {}),
|
|
|
|
| 128 |
},
|
| 129 |
billTo ? { billTo } : {}
|
| 130 |
);
|
|
@@ -281,7 +282,7 @@ export async function PUT(request: NextRequest) {
|
|
| 281 |
? FOLLOW_UP_SYSTEM_PROMPT_LIGHT
|
| 282 |
: FOLLOW_UP_SYSTEM_PROMPT;
|
| 283 |
const systemPrompt = basePrompt + (isNew ? PROMPT_FOR_PROJECT_NAME : "");
|
| 284 |
-
const userContext = "You are modifying the HTML file based on the user's request.";
|
| 285 |
|
| 286 |
const allPages = pages || [];
|
| 287 |
const pagesContext = allPages
|
|
@@ -299,15 +300,7 @@ export async function PUT(request: NextRequest) {
|
|
| 299 |
messages: [
|
| 300 |
{
|
| 301 |
role: "system",
|
| 302 |
-
content: systemPrompt
|
| 303 |
-
},
|
| 304 |
-
{
|
| 305 |
-
role: "user",
|
| 306 |
-
content: userContext,
|
| 307 |
-
},
|
| 308 |
-
{
|
| 309 |
-
role: "assistant",
|
| 310 |
-
content: assistantContext,
|
| 311 |
},
|
| 312 |
{
|
| 313 |
role: "user",
|
|
@@ -317,6 +310,7 @@ export async function PUT(request: NextRequest) {
|
|
| 317 |
...(selectedModel.top_k ? { top_k: selectedModel.top_k } : {}),
|
| 318 |
...(selectedModel.temperature ? { temperature: selectedModel.temperature } : {}),
|
| 319 |
...(selectedModel.top_p ? { top_p: selectedModel.top_p } : {}),
|
|
|
|
| 320 |
},
|
| 321 |
billTo ? { billTo } : {}
|
| 322 |
);
|
|
|
|
| 125 |
...(selectedModel.top_k ? { top_k: selectedModel.top_k } : {}),
|
| 126 |
...(selectedModel.temperature ? { temperature: selectedModel.temperature } : {}),
|
| 127 |
...(selectedModel.top_p ? { top_p: selectedModel.top_p } : {}),
|
| 128 |
+
max_tokens: 32000,
|
| 129 |
},
|
| 130 |
billTo ? { billTo } : {}
|
| 131 |
);
|
|
|
|
| 282 |
? FOLLOW_UP_SYSTEM_PROMPT_LIGHT
|
| 283 |
: FOLLOW_UP_SYSTEM_PROMPT;
|
| 284 |
const systemPrompt = basePrompt + (isNew ? PROMPT_FOR_PROJECT_NAME : "");
|
| 285 |
+
// const userContext = "You are modifying the HTML file based on the user's request.";
|
| 286 |
|
| 287 |
const allPages = pages || [];
|
| 288 |
const pagesContext = allPages
|
|
|
|
| 300 |
messages: [
|
| 301 |
{
|
| 302 |
role: "system",
|
| 303 |
+
content: systemPrompt + assistantContext
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 304 |
},
|
| 305 |
{
|
| 306 |
role: "user",
|
|
|
|
| 310 |
...(selectedModel.top_k ? { top_k: selectedModel.top_k } : {}),
|
| 311 |
...(selectedModel.temperature ? { temperature: selectedModel.temperature } : {}),
|
| 312 |
...(selectedModel.top_p ? { top_p: selectedModel.top_p } : {}),
|
| 313 |
+
max_tokens: 32000,
|
| 314 |
},
|
| 315 |
billTo ? { billTo } : {}
|
| 316 |
);
|
components/editor/preview/index.tsx
CHANGED
|
@@ -797,10 +797,10 @@ export const Preview = ({
|
|
| 797 |
)}
|
| 798 |
src={
|
| 799 |
currentCommit && project?.space_id && !project?.private
|
| 800 |
-
? `https://${project
|
| 801 |
"/",
|
| 802 |
"-"
|
| 803 |
-
)}.static.hf.space`
|
| 804 |
: undefined
|
| 805 |
}
|
| 806 |
srcDoc={
|
|
|
|
| 797 |
)}
|
| 798 |
src={
|
| 799 |
currentCommit && project?.space_id && !project?.private
|
| 800 |
+
? `https://${project?.space_id?.replaceAll(
|
| 801 |
"/",
|
| 802 |
"-"
|
| 803 |
+
)}--rev-${currentCommit.slice(0, 7)}.static.hf.space`
|
| 804 |
: undefined
|
| 805 |
}
|
| 806 |
srcDoc={
|
hooks/useAi.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { MODELS } from "@/lib/providers";
|
|
| 7 |
import { useEditor } from "./useEditor";
|
| 8 |
import { Page, EnhancedSettings } from "@/types";
|
| 9 |
import { api } from "@/lib/api";
|
| 10 |
-
import { useRouter } from "next/navigation";
|
| 11 |
import { useUser } from "./useUser";
|
| 12 |
import { isTheSameHtml } from "@/lib/compare-html-diff";
|
| 13 |
|
|
@@ -20,6 +20,9 @@ export const useAi = (onScrollToBottom?: () => void) => {
|
|
| 20 |
const [storageModel, setStorageModel] = useLocalStorage("model", MODELS[0].value);
|
| 21 |
const router = useRouter();
|
| 22 |
const { token } = useUser();
|
|
|
|
|
|
|
|
|
|
| 23 |
const streamingPagesRef = useRef<Set<string>>(new Set());
|
| 24 |
|
| 25 |
const { data: isAiWorking = false } = useQuery({
|
|
@@ -382,15 +385,15 @@ export const useAi = (onScrollToBottom?: () => void) => {
|
|
| 382 |
contentResponse = contentResponse.replace(/<think>[\s\S]*?<\/think>/, '').trim();
|
| 383 |
}
|
| 384 |
|
| 385 |
-
const metadataMatch = contentResponse.match(/___METADATA_START___([\s\S]*?)___METADATA_END___/);
|
| 386 |
-
if (metadataMatch) {
|
| 387 |
-
|
| 388 |
-
|
| 389 |
-
|
| 390 |
-
|
| 391 |
-
|
| 392 |
-
|
| 393 |
-
}
|
| 394 |
|
| 395 |
const trimmedResponse = contentResponse.trim();
|
| 396 |
if (trimmedResponse.startsWith("{") && trimmedResponse.endsWith("}")) {
|
|
@@ -436,7 +439,7 @@ export const useAi = (onScrollToBottom?: () => void) => {
|
|
| 436 |
}
|
| 437 |
|
| 438 |
try {
|
| 439 |
-
const uploadRequest = await fetch(`/deepsite/api/me/projects/${
|
| 440 |
method: "PUT",
|
| 441 |
body: JSON.stringify({
|
| 442 |
pages: mergedPages,
|
|
|
|
| 7 |
import { useEditor } from "./useEditor";
|
| 8 |
import { Page, EnhancedSettings } from "@/types";
|
| 9 |
import { api } from "@/lib/api";
|
| 10 |
+
import { usePathname, useRouter } from "next/navigation";
|
| 11 |
import { useUser } from "./useUser";
|
| 12 |
import { isTheSameHtml } from "@/lib/compare-html-diff";
|
| 13 |
|
|
|
|
| 20 |
const [storageModel, setStorageModel] = useLocalStorage("model", MODELS[0].value);
|
| 21 |
const router = useRouter();
|
| 22 |
const { token } = useUser();
|
| 23 |
+
const pathname = usePathname();
|
| 24 |
+
const namespace = pathname.split("/")[1];
|
| 25 |
+
const repoId = pathname.split("/")[2];
|
| 26 |
const streamingPagesRef = useRef<Set<string>>(new Set());
|
| 27 |
|
| 28 |
const { data: isAiWorking = false } = useQuery({
|
|
|
|
| 385 |
contentResponse = contentResponse.replace(/<think>[\s\S]*?<\/think>/, '').trim();
|
| 386 |
}
|
| 387 |
|
| 388 |
+
// const metadataMatch = contentResponse.match(/___METADATA_START___([\s\S]*?)___METADATA_END___/);
|
| 389 |
+
// if (metadataMatch) {
|
| 390 |
+
// try {
|
| 391 |
+
// metadata = JSON.parse(metadataMatch[1]);
|
| 392 |
+
// contentResponse = contentResponse.replace(/___METADATA_START___[\s\S]*?___METADATA_END___/, '').trim();
|
| 393 |
+
// } catch (e) {
|
| 394 |
+
// console.error("Failed to parse metadata", e);
|
| 395 |
+
// }
|
| 396 |
+
// }
|
| 397 |
|
| 398 |
const trimmedResponse = contentResponse.trim();
|
| 399 |
if (trimmedResponse.startsWith("{") && trimmedResponse.endsWith("}")) {
|
|
|
|
| 439 |
}
|
| 440 |
|
| 441 |
try {
|
| 442 |
+
const uploadRequest = await fetch(`/deepsite/api/me/projects/${namespace ?? 'unknown'}/${repoId ?? 'unknown'}/update`, {
|
| 443 |
method: "PUT",
|
| 444 |
body: JSON.stringify({
|
| 445 |
pages: mergedPages,
|
lib/providers.ts
CHANGED
|
@@ -96,14 +96,14 @@ export const MODELS = [
|
|
| 96 |
// logo: KimiLogo,
|
| 97 |
// companyName: "Kimi",
|
| 98 |
// },
|
| 99 |
-
{
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
},
|
| 107 |
{
|
| 108 |
value: "zai-org/GLM-4.6",
|
| 109 |
label: "GLM-4.6",
|
|
|
|
| 96 |
// logo: KimiLogo,
|
| 97 |
// companyName: "Kimi",
|
| 98 |
// },
|
| 99 |
+
// {
|
| 100 |
+
// value: "moonshotai/Kimi-K2-Thinking",
|
| 101 |
+
// label: "Kimi K2 Thinking",
|
| 102 |
+
// logo: KimiLogo,
|
| 103 |
+
// companyName: "Kimi",
|
| 104 |
+
// isNew: true,
|
| 105 |
+
// temperature: 1.0,
|
| 106 |
+
// },
|
| 107 |
{
|
| 108 |
value: "zai-org/GLM-4.6",
|
| 109 |
label: "GLM-4.6",
|