首页 > 编程语言 >SimpleTranslationAIAgent:基于C#与LLM的翻译AI Agent

SimpleTranslationAIAgent:基于C#与LLM的翻译AI Agent

时间:2024-08-31 13:52:34浏览次数:9  
标签:文件 SimpleTranslationAIAgent C# appsettings Agent AI json LLM

基于C#与LLM通过简单对话即可实现文件到文件的翻译任务

该软件是MIT协议完全开源免费的,但是调用LLM的API可能需要费用,但是没关系,赛博菩萨硅基流动与智谱AI等都有免费的模型可调了。

这个Translation AI Agent只是一个简单的AI Agent示例应用,可能很多人都不需要它。

开源出来主要是为了感兴趣的同学可以在看源码之后,也可以使用C#+LLM构建出更有意思更能提高自己工作效率的自己专属的AI Agent应用!!

可以根据自己构建的AI Agent应用的复杂度,选择合适的模型。当应用比较简单时,可能免费的模型就可以了,但是当应用比较复杂时,可能需要更强的模型才行了。现在各大平台几乎都有送一些token体验,可以先拿这些token试一试。

image-20240831115531547

GitHub地址:https://github.com/Ming-jiayou/SimpleTranslationAIAgent

现在glm-4-flash免费了,经过测试可以完成一些简单的AI Agent任务。

首先来一个简单的任务,将内容翻译完之后,自动写入一个文件:

image-20240830164931643

我现在桌面上没有这个文件

image-20240830165003575

创建了这个文件,并将内容写入了:

image-20240830165110246

整个过程录屏看看:

md文件也是可以的:

image-20240830165653037

image-20240830165717751

录屏看下整个过程:

现在尝试一下更难的任务,将一个文件里的文本取出来翻译之后写入另一个文本。

比如我有一个test1.txt文件,如下所示:

image-20240830170813739

我想要让Translation AI Agent 帮我翻译成中文,然后存入另一个文件中,如果不存在这个文件就新建一个文件,就可以这么写,只要提供文件路径即可:

image-20240830171542144

失败了:

image-20240830172736359

换成更强的glm-4模型试试:

image-20240830172933040

成功完成这个任务了:

image-20240830173048479

现在试一下将这个文件:

image-20240830180636766

翻译成英文之后写入另一个文件:

image-20240830174100940

查看效果:

image-20240830174157728

自动省略了...

可以调试看看这个过程。

第一步先获取文件的内容:

image-20240830175134230

成功获取到文件内容:

image-20240830175207798

第二步出错了:

image-20240830175246128

我该用硅基流动提供的Qwen/Qwen2-72B-Instruct再试试:

image-20240830175603881

现在没错了。

成功获取翻译结果:

image-20240830175648519

第三步,将翻译之后的结果写入文件:

image-20240830175745941

已成功写入:

image-20240830175809502

第四步,返回完成信息:

image-20240830175845567

image-20240830175910947

查看效果:

image-20240830180006034

如果一个模型返回出错,可以重试,重试不行就可以换个模型试试了,越强的模型,成功的几率越高。

快速开始

GitHub地址:https://github.com/Ming-jiayou/SimpleTranslationAIAgent

注意到这里有个Releases:

image-20240831114112502

点击,有两个压缩包:

image-20240831114150976

一个依赖.net8.0-windows框架,一个独立。

安装了.net8.0-windows框架的就可以选体积小的那个,我已经安装了.net8.0-windows框架就选择体积小的那一个,点击就在下载了,下载之后解压缩,如下所示:

image-20240831114515700

现在只要打开appsettings填入你的API KEY即可使用,非常简单!!

打开appsettings.json文件如下所示:

image-20240831114609377

填入之后,点击SimpleTranslationAIAgent.exe即可运行:

image-20240831114749577

测试是否配置成功:

配置已经成功,测试Function Calling是否正常:

image-20240831114920726

Function Calling正常,现在就可以开始使用Translation AI Agent啦!!

源码构建指南

git clone到本地后,如下所示:

image-20240830160422435

打开appsettings.example.json文件,如下所示:

image-20240830160550389

智谱AI glm-4-flash免费了,以这个LLM为例,填入API KEY之后,将该文件名字改为appsettings.json或者新建一个appsettings.json,将文件内容复制进去即可:

image-20240830162839622

IDE:vs2022

.net版本:.net 8

打开解决方案:

image-20240830162920242

运行报错:

image-20240830163038688

 

右键sppsettings.json文件,点击属性,改为嵌入的资源:

image-20240830163211284

再次运行,通过对话验证是否配置成功:

