added correct envs
- env.yml needs fixing (not working) - ui.py still needs improvements
This commit is contained in:
@@ -0,0 +1,15 @@
|
|||||||
|
name: notecast-cpu-mps
|
||||||
|
channels:
|
||||||
|
- pytorch
|
||||||
|
- conda-forge
|
||||||
|
- defaults
|
||||||
|
- bioconda
|
||||||
|
dependencies:
|
||||||
|
- pytorch
|
||||||
|
- ffmpeg
|
||||||
|
- torchvision
|
||||||
|
- torchaudio
|
||||||
|
- transformers
|
||||||
|
- python=3.12
|
||||||
|
- customtkinter
|
||||||
|
- openai
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
name: notecast-cuda
|
||||||
|
channels:
|
||||||
|
- pytorch
|
||||||
|
- nvidia
|
||||||
|
- conda-forge
|
||||||
|
- bioconda
|
||||||
|
dependencies:
|
||||||
|
- pytorch
|
||||||
|
- ffmpeg
|
||||||
|
- torchvision
|
||||||
|
- torchaudio
|
||||||
|
- transformers
|
||||||
|
- python=3.12
|
||||||
|
- customtkinter
|
||||||
|
- openai
|
||||||
@@ -370,11 +370,13 @@ class TranscriberApp(ctk.CTk):
|
|||||||
debug_api_model_var: str = self.api_model_var.get() if self.api_model_var.get() else "Not set"
|
debug_api_model_var: str = self.api_model_var.get() if self.api_model_var.get() else "Not set"
|
||||||
debug_base_url_var: str = self.base_url_var.get() if self.base_url_var.get() else "Not set"
|
debug_base_url_var: str = self.base_url_var.get() if self.base_url_var.get() else "Not set"
|
||||||
debug_transcription_lang_var = self.transcription_lang_var.get() if self.transcription_lang_var.get() else "Not set"
|
debug_transcription_lang_var = self.transcription_lang_var.get() if self.transcription_lang_var.get() else "Not set"
|
||||||
|
debug_custom_prompt_var: str = self.custom_prompt_textbox.get() if self.custom_prompt_textbox.get() else "Not set"
|
||||||
|
|
||||||
self.ui_logger.info(f"===== LLM Setting =====")
|
self.ui_logger.info(f"===== LLM Setting =====")
|
||||||
self.ui_logger.info(f"API key: {debug_api_key_var}")
|
self.ui_logger.info(f"API key: {debug_api_key_var}")
|
||||||
self.ui_logger.info(f"Model name setting: {debug_api_model_var}")
|
self.ui_logger.info(f"Model name setting: {debug_api_model_var}")
|
||||||
self.ui_logger.info(f"Base URL setting: {debug_base_url_var}")
|
self.ui_logger.info(f"Base URL setting: {debug_base_url_var}")
|
||||||
|
# self.ui_logger.info(f"Custom prompt: {debug_transcription_lang_var}") # <-- issue here
|
||||||
self.ui_logger.info(f"=======================")
|
self.ui_logger.info(f"=======================")
|
||||||
|
|
||||||
|
|
||||||
@@ -432,11 +434,18 @@ class TranscriberApp(ctk.CTk):
|
|||||||
if self.create_conspect.get():
|
if self.create_conspect.get():
|
||||||
# TODO: add custom prompt ability here
|
# TODO: add custom prompt ability here
|
||||||
# TODO: add logging here
|
# TODO: add logging here
|
||||||
|
# TODO: add progressbar instead of tqdm
|
||||||
self.ui_logger.info(f"Starting creating conspect via {self.api_model_var.get()}...")
|
self.ui_logger.info(f"Starting creating conspect via {self.api_model_var.get()}...")
|
||||||
with open("utils/default_prompt.json", "r", encoding="utf-8") as f:
|
with open("utils/default_prompt.txt", "r", encoding="utf-8") as f:
|
||||||
default_prompt = json.load(f)["prompt"]
|
default_prompt = "\n".join(f.readlines())
|
||||||
|
|
||||||
prompt = transcription + default_prompt # if custom prompt is empty do something
|
# if self.custom_prompt_textbox.get(): # <-- issue here
|
||||||
|
# prompt = transcription + "\n" + self.custom_prompt_textbox.get()
|
||||||
|
# else:
|
||||||
|
# prompt = transcription + "\n" + default_prompt
|
||||||
|
|
||||||
|
prompt = transcription + "\n" + default_prompt
|
||||||
|
|
||||||
request = LLMrequest(
|
request = LLMrequest(
|
||||||
api_key=self.api_key_var.get(),
|
api_key=self.api_key_var.get(),
|
||||||
model_name=self.api_model_var.get(),
|
model_name=self.api_model_var.get(),
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"prompt": "Используй ТОЛЬКО текст из транскрибации. Любая информация, которой нет в транскрибации, запрещена. Если какой-то факт или определение раскрыт не до конца, или лектор сказал что-то неполно, или тему нужно дополнить для лучшего понимания — вставляй дополнение сразу в нужное место, но только под отдельной подписью: AI overview: текст дополнения (confidence: low|medium|high) Ответ должен быть строго в формате Markdown (.md). Никаких 'привет', 'вот результат' и т. п. — только готовый текст. Все цитаты из транскрибации — буквально, максимум 25 слов подряд."
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
Используй **исключительно текст из транскрибации** как первоисточник.
|
||||||
|
Разрешается расширять тему и объяснять глубже, но **дополнительная информация должна быть строго отделена и явно помечена**.
|
||||||
|
|
||||||
|
### Цель
|
||||||
|
|
||||||
|
Создать структурированную, полный образовательный конспект лекции **формата Obsidian Markdown**, который:
|
||||||
|
|
||||||
|
* воспроизводит информацию из транскрибата максимально точно
|
||||||
|
* дополняет и разъясняет сложные моменты
|
||||||
|
* превращает речь в ясный учебный материал
|
||||||
|
* сохраняет смысл, порядок, и логическую структуру лектора
|
||||||
|
* улучшает академичность и связность
|
||||||
|
|
||||||
|
### Правила работы с транскриптом
|
||||||
|
|
||||||
|
* Используй только факты из транскрибации как основу.
|
||||||
|
* **Не выдумывай факты**, которых не было.
|
||||||
|
* **Дополнительные пояснения допустимы**, но строго в спец-блоках (см. ниже).
|
||||||
|
* Цитаты из оригинального текста — **дослівно**, максимум **25 слов подряд**.
|
||||||
|
* Нельзя писать «лектор сказал», «в тексте было» — пишем как учебный материал.
|
||||||
|
|
||||||
|
### Блоки для расширений
|
||||||
|
|
||||||
|
Если нужно объяснить термин, дополнить концепцию, исправить недосказанность — используй:
|
||||||
|
|
||||||
|
```
|
||||||
|
> AI clarification:
|
||||||
|
> Ваше дополнение, объяснение, аналогия или расширение темы.
|
||||||
|
```
|
||||||
|
|
||||||
|
Для коротких определений:
|
||||||
|
|
||||||
|
```
|
||||||
|
**AI note:** краткое пояснение
|
||||||
|
```
|
||||||
|
|
||||||
|
### Обязательная структура результата
|
||||||
|
|
||||||
|
```
|
||||||
|
# Название темы
|
||||||
|
|
||||||
|
## Ключевые идеи
|
||||||
|
- маркеры
|
||||||
|
- …
|
||||||
|
|
||||||
|
## Основные понятия и определения
|
||||||
|
- **Термин** — определение
|
||||||
|
- …
|
||||||
|
|
||||||
|
## Подробный конспект
|
||||||
|
(структура, логика, абзацы, тезисы)
|
||||||
|
|
||||||
|
> Цитаты (≤25 слов)
|
||||||
|
|
||||||
|
## Примеры и объяснения
|
||||||
|
- собственные пересказанные примеры из транскрибации
|
||||||
|
- при необходимости:
|
||||||
|
> AI clarification
|
||||||
|
|
||||||
|
## Выводы и ключевые инсайты
|
||||||
|
- …
|
||||||
|
|
||||||
|
## Вопросы для самопроверки
|
||||||
|
- …
|
||||||
|
```
|
||||||
|
|
||||||
|
### Обязательный формат Obsidian Markdown
|
||||||
|
|
||||||
|
Используй следующие возможности Obsidian:
|
||||||
|
|
||||||
|
| Элемент | Формат |
|
||||||
|
| ----------------- | ----------------------------------------- |
|
||||||
|
| Заголовки | `#`, `##`, `###` |
|
||||||
|
| Цитаты | `>` |
|
||||||
|
| Списки | `-` и `1.` |
|
||||||
|
| Врезка/внимание | `> [!note]` `> [!tip]` |
|
||||||
|
| Код/формулы | `\`…`` и блоки ``` |
|
||||||
|
| Выделение | `**жирный**`, `_курсив_`, `==выделение==` |
|
||||||
|
| Внутренние ссылки | `[[Термин]]` если термин важный |
|
||||||
|
| Таблицы | стандартные markdown таблицы |
|
||||||
|
| Чек-лист | `- [ ]` |
|
||||||
|
| Формулы | Для однострочных формул используй $ formula $. Для мультистрочных формул используй $$ formula $$ |
|
||||||
|
|
||||||
|
**Не добавляй** приветствий, заключений, обращений, пояснений формата. Только готовый md-текст.
|
||||||
Reference in New Issue
Block a user