前言

都说技术服务于业务,对我个人而言可能谈不上有什么业务,但是确实有一些个人的需求。我很喜欢C#也很喜欢WPF,最近刚学了Stylet这个框架,就想着先试着用它搞一个解决自己阅读英文文献一些小需求的小工具,现在开源出来,希望也能帮助到跟我有一样需求的朋友。

Rouyan介绍

Rouyan是一个使用WPF/C#构建的基于LLM的快捷翻译(也能自定义其它功能)的小工具。

Rouyan的简介是Less Copying,More Convenience,说实话实现的功能用ChatBox类工具如CherryStudio也都能实现,所以没什么特别的,只是对我而言有些场景减少了复制粘贴。接下来我将以自己的使用场景来介绍Rouyan的功能。

1、直接翻译到文件

有时候我们会想把翻译内容直接保存到一个文件,使用ChatBox类工具流程可能是这样的:

flowchart LR
A[复制原始文本] -->B[粘贴到ChatBox]
B --> C[获取LLM返回内容]
C --> D[复制翻译文本]
D --> E[粘贴到文件]

使用Rouyan的流程是这样的:

flowchart LR
A[复制原始文本] -->B[按下快捷键]
B --> C[翻译内容到文件]

实际使用过程

打开Rouyan,先选择翻译内容要保存至的文件:

复制想要翻译的文本:

按下Tab + K快捷键:

出现等待窗体:

翻译内容直接写入文件:

2、直接流式显示

有时候不需要保存至文件,比如我们只是想知道这段话是什么意思即可。

还是一样复制文本,按下Tab + L即可流式显示翻译内容:

3、解释图表

有时候光有LLM还不够,还需要VLM,比如解释图表的功能。

随便截图一张:

按下Tab + D流式解释图表内容:

当然你也可以扩展自己的功能,目前Rouyan的设计是这样的,总共有8个快捷键绑定,可以从关于页面看到:

如何增加基于提示词的扩展功能

接下来我将向大家介绍一下如何扩展自定义的功能。

比如在看英文文献的时候,遇到不懂的单词,想要选中可以解释意思。

首先我们看当前Rouyan的提示词管理:

打开PromptConfig.txt:

这里配置了LLM与VLM的两个提示词分别是什么。

现在我们在LLMPrompts新增一个03.txt:

打开Rouyan来到提示词管理界面:

可以看到我们刚刚增加的提示词,然后将其设置为LLM提示词2。

会发现PromptConfig.txt中已经改了:

现在按Tab + I即可使用了:

Rouyan安装使用

Rouyan提供两种方式安装,一种直接压缩包解压,一种安装包安装。

Rouyan开源地址:https://github.com/Ming-jiayou/Rouyan

下载地址:https://github.com/Ming-jiayou/Rouyan/releases/tag/Rouyan-v1.0.0

第一个包含了.net8框架,剩下两个不包含,如果提示没有安装.net8,安装一下即可。

推荐使用下面那两个不包含框架的。

如果不方便访问GitHub,可以向公众号发送Rouyan,获取网盘链接。

在设置页面填入apikey即可,如果没有额度,可以使用免费模型,智谱有免费的LLM与VLM可以用。