image-20240830164734788

配置已经成功,测试Function Calling是否正常:

image-20240830164818771

Function Calling正常,现在就可以开始使用Translation AI Agent啦!!

标签:文件,SimpleTranslationAIAgent,C#,appsettings,Agent,AI,json,LLM
From: https://www.cnblogs.com/mingupupu/p/18390206

相关文章

  • SimpleTranslationAIAgent借助SiliconCloud API 构建自己的专属翻译助手
    SimpleTranslationAIAgent介绍SimpleTranslationAIAgent是一款基于C#与LLM通过简单对话即可实现文件到文件的翻译任务的简单应用,基于WPF与SemanticKernel构建。该软件是MIT协议完全开源免费的,但是调用LLM的API可能需要费用,但是没关系,赛博菩萨硅基流动有免费的模型可调了。这个......
  • 【Qt】Spacer
    Spacer在使用布局管理的时候,如果需要在控件之间添加一段空白,就可以使用QSpacerItem来表示。核心属性属性说明width宽度height⾼度hData⽔平⽅向的sizePolicyQSizePolicy::Ignored:忽略控件的尺⼨,不对布局产⽣影响。QSizePolicy::Minimum:......
  • 了解依赖反转原则(DIP)、控制反转(IoC)、依赖注入(DI)及 IoC容器
    这篇文章将描述DIP、IoC、DI和IoC容器。大多数情况下,初学者开发人员会遇到DIP、IoC、DI和IoC容器的问题。他们混淆在一起,发现很难辨别他们之间的区别,不知道为什么他们需要使用他们。另一方面,很多人使用DI,IoC却不知道它能解决什么问题。关于这个话题有很多帖子......
  • elasticsearchClient查询集合数据,过大的处理情况
    如果你不知道实际的记录数,并且想查询某个条件下的所有记录,可以使用以下两种方法来实现:滚动(scroll)查询或search_after。这两种方法都适用于返回大量数据的场景。方法一:滚动(Scroll)查询Scroll查询是一种有效获取大量数据的方式,特别是当你不知道要查询的记录数量时。Scroll查询......
  • ROS2 Moveit2 - moveit_resources_panda_moveit_config包简介
    moveit_resources_panda_moveit_config是一个在MoveIt框架中常用的资源包,包含了Panda机器人模型(FrankaEmikaPanda)的配置文件。这个包用于测试和演示MoveIt的功能。它通常包含以下内容:URDF/XACRO文件:描述Panda机器人的几何、动力学和运动学模型。SRDF文件:描述Pand......
  • 039.CI4框架CodeIgniter,封装Model模型绑定数据库的封装
    01、ModelBase.php代码如下:<?phpnamespaceApp\Models;useCodeIgniter\Database\ConnectionInterface;useCodeIgniter\Model;useCodeIgniter\Validation\ValidationInterface;classModelBaseextendsModel{var$Db;function__construct(Conn......
  • aigc文生工程师
    文心一言(文生文):1、生成一篇短片科幻小说。文章至少有5章内容,每章内容不低于200字。罗列出小说大纲,大纲内容与小说内容一致。小说前后章节之间要有合理性和逻辑性2、请为文心一言写一篇推广文案。分析文心一言的使用人群。结合使用人群分析推广文案应该发布在哪些平台上。结合不......
  • autodock vina后处理分析
    拆分对接结果vina_split--inputresult.pdbqt--ligandcomplex/lig使用mv命令批量修改文件名,把01-09修改成1-9,便于批量处理foriin`seq19`;do>mv"lig0${i}.pdbqt""lig${i}.pdbqt">done使用Openbabel把pdbqt转成pdbforiin`seq120`;do>obabel......
  • Python比C语言到底有什么优势?为什么越来越多人都学python?
    Python作为一种高级编程语言,在众多编程语言中脱颖而出,主要得益于其多方面的优势。以下是Python相比于其他语言的一些显著优势:简单易学:Python的语法清晰、简洁,易于阅读和编写,这使得它成为初学者的首选语言。其语法结构接近于自然语言,减少了学习曲线的陡峭度。丰富的库和框......
  • 手把手在STM32F103C8T6上构建可扩展可移植的DHT11驱动
    前言如何驱动一个你陌生的传感器呢?别看我,也别在网上死马当活马医!你需要做的,首先是明确你的传感器的名称,在这里,我们想要使用的是DHT11温湿度传感器可能需要的前置知识简单的OLED驱动原理简单的IIC通信知识基础的查手册能力相对稳固的C语言基础不会没关系,我会详细......