SimpleTranslationAIAgent:基于C#与LLM的翻译AI Agent
基于C#与LLM通过简单对话即可实现文件到文件的翻译任务
该软件是MIT协议完全开源免费的,但是调用LLM的API可能需要费用,但是没关系,赛博菩萨硅基流动与智谱AI等都有免费的模型可调了。
这个Translation AI Agent只是一个简单的AI Agent示例应用,可能很多人都不需要它。
开源出来主要是为了感兴趣的同学可以在看源码之后,也可以使用C#+LLM构建出更有意思更能提高自己工作效率的自己专属的AI Agent应用!!
可以根据自己构建的AI Agent应用的复杂度,选择合适的模型。当应用比较简单时,可能免费的模型就可以了,但是当应用比较复杂时,可能需要更强的模型才行了。现在各大平台几乎都有送一些token体验,可以先拿这些token试一试。

GitHub地址:https://github.com/Ming-jiayou/SimpleTranslationAIAgent
现在glm-4-flash免费了,经过测试可以完成一些简单的AI Agent任务。
首先来一个简单的任务,将内容翻译完之后,自动写入一个文件:

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

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

整个过程录屏看看:

md文件也是可以的:


录屏看下整个过程:

现在尝试一下更难的任务,将一个文件里的文本取出来翻译之后写入另一个文本。
比如我有一个test1.txt文件,如下所示:

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

失败了:

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

成功完成这个任务了:

现在试一下将这个文件:

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

查看效果:

自动省略了...
可以调试看看这个过程。
第一步先获取文件的内容:

成功获取到文件内容:

第二步出错了:

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

现在没错了。
成功获取翻译结果:

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

已成功写入:

第四步,返回完成信息:


查看效果:

如果一个模型返回出错,可以重试,重试不行就可以换个模型试试了,越强的模型,成功的几率越高。
快速开始
GitHub地址:https://github.com/Ming-jiayou/SimpleTranslationAIAgent
注意到这里有个Releases:

点击,有两个压缩包:

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

现在只要打开appsettings填入你的API KEY即可使用,非常简单!!
打开appsettings.json文件如下所示:

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

测试是否配置成功:

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

Function Calling正常,现在就可以开始使用Translation AI Agent啦!!
源码构建指南
git clone到本地后,如下所示:

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

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

IDE:vs2022
.net版本:.net 8
打开解决方案:

运行报错:

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

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

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

Function Calling正常,现在就可以开始使用Translation AI Agent啦!!
SimpleTranslationAIAgent:基于C#与LLM的翻译AI Agent的更多相关文章
- 炸金花游戏(3)--基于EV(期望收益)的简单AI模型
前言: 炸金花这款游戏, 从技术的角度来说, 比德州差了很多. 所以他的AI模型也相对简单一些. 本文从EV(期望收益)的角度, 来尝试构建一个简单的炸金花AI. 相关文章: 德州扑克AI--Prog ...
- 课程报名 | 基于模型训练平台快速打造 AI 能力
我们常说的 AI 通用能力往往不针对具体的行业应用,而是主要解决日常或者泛化的问题,很多技术企业给出的方案是通用式的,比如通用文字识别,无论识别身份证.驾驶证.行驶证等,任何一张图片训练后的模型都会尽 ...
- 基于yum的方式安装Cloudera Manager Agent(使用Mysql 8.0版本)
基于yum的方式安装Cloudera Manager Agent(使用Mysql 8.0版本) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.选择CDH版本 1>.确认 ...
- 基于函数计算 + TensorFlow 的 Serverless AI 推理
前言概述 本文介绍了使用函数计算部署深度学习 AI 推理的最佳实践, 其中包括使用 FUN 工具一键部署安装第三方依赖.一键部署.本地调试以及压测评估, 全方位展现函数计算的开发敏捷特性.自动弹性伸缩 ...
- 基于tensorflow的躲避障碍物的ai训练
import pygameimport randomfrom pygame.locals import *import numpy as npfrom collections import deque ...
- 基于语法树和概率的AI模型
语法树是句子结构的图形表示,它代表了句子的推导结果,有利于理解句子语法结构的层次.简单说,语法树就是按照某一规则进行推导时所形成的树. 有了语法树,我们就可以根据其规则自动生成语句,但是语法树本身是死 ...
- Symfony2创建基于域名的路由(原创翻译)
你可以匹配将要来到的请求以HTTP域名的方式 YAML方式 mobile_homepage: path: / host: m.example.com defaults: { _controller: ...
- AI实战分享 | 基于CANN的辅助驾驶应用案例
摘要:什么是辅助驾驶?简而言之,就是借助汽车对周围环境的自动感知和分析,让驾驶员预先察觉可能发生的危险,有效增加汽车驾驶的舒适性和安全性. 导读:基于昇腾AI异构计算架构CANN的辅助驾驶AI应用实战 ...
- 盘它!基于CANN的辅助驾驶AI实战案例,轻松搞定车辆检测和车距计算!
摘要:基于昇腾AI异构计算架构CANN(Compute Architecture for Neural Networks)的简易版辅助驾驶AI应用,具备车辆检测.车距计算等基本功能,作为辅助驾驶入门级 ...
- AI人工智能简史
AI人工智能简史 最近学习AI,顺便整理了一份AI人工智能简史,大家参考: 1951年 第一台神经网络机,称为SNARC: 1956年 达特茅斯学院会议,正式确立了人工智能的研究领域: 1966年 M ...
随机推荐
- 从Java开发者到.NET Core初级工程师学习路线:C#语言基础
1. C#语言基础 1.1 C#语法概览 欢迎来到C#的世界!对于刚从Java转过来的开发者来说,你会发现C#和Java有很多相似之处,但C#也有其独特的魅力和强大之处.让我们一起来探索C#的基本语法 ...
- C# 判断字符串是否为整数
/// <summary> /// 判断一个字符串是否是正整数 /// </summary> /// <param name="s"></ ...
- 洛谷P1464
搜索优化后是记忆化搜索,再优化就是dp了 #include <iostream> #include <utility> using namespace std; typedef ...
- 编程好帮手:通义灵码(TONGYI Lingma),是阿里云出品的一款基于通义大模型的智能编码辅助工具
通义灵码(TONGYI Lingma),是阿里云出品的一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写.自然语言生成代码.单元测试生成.代码注释生成.代码解释.研发智能问答.异常报错排查 ...
- ECMA标准ECMAScript(JavaScript的一个标准)和C#
2024 年 6 月 26 日,第 127 届 ECMA 大会正式批准了 ECMAScript 2024 语言规范,这意味着它现在正式成为最新 ECMAScript 标准.ECMAScript是ECM ...
- AX网相关图片(原创)
官网:AXA6.COM | The future is come. Copyright 2020 – 2023| AX网 Axa6.Com | All Rights Reserved
- java集合解析
1,java集合体系 2,Colletion集合 子接口有List和Set (1)List接口:ArrayList,Vector,LinkedList list是collection接口的子接口,特点 ...
- 配置docker镜像时碰到的问题
在配置docker镜像时,首先我是这样操作的 , echo "registry-mirrors": ["https://ry1ei7ga.mirror.aliyuncs. ...
- 关于MultipartFile
首先,他来自spring框架,用于处理文件上传的问题 一般来讲,这个接口主要是实现以表单形式上传文件的功能 常用方法: getOriginalFileName:获取文件名+拓展名 getContent ...
- js实现动态表格的添加
<!DOCTYPE html> <html lang="en"> <head> <title>Table_Simple CSS fo ...