Giter Site home page Giter Site logo

piglei / ai-vocabulary-builder Goto Github PK

View Code? Open in Web Editor NEW
871.0 13.0 50.0 328 KB

一个使用了 AI 技术的智能生词本工具,特色功能:自动添加生词、读故事助记单词。

License: BSD 3-Clause "New" or "Revised" License

Python 83.34% Makefile 0.26% JavaScript 0.27% HTML 0.23% Vue 14.24% TypeScript 1.54% SCSS 0.12%

ai-vocabulary-builder's Issues

支持使用 Server 服务端模式启动

本工具如果需要和划词搜索等浏览器插件联动,必须通过 HTTP API 的方式对外提供服务。

  • 增加 aivoc server -d 命令,支持在后台启动服务器
  • 通过 HTTP API 提供翻译并添加生词接口(目前不支持重选)

在翻译时支持流式输出

当前,用户每次输入待翻译文字时,需要等待比较长的时间,等到 API 完全返回后才能看到输出。

但 OpenAI 的 API 实际上支持 stream 输出。借助该特性,工具可以实现当用户输入内容后,即刻开始打印整句翻译内容。

支持 Quiz(测试) 模式

  • 支持使用 aivoc quiz 命令进入测试模式
  • 用户选择本次测试的单词数量
  • 通过展示例句,隐藏原单词的方式,测试对单词的掌握程度
  • 最好做的有趣一点

【功能建议】建议增加符合“英语学习阶段”的功能

首先感谢开发者!

我觉可以实现一个强大的功能,可以期待一下。首先设定用户学习哪个阶段的单词,然后根据该阶段,比如高考、考研、四六级、雅思等等,来针对性给出真题例句。这样学习英语可能会高效一点。

支持使用 no 命令一次选择包括原词在内的多个单词

当前:

  • 用户输入 no 命令后,上一个被添加的生词会被丢弃(加入 known words)
  • 列出 3 个可能的生词,用户可从中挑选 1 个

期望:

  • 列出 3 个可能的生词,加上被丢弃的单词,共 4 个单词,用户可从中挑选多个

建议支持直接输入单词,然后就可以添加到生词本

希望可以支持输入单个单词或者多个单词,直接添加到生词本。
很多时候只想将不熟悉的单词保存到单词本,方便后续复习和查阅。
当前要求输入整个句子,有时提取的单词并不是想要添加的,而且整句翻译需要一定的时间。如果支持直接添加生词的话,感觉会更加贴合生词本的核心含义。

增加新命令 story:支持故事模式学习单词

当用户输入 story 指令后,AI 会翻译一段包含 6 个生词的小故事供用户阅读。

  • 故事中的生词应该以下划线标注
  • 阅读完成后,键入 enter 打印出所有生词的释义和原例句

当一个句子中存在多个生词

如题,对于一个英语句子我有好几个生词不认识,但是它只给出了我一个可能不认识的单词,我只能选择no抛弃这个选择另一个,但是目前这个单词也是我不认识的,我不想抛弃他,我想添加多个

支持使用 no 命令重选单词

当前,如果由 AI 返回的生词并非是用户所想的,用户只能通过不断重复提交原句来获取新的生词。

在交互模式中:

  • 增加 no 特殊指令
  • 接收到 no 指令后,撤回上一次添加的生词(追加到“已掌握单词”中)
  • 重新发送句子,并让 AI 只返回除原词外的另外三个可能得生词
  • 用户通过 Prompt 选择后,将词加入生词本

增加语言选择

建议增加语言选择, 英语,德语,法语,日语之类的

下载时提示不能找到对应版本

pip install ai-vocabulary-builder 命令始终无法正确运行
我尝试过换源,如下图
image
image

我使用的python版本是 3.7:
image

希望能得到解答,谢谢

FileExistsError: [WinError 183] Cannot create a file when that file already exists:

謝謝你解決了 #9 問題,爲了測驗功能完整性,我嘗試手動編輯選擇單詞,但遇到了問題:

当 Enter no 之后

> Enter text: no
"humbly" was discarded, preparing other words...
Traceback (most recent call last):
  File "C:\ProgramData\miniconda3\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\ProgramData\miniconda3\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\xxx\AppData\Roaming\Python\Python310\Scripts\aivoc.exe\__main__.py", line 7, in <module>
  File "C:\Users\xxx\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\xxx\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "C:\Users\xxx\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\xxx\AppData\Roaming\Python\Python310\site-packages\click\core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\xxx\AppData\Roaming\Python\Python310\site-packages\voc_builder\main.py", line 39, in main
    enter_interactive_mode()
  File "C:\Users\xxx\AppData\Roaming\Python\Python310\site-packages\voc_builder\interactive.py", line 75, in enter_interactive_mode
    handle_cmd_no()
  File "C:\Users\xxx\AppData\Roaming\Python\Python310\site-packages\voc_builder\interactive.py", line 96, in handle_cmd_no
    get_csv_builder().remove_words({ret.word_sample.word})
  File "C:\Users\xxx\AppData\Roaming\Python\Python310\site-packages\voc_builder\builder.py", line 103, in remove_words
    os.rename(new_path, self.file_path)
FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'C:\\Users\\xxx\\aivoc_builder.csv.new' -> 'C:\\Users\\xxx\\aivoc_builder.csv'

系統信息

  • Windows 11 22621
  • Python 3.10.8

能否增加命令行工具,便于跟其他软件集成

比如

aivoc trans "sample text to be translated"

这样可能便于跟类似Popclip这样的软件连接,也方便自动化程序调用。

可以考虑提供选项直接在stdout输出结果,或者提供识别结果的日志,此外,因为整个例句也都存入了,也相当于就是例句。唯一需要处理的是,自动化识别的唯一结果可能不是目标单词,也许可以加个行号或者其他index给这行,补充运行一下这一行就好。

生詞提取存在問題,能否提供手動單詞選擇 option

情況

图片

儅生詞提取為中文時,無法添加單詞至單詞本。


  • [ ] 那能否提供直接選擇 word 的參數? 因爲有些時候 response 太慢了,切換模式還不如我先行選擇。 😢

有時請求時間有點緩慢,如果能提供這個選項,是否會改進導入效果?
難道在 #15 的 GUI 中可以實現嗎?

我之前使用過 obsidian-language-learner,它利用了 i+1 等假説理論進行大量閲讀,類似於一款應用 LingQImmersion Reading

系統

  • Windows 11
  • Python 3.10.8

开发 Web 主界面:“提取生词”

低保真线框图:

image

预期技术:

  • Vue.js 实现前端
  • FastAPI 实现后端 API
  • 用户执行 aivoc notebook 启动本地服务器,自动打开浏览器进入首页

建议增加英文释义

一点小小的建议:考虑到中文英文并非完全能一一对应释义,尤其是通过中文释义很难辨析两个英文单词的区别。所以建议在生词释义中,增加英文释义(比如google dictionary? 不太确定google的这个服务是不是需要收费)。谢谢!

考虑增加 GUI 模式

综合权衡,感觉未来需要做一个 GUI 模式。优点:

  • 上手门槛更低,许多操作用 REPL 模式并不算直观
  • 和划词插件整合后,有一个 GUI 可以方便用户更便捷的操作最近添加的生词

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.