引言 在ChatGPT 火热的当下, 即使没有上手亲自体验,想必也对ChatGPT的强大略有耳闻.当一些人在对ChatGPT犹犹豫豫之时,一些敏锐的企业主和开发者们已经急不可耐的开展基于ChatGPT模型AI应用的落地探索. 因此,可以明确预见的是,AI 能力的集成将会是很多应用都将面临的第一事项,而拥有相关性技能的人才屈指可数.而这,正是机会所在,而机会是留给有准备之人,因此,有幸看到本文的开发者们,开始考虑面向AI编程吧. 即使当下的公司没有相关的机会,也可以着手一些相关的知识储备,比如学习…
语义的归语义,语法的归语法. 基础定义 最基本的Native Function定义只需要在方法上添加 SKFunction 的特性即可. using Microsoft.SemanticKernel.SkillDefinition; using Microsoft.SemanticKernel.Orchestration; namespace MySkillsDirectory; public class MyCSharpSkill { [SKFunction("Return the first…
Semantic Kernel 的一个核心能力就是实现"目标导向"的AI应用. 目标导向 "目标导向"听起来是一个比较高大的词,但是却是实际生活中我们处理问题的基本方法和原则. 顾名思义,这种方法的核心就是先确定目标,然后在寻找实现目标的方法和步骤.这对于人来说的是很自然的事情,但是对于机器则不然.一大堆的指令和控制逻辑其实都是在完成另外一种产出导向的结果.所有的流程和过程都需要提前预定义好,然后期待一个结果的产出. 如今,借助 LLM AI 的力量,我们可以轻松的…
每当向他人介绍 Semantic Kernel, 会得到的第一个问题就是 Semantic Kernel 类似于LangChain吗,或者是c# 版本的LangChain吗? 为了全面而不想重复的回答这个问题,因此我写下这篇文章. 在 ChatGPT 之前,构建 集成AI的应用程序的主要分为两个步骤: 机器学习工程师/数据科学家创建模型,然后通过 REST API 终结点发布此模型. 应用程序开发人员通过传递确定性参数来调用 REST API 终结点. 有了GPT以后 构建与 AI 集成的应用程…
[AttributeUsage(AttributeTargets.Method)] public class WebApiSensitive : ActionFilterAttribute { public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext actionContext) { SensitiveDataUtil.CheckForSQLs(HttpContext.Current.…
需求: 在Aps.Net 应用中,对于浏览器请求的部分url的地址自定义处理,不交给路由系统或页面. 解决方案: 在全局文件Global.asax中 ,提供Application_BeginRequest 事件,这个事件可以监听到,本网站的所有请求都会经过这.此处根据url自定义输出响应内容,并结束响应就可以了. 自定义拦截请求示例1: 1.Global.asax 中代码处理 public class MvcApplication : System.Web.HttpApplication { L…
前提: 需要nuget   Microsoft.Extensions.Logging.Log4Net.AspNetCore   2.2.6: Swashbuckle.AspNetCore 我暂时用的是  4.01: 描述:通过 Filters 拦截器获取 Api 请求内容及响应内容,并记录到日志文件:    有文中代码记录接口每次请求及响应情况如下图: 解决办法: 步骤1  配置 Swagger 接口文档 对startup.cs   进行修改代码如下: ConfigureServices 中增加…
一.通过Charles抓包,可拦截请求并篡改交互信息 1.可篡改客户端向服务器发起的请求信息(服务器收到的是假消息) 2.可篡改服务器返回给客户端的响应结果(客户端看到的是假消息) 二.篡改用户请求 1.在浏览器中输入请求,在Charles中会生成一个目录,选择最后一个节点,右键->Breakpoints 2.在浏览器中刷新该页面,Charles会跳转到Breakpoints列表 3.篡改请求信息后,点击底部Execute按钮 4.返回浏览器查看服务器返回结果,返回的页面信息为7545798.h…
springmvc.xml <!--拦截请求 --> <mvc:interceptors> <mvc:interceptor> <!-- 要拦截的请求类型 /** 所以请求 --> <mvc:mapping path="/**"/> <!-- 不拦截的请求 --> <mvc:exclude-mapping path="/login.form"/> <mvc:exclude-ma…
关于servlet的拦截设置,之前看了好多,说的都不太清除,明白. 最近明白了一些,总的来说就是保证拦截所有用户请求的同时,放行静态资源. 现整理如下: 一.我们都知道在基于Spring的Application中,需要在web.xml中增加下面类似的配置信息: <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </l…