基于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. Canavs在文字上绘制删除线/中划线

    效果图: 思路: 绘制文字 绘制高度为1px的长方形,并用黑色填充 长方形的宽度为文字的长度 具体代码: let canvas = document.getElementById('canvas'); ...

  2. Linux 提权-SUID/SGID_2

    本文通过 Google 翻译 SUID | SGID Part-2 – Linux Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释 ...

  3. SpringBoot读取配置文件的几种方式

    示例 user: name: zhaotian age: 18 sex: 男 @Value注解 @Value注解是Spring框架提供的用于注入配置属性值的注解,它可用于类的成员变量.方法参数和构造函 ...

  4. 27 首页banner文库失效

    安卓app 首页banner文库没有连接功能

  5. MySQL 实现 EF Code First TimeStamp/RowVersion 并发控制

    在将项目迁移到MySQL 5.6.10数据库上时,遇到和迁移到PostgreSQL数据库相同的一个问题,就是TimeStamp/RowVersion并发控制类型在非Microsoft SQL Serv ...

  6. 使用win server 2019服务器的iis服务发布静态网页

    1.首先远程连接到服务器 2.打开服务器管理器 3添加角色和功能 4.安装类型:选择基于角色或基于功能的安装  →服务器角色:从服务器池中选择服务器 5.服务器角色选择Web服务器(iis) 6.功能 ...

  7. Oracle 死锁与慢查询总结

    查看死锁 SELECT s.sid "会话ID", s.lockwait "等待锁", s.event "等待的资源/事件", -- 最近等 ...

  8. ABC357

    A link 循环加每一个数,加到哪个数不能加了输出前一个数,注意如果加到最后还能加,记得输出\(n\). 点击查看代码 #include<bits/stdc++.h> using nam ...

  9. Fiddler使用界面介绍-左侧会话面板

    左侧会话面板,是Fiddler抓取的请求数据展示

  10. 【Uni-App】API笔记 P2

    8.路由,跳转 一.保留当前页面并跳转到指定页面 使用uni.navigateBack可以返回到原页面. uni.navigateTo(OBJECT) OBJECT参数说明 参数 类型 必填 默认值 ...