Я пишу генеративный инструмент AI Corpus и AI Vocal Analysis, который предназначен для тренировки голоса людей и предоставления обратной связи. Я использую qwen4b-instruct в качестве LLM, и он очень хорошо подсказал, однако мой конвейер выглядит следующим образом. Корпус > Wiki-данные > LLM с изменением маршрута, откатом и защитой. Клянусь, я закончил на 99,5%, и у меня есть собеседование, на котором я сказал, что продемонстрирую этот проект, однако все работает, но JS печатает не по порядку. У меня есть две версии: глючная, но более последовательная резервная копия, записывающая сообщения в правильном порядке, и полнофункциональный ИИ, который заменяет один и тот же пузырь слов снова и снова.
В обоих кодах я использую
function onSendMessage(textRaw) {
if (!textRaw || !textRaw.trim()) return;
appendMessage(textRaw, 'user');
showTypingIndicator();
const interp = interpretUserText(textRaw);
const artist = extractArtistName(textRaw);
setTimeout(async () => {
removeTypingIndicator();
if (!CORPUS_READY && corpusPromise) await corpusPromise;
if (artist) {
const facts =
(await fetchArtistFactsWikidataSearch(artist)) ||
getArtistFactsMock(artist);
const intent = interp.wants_style ? "style_compare" : "artist_info";
const corpusLine = getResponseByIntent(intent, {
artist: facts?.name || artist
});
appendMessage(corpusLine, "coach");
if (USE_LLM) {
const prompt = buildLLMPrompt({
userText: textRaw,
intent,
corpusLine,
artistFacts: facts
});
// Optional: shadow prompt logging (your flag)
if (SHADOW_LLM) {
console.group("🜂 Shadow LLM Prompt");
console.log(prompt);
console.groupEnd();
}
callLLM(prompt).then(llmReply => {
if (llmReply && llmReply.trim()) {
updateLastCoachMessage(
[
corpusLine,
facts?.description ? `\n\n${facts.description}` : "",
llmReply
].filter(Boolean).join("\n\n")
);
}
});
}
return;
}
if (interp.technique) {
const corpusLine = getResponseByIntent("technique_coaching", {
technique: interp.technique
});
appendMessage(corpusLine, "coach");
if (USE_LLM) {
const prompt = buildLLMPrompt({
userText: textRaw,
intent: "technique_coaching",
corpusLine,
artistFacts: null
});
if (SHADOW_LLM) {
console.group("🜂 Shadow LLM Prompt");
console.log(prompt);
console.groupEnd();
}
callLLM(prompt).then(llmReply => {
if (llmReply && llmReply.trim()) {
updateLastCoachMessage(llmReply);
}
});
}
return;
}
const corpusLine = getResponseByIntent("metal_fallback");
appendMessage(corpusLine, "coach");
if (USE_LLM) {
const prompt = buildLLMPrompt({
userText: textRaw,
intent: "metal_fallback",
corpusLine,
artistFacts: null
});
if (SHADOW_LLM) {
console.group("🜂 Shadow LLM Prompt");
console.log(prompt);
console.groupEnd();
}
callLLM(prompt).then(llmReply => {
if (llmReply && llmReply.trim()) {
updateLastCoachMessage(llmReply);
}
});
}
}, 900);
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... rect-order
Как расположить всплывающие окна чата Corpus+LLM в правильном порядке? ⇐ Html
Программисты Html
1766389837
Anonymous
Я пишу генеративный инструмент AI Corpus и AI Vocal Analysis, который предназначен для тренировки голоса людей и предоставления обратной связи. Я использую qwen4b-instruct в качестве LLM, и он очень хорошо подсказал, однако мой конвейер выглядит следующим образом. Корпус > Wiki-данные > LLM с изменением маршрута, откатом и защитой. Клянусь, я закончил на 99,5%, и у меня есть собеседование, на котором я сказал, что продемонстрирую этот проект, однако все работает, но JS печатает не по порядку. У меня есть две версии: глючная, но более последовательная резервная копия, записывающая сообщения в правильном порядке, и полнофункциональный ИИ, который заменяет один и тот же пузырь слов снова и снова.
В обоих кодах я использую
function onSendMessage(textRaw) {
if (!textRaw || !textRaw.trim()) return;
appendMessage(textRaw, 'user');
showTypingIndicator();
const interp = interpretUserText(textRaw);
const artist = extractArtistName(textRaw);
setTimeout(async () => {
removeTypingIndicator();
if (!CORPUS_READY && corpusPromise) await corpusPromise;
if (artist) {
const facts =
(await fetchArtistFactsWikidataSearch(artist)) ||
getArtistFactsMock(artist);
const intent = interp.wants_style ? "style_compare" : "artist_info";
const corpusLine = getResponseByIntent(intent, {
artist: facts?.name || artist
});
appendMessage(corpusLine, "coach");
if (USE_LLM) {
const prompt = buildLLMPrompt({
userText: textRaw,
intent,
corpusLine,
artistFacts: facts
});
// Optional: shadow prompt logging (your flag)
if (SHADOW_LLM) {
console.group("🜂 Shadow LLM Prompt");
console.log(prompt);
console.groupEnd();
}
callLLM(prompt).then(llmReply => {
if (llmReply && llmReply.trim()) {
updateLastCoachMessage(
[
corpusLine,
facts?.description ? `\n\n${facts.description}` : "",
llmReply
].filter(Boolean).join("\n\n")
);
}
});
}
return;
}
if (interp.technique) {
const corpusLine = getResponseByIntent("technique_coaching", {
technique: interp.technique
});
appendMessage(corpusLine, "coach");
if (USE_LLM) {
const prompt = buildLLMPrompt({
userText: textRaw,
intent: "technique_coaching",
corpusLine,
artistFacts: null
});
if (SHADOW_LLM) {
console.group("🜂 Shadow LLM Prompt");
console.log(prompt);
console.groupEnd();
}
callLLM(prompt).then(llmReply => {
if (llmReply && llmReply.trim()) {
updateLastCoachMessage(llmReply);
}
});
}
return;
}
const corpusLine = getResponseByIntent("metal_fallback");
appendMessage(corpusLine, "coach");
if (USE_LLM) {
const prompt = buildLLMPrompt({
userText: textRaw,
intent: "metal_fallback",
corpusLine,
artistFacts: null
});
if (SHADOW_LLM) {
console.group("🜂 Shadow LLM Prompt");
console.log(prompt);
console.groupEnd();
}
callLLM(prompt).then(llmReply => {
if (llmReply && llmReply.trim()) {
updateLastCoachMessage(llmReply);
}
});
}
}, 900);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79852692/how-to-reorder-corpusllm-chat-bubbles-in-the-correct-order[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия