基于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的更多相关文章

  1. 炸金花游戏(3)--基于EV(期望收益)的简单AI模型

    前言: 炸金花这款游戏, 从技术的角度来说, 比德州差了很多. 所以他的AI模型也相对简单一些. 本文从EV(期望收益)的角度, 来尝试构建一个简单的炸金花AI. 相关文章: 德州扑克AI--Prog ...

  2. 课程报名 | 基于模型训练平台快速打造 AI 能力

    我们常说的 AI 通用能力往往不针对具体的行业应用,而是主要解决日常或者泛化的问题,很多技术企业给出的方案是通用式的,比如通用文字识别,无论识别身份证.驾驶证.行驶证等,任何一张图片训练后的模型都会尽 ...

  3. 基于yum的方式安装Cloudera Manager Agent(使用Mysql 8.0版本)

    基于yum的方式安装Cloudera Manager Agent(使用Mysql 8.0版本) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  一.选择CDH版本 1>.确认 ...

  4. 基于函数计算 + TensorFlow 的 Serverless AI 推理

    前言概述 本文介绍了使用函数计算部署深度学习 AI 推理的最佳实践, 其中包括使用 FUN 工具一键部署安装第三方依赖.一键部署.本地调试以及压测评估, 全方位展现函数计算的开发敏捷特性.自动弹性伸缩 ...

  5. 基于tensorflow的躲避障碍物的ai训练

    import pygameimport randomfrom pygame.locals import *import numpy as npfrom collections import deque ...

  6. 基于语法树和概率的AI模型

    语法树是句子结构的图形表示,它代表了句子的推导结果,有利于理解句子语法结构的层次.简单说,语法树就是按照某一规则进行推导时所形成的树. 有了语法树,我们就可以根据其规则自动生成语句,但是语法树本身是死 ...

  7. Symfony2创建基于域名的路由(原创翻译)

    你可以匹配将要来到的请求以HTTP域名的方式 YAML方式 mobile_homepage: path: / host: m.example.com defaults: { _controller: ...

  8. AI实战分享 | 基于CANN的辅助驾驶应用案例

    摘要:什么是辅助驾驶?简而言之,就是借助汽车对周围环境的自动感知和分析,让驾驶员预先察觉可能发生的危险,有效增加汽车驾驶的舒适性和安全性. 导读:基于昇腾AI异构计算架构CANN的辅助驾驶AI应用实战 ...

  9. 盘它!基于CANN的辅助驾驶AI实战案例,轻松搞定车辆检测和车距计算!

    摘要:基于昇腾AI异构计算架构CANN(Compute Architecture for Neural Networks)的简易版辅助驾驶AI应用,具备车辆检测.车距计算等基本功能,作为辅助驾驶入门级 ...

  10. AI人工智能简史

    AI人工智能简史 最近学习AI,顺便整理了一份AI人工智能简史,大家参考: 1951年 第一台神经网络机,称为SNARC: 1956年 达特茅斯学院会议,正式确立了人工智能的研究领域: 1966年 M ...

随机推荐

  1. 从Java开发者到.NET Core初级工程师学习路线:C#语言基础

    1. C#语言基础 1.1 C#语法概览 欢迎来到C#的世界!对于刚从Java转过来的开发者来说,你会发现C#和Java有很多相似之处,但C#也有其独特的魅力和强大之处.让我们一起来探索C#的基本语法 ...

  2. C# 判断字符串是否为整数

    /// <summary> /// 判断一个字符串是否是正整数 /// </summary> /// <param name="s"></ ...

  3. 洛谷P1464

    搜索优化后是记忆化搜索,再优化就是dp了 #include <iostream> #include <utility> using namespace std; typedef ...

  4. 编程好帮手:通义灵码(TONGYI Lingma),是阿里云出品的一款基于通义大模型的智能编码辅助工具

    通义灵码(TONGYI Lingma),是阿里云出品的一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写.自然语言生成代码.单元测试生成.代码注释生成.代码解释.研发智能问答.异常报错排查 ...

  5. ECMA标准ECMAScript(JavaScript的一个标准)和C#

    2024 年 6 月 26 日,第 127 届 ECMA 大会正式批准了 ECMAScript 2024 语言规范,这意味着它现在正式成为最新 ECMAScript 标准.ECMAScript是ECM ...

  6. AX网相关图片(原创)

    官网:AXA6.COM | The future is come. Copyright 2020 – 2023| AX网 Axa6.Com | All Rights Reserved

  7. java集合解析

    1,java集合体系 2,Colletion集合 子接口有List和Set (1)List接口:ArrayList,Vector,LinkedList list是collection接口的子接口,特点 ...

  8. 配置docker镜像时碰到的问题

    在配置docker镜像时,首先我是这样操作的 , echo "registry-mirrors": ["https://ry1ei7ga.mirror.aliyuncs. ...

  9. 关于MultipartFile

    首先,他来自spring框架,用于处理文件上传的问题 一般来讲,这个接口主要是实现以表单形式上传文件的功能 常用方法: getOriginalFileName:获取文件名+拓展名 getContent ...

  10. js实现动态表格的添加

    <!DOCTYPE html> <html lang="en"> <head> <title>Table_Simple CSS fo ...