Rouyan:使用WPF/C#构建的基于LLM的快捷翻译小工具的更多相关文章

  1. WPF学习12:基于MVVM Light 制作图形编辑工具(3)

    本文是WPF学习11:基于MVVM Light 制作图形编辑工具(2)的后续 这一次的目标是完成 两个任务. 本节完成后的效果: 本文分为三个部分: 1.对之前代码不合理的地方重新设计. 2.图形可选 ...

  2. WPF学习11:基于MVVM Light 制作图形编辑工具(2)

    本文是WPF学习10:基于MVVM Light 制作图形编辑工具(1)的后续 这一次的目标是完成 两个任务. 画布 效果: 画布上,选择的方案是:直接以Image作为画布,使用RenderTarget ...

  3. 基于百度通用翻译API的一个翻译小工具

    前几天写了一个简单的翻译小工具,是基于有道翻译的,不过那个翻译接口有访问限制,超过一定次数后会提示访问过于频繁,偶然发现百度翻译API如果月翻译字符少于200万是不收取费用的,所以就注册了一个百度开发 ...

  4. WPF学习10:基于MVVM Light 制作图形编辑工具(1)

    图形编辑器的功能如下图所示: 除了MVVM Light 框架是一个新东西之外,本文所涉及内容之前的WPF学习0-9基本都有相关介绍. 本节中,将搭建编辑器的界面,搭建MVVM Light 框架的使用环 ...

  5. 基于web端去除空格小工具

    读论文时,不时需要抓取PDF版的段落,可是复制到word的时候会出现很多空格,利用javascript强大的功能,几行命令实现了去除段落里的空格,实现如下: <!DOCTYPE html PUB ...

  6. 手把手教你写一个windows服务 【基于.net】 附实用小工具{注册服务/开启服务/停止服务/删除服务}

    1,本文适用范围 语言:.net 服务类型:windows服务,隔一段时间执行 2,服务搭建: 1,在vs中创建 console程序 2,在console项目所在类库右键 添加-新建项-选择Windo ...

  7. 最优化WPF 3D性能(基于“Tier-2”硬件)

    原文:最优化WPF 3D性能(基于"Tier-2"硬件) 原文地址:Maximizing WPF 3D Performance on Tier-2 Hardware 开发人员在应用 ...

  8. 使用 XMPP 构建一个基于 web 的通知工具——转

    Inserting of file(使用 XMPP 构建一个基于 web 的通知工具.docx) failed. Please try again. http://www.ibm.com/develo ...

  9. 将基于 .NET Framework 的 WPF 项目迁移到基于 .NET Core 3

    在 Connect(); 2018 大会上,微软发布了 .NET Core 3 Preview,以及基于 .NET Core 3 的 WPF:同时还发布了 Visual Studio 2019 预览版 ...

  10. 利用Dockerfile构建一个基于CentOS 7镜像

    利用Dockerfile构建一个基于CentOS 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像. Dockerfile内容如下: FROM centosMAINTA ...

随机推荐

  1. MP3 进行时

    MP3 项目立项 责任人:李少帅 开始时间:2016: 10,07 首先观看  MP3视频 理解 MP3  代码 重新 全面看 ucos2  或者是三的 视频代码

  2. notebook 开启 有限元学习

    简介 jupyter-notebook --ip 0.0.0.0 开启 sudo docker run -ti -p 127.0.0.1:8888:8888 -v $(pwd):/home/fenic ...

  3. ABC397

    最热泪盈眶的一次,中间被 D 卡了半小时,最后极限过 EF 翻盘. 不过 D 好像就是暴力,只是因为我没开 __int128?( rk.562. A - Thermometer 按照题意模拟即可. 点 ...

  4. Lazarus4Android 环境搭建

    Lazarus4Android 开发环境搭建 一.下载相关文件 最关键的就是这两个文件,其他的JDK.NDK.Java环境另说. 这里要注意,gradle版本必须小于7,不然无法使用. 二.IDE内部 ...

  5. ICEE-开关电源的驱动控制原理: 二极管 + MOS管工作原理 + CMOS | SiC | Gas + Digital Circuits + RF Trisistors

    背景知识: 半导体行业是政策.情报.组织管理.资本.智力.科技.工艺.设备都密集型. 半导体的生产研究涉及全球政治合作与竞争.产业与资本分布.高精尖科学工艺(精密化工, 尖端物理, 数学).产业分工合 ...

  6. "Academy of Management" and the journal "Academy of Management Perspectives"

    Academy of Management 555 Pleasantville Road, Suite N200 Briarcliff Manor, NY 10510-8020, USA Phone: ...

  7. Linux 系统硬盘命名规则详细解析

    以下是 Linux 系统中硬盘命名规则的详细解析及其应用场景,结合不同接口类型.分区逻辑和实际用例进行说明: ⚙️ ​​一.基础命名规则​​ ​​设备文件路径​​ Linux 将所有硬件设备视为文件, ...

  8. 一款实用的 Visual Studio 发布部署插件,助力提高部署效率!

    前言 在日常工作中,项目的发布与部署往往是一个既繁琐又耗时的环节.今天大姚给大家分享一款实用的 Visual Studio 发布部署插件,帮助大家提高部署效率:AntDeploy. 插件介绍 AntD ...

  9. Diff算法的简单介绍

    原生 DOM 更新 graph LR A[数据变化] --> B[手动查找DOM节点] B --> C[直接修改节点属性] C --> D[处理相关依赖节点] Diff 算法更新 g ...

  10. say, won't u say forever stay

    在前端 是春日的问候,是毛线团中的一丝半缕. 2.14 那就这样吧. \(\\\text{}\) 可是,为什么啊? 一次又一次地不相信,却又一次又一次地被迫确信. 可是,明明已经了啊? 读诗: &qu ...