Rouyan:使用WPF/C#构建的基于LLM的快捷翻译小工具

前言

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

Rouyan介绍

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

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

1、直接翻译到文件

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

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

使用Rouyan的流程是这样的:

csharp 复制代码
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可以用。