fix(danisman): M3 (7) — modele giden pencere tutarlı olsun
Cevapsız kalmış (iade edilmiş) sorular art arda user mesajı olarak, sayıyla kesilen pencere de danışman mesajıyla başlayarak gidiyordu. modelPenceresi baştaki danışman mesajlarını atar, art arda aynı rolü tek mesajda birleştirir. Pencere sorgusuna rowid sıralaması eklendi (created_at saniye çözünürlüklü). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { eq, desc } from "drizzle-orm";
|
||||
import { eq, desc, sql } from "drizzle-orm";
|
||||
import type { NextRequest } from "next/server";
|
||||
import { getSession } from "@/lib/session";
|
||||
import { appDb, schema } from "@/lib/appdb";
|
||||
@@ -14,6 +14,7 @@ import { kullanicininRaporu, sohbetGecmisiGetir } from "@/features/rapor/rapor-q
|
||||
import type { AracBaglami } from "@/lib/ai/araclar";
|
||||
import { danismanAkisi } from "@/lib/ai/sohbet-akisi";
|
||||
import { sistemPromptu } from "@/lib/ai/danisman-prompt";
|
||||
import { modelPenceresi } from "@/lib/ai/sohbet-gecmisi";
|
||||
import { profilGetir } from "@/lib/danisman-profil-db";
|
||||
import { listeOzetiCikar } from "@/lib/ai/rapor";
|
||||
import type { RaporSonuc } from "@/features/rapor/types/rapor";
|
||||
@@ -109,7 +110,7 @@ export async function POST(request: NextRequest) {
|
||||
.select()
|
||||
.from(schema.chatMessages)
|
||||
.where(eq(schema.chatMessages.userId, session.user.id))
|
||||
.orderBy(desc(schema.chatMessages.createdAt))
|
||||
.orderBy(desc(schema.chatMessages.createdAt), sql`rowid DESC`)
|
||||
.limit(MAX_GECMIS),
|
||||
appDb.query.user.findFirst({
|
||||
where: eq(schema.user.id, session.user.id),
|
||||
@@ -234,13 +235,9 @@ export async function POST(request: NextRequest) {
|
||||
);
|
||||
}
|
||||
|
||||
const mesajlar = [
|
||||
...gecmis.map((m) => ({
|
||||
role: m.role as "user" | "assistant",
|
||||
content: m.content,
|
||||
})),
|
||||
{ role: "user" as const, content: mesaj },
|
||||
];
|
||||
// Cevapsız kalmış (iade edilmiş) sorular ve danışmanla başlayan pencere
|
||||
// modele bozuk sıra göndermesin
|
||||
const mesajlar = modelPenceresi(gecmis, mesaj);
|
||||
|
||||
const userId = session.user.id;
|
||||
const cevabiKaydet = (metin: string) =>
|
||||
|
||||
Reference in New Issue
Block a user