CSharp OpenAI

微软有个开源框架,可以使用C#调用OpenAI接口。地址如下:

GitHub - microsoft/semantic-kernel: Integrate cutting-edge LLM technology quickly and easily into your apps

今天研究了下,看如果使用国内代理来使用OpenAI的API。

国内代理使用的是之前文章中的代理:

国内访问OpenAI API_openai代理-CSDN博客

微软这个框架也可以通过在Visual Studio中的NuGet来安装。

框架示例中有个Create_Kernel的代码,我改造了一下,就可以使用国内代理来运行了。

改造后的代码如下:

using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.OpenAI;
using OpenAI;
using System.ClientModel;public sealed class S01_Create_Kernel
{public async Task RunAsync(){OpenAIClientOptions options = new OpenAIClientOptions();options.Endpoint = new Uri("https://api.openai-proxy.org/v1");OpenAIClient client = new OpenAIClient(new ApiKeyCredential("sk-xxxxx"), options);Kernel kernel = Kernel.CreateBuilder().AddOpenAIChatCompletion(modelId: "gpt-4", client).Build();// 1.Console.WriteLine(await kernel.InvokePromptAsync("What color is the sky?"));Console.WriteLine();// 2.KernelArguments arguments = new() { { "topic", "sea" } };Console.WriteLine(await kernel.InvokePromptAsync("What color is the {{$topic}}?", arguments));Console.WriteLine();// 3.await foreach (var update in kernel.InvokePromptStreamingAsync("What color is the {{$topic}}? Provide a detailed explanation.", arguments)){Console.Write(update);}Console.WriteLine(string.Empty);// 4.arguments = new(new OpenAIPromptExecutionSettings { MaxTokens = 500, Temperature = 0.5 }) { { "topic", "dogs" } };Console.WriteLine(await kernel.InvokePromptAsync("Tell me a story about {{$topic}}?", arguments));// 5. 
#pragma warning disable SKEXP0010arguments = new(new OpenAIPromptExecutionSettings { ResponseFormat = "json_object" }) { { "topic", "chocolate" } };Console.WriteLine(await kernel.InvokePromptAsync("Create a recipe for a {{$topic}} cake in JSON format", arguments));}public static async Task Main(){await new S01_Create_Kernel().RunAsync();}
}

只需将代码中的sk-xxxxx替换为自己代理中的apikey就可以运行了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/2551.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

go中Println和Printf的区别

Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 go中Println和Printf的区别 package mainimport ( "fmt" )//TIP To run your code, right-click the c…

矩阵NFC碰一碰发视频源码开发技术解析,支持OEM

一、引言 在当今数字化营销的热潮中,矩阵爆店码成为了助力商家引流推广的重要工具。开发矩阵爆店码的源码涉及到多种技术的综合运用,本文将深入探讨其开发过程中的关键技术要点。 二、技术选型 (一)后端开发技术 编程语言 选择一…

零基础嵌入式工程师成长路线以及如何学习嵌入式操作系统?

以下是一条零基础嵌入式工程师的成长路线: **一、入门阶段(3 - 6个月)** 1. **学习基础知识** - **编程语言**: C语言是嵌入式开发的基础。学习C语言的基本语法,包括数据类型(如整型、字符型、浮点型&am…

数据结构之二叉树前序,中序,后序习题分析(递归图)

1.比较相同的树 二叉树不能轻易用断言,因为树一定有空 2.找结点值 3.单值二叉树 4.对称二叉树 5.前序遍历

C++设计模式结构型模式———组合模式

文章目录 一、引言二、组合模式三、总结 一、引言 组合模式是一种结构型设计模式, 可以使用它将对象组合成树状结构, 并且能像使用独立对象一样使用它们。代码实现中涉及了递归调用。组合模式与传统上的“类与类之间的组合关系”没有关联,不…

电子商城购物平台的设计与开发+ssm(lw+演示+源码+运行)

摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,电子商城购物平台小程序被用户普遍使用,为方便…

用离线的方式(使用U盘)将Qt文件装载到开发板

第一步:打开虚拟机软件,加载Linux系统进入桌面 桌面 第二步:将U盘插入电脑,挂载到虚拟机中选择连接到虚拟机,虚拟机名称为alientek U盘接入虚拟机 第三步:将mp157开发板一端连接在USB_TTL接口&#xff…

Android 字节飞书面经

Android 字节飞书面经 文章目录 Android 字节飞书面经一面二面 一面 1. 线程是进程的一部分,一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。 2. 根本区别:进程是操作系统资源分配的基本单位,…

针对告警数量、告警位置、告警类型等参数进行统计,并做可视化处理的智慧能源开源了。

一、简介 AI视频监控平台, 是一款功能强大且简单易用的实时算法视频监控系统。愿景在最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,减少企业级应用约 95%的开发成本,在强大视频算…

Linux系统的入门使用

前言一、常用操作以及概念 快捷键求助关机PATHsudo包管理工具发行版VIM 三个模式GNU开源协议 二、磁盘 磁盘接口磁盘的文件名 三、分区 分区表开机检测程序 四、文件系统 分区与文件系统组成文件读取磁盘碎片blockinode目录日志挂载目录配置 五、文件 文件属性文件与目录的基本…

软考系统分析师知识点三二:案例知识点三

前言 今年报考了11月份的软考高级:系统分析师。 考试时间:11月9日。 倒计时:5天。 目标:优先应试,其次学习,再次实践。 复习计划第三阶段:总结案例知识点,并作为论文的框架知识…

无人机维护保养、部件修理更换技术详解

无人机作为一种精密的航空设备,其维护保养和部件修理更换是确保飞行安全、延长使用寿命的重要环节。以下是对无人机维护保养、部件修理更换技术的详细解析: 一、无人机维护保养技术 1. 基础构造理解: 熟悉无人机的基本构造,包括…

高校大数据实训平台介绍

高校大数据实验室架构 具体实训平台介绍 编程实训平台 1、大数据开发实训平台 大数据开发实训平台是面向实训课和课后训练的编程实训平台,平台底层基于Docker技术,采用容器云部署方案,预装大数据相关课程教学所需的实训环境…

SQL基础—2

1.左外连接查询(left join on) A - A∩B 左外连接查询两张表条件都满足的数据,以及左边表(A表)存在的数据(以左边表为主查询表)。 A - A∩B (A和A交B)。 示例:使用左外连接将dept表作为主查询表,查询员工编号、员工姓…

R语言贝叶斯:INLA下的贝叶斯回归、生存分析、随机游走、广义可加模型、极端数据的贝叶斯分析

原文链接:R语言贝叶斯:INLA下的贝叶斯回归、生存分析、随机游走、广义可加模型、极端数据的贝叶斯分析https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247625527&idx8&snba4e50376befd94022519152609ee8d0&chksmfa8daad0cdfa23c6…

如何自学机器学习?

自学机器学习可以按照以下步骤进行: 一、基础知识准备 数学基础: 高等数学:学习微积分(包括导数、微分、积分等)、极限、级数等基本概念。这些知识是后续学习算法和优化方法的基础。 线性代数:掌握矩阵…

wpf 制作丝滑Flyout浮出侧边栏Demo (Mahapps UI框架)

Flyout 属性 CloseButtonVisibility: 设置为 Collapsed,意味着关闭按钮不可见。TitleVisibility: 设置为 Collapsed,意味着标题不可见。IsPinned: 设置为 True,意味着这个 Flyout 会固定住,不会自动关闭。Opacity: 设置为 1&…

6个步骤,轻松搞定Linux上web UI自动化测试!

对于web端的UI自动化,相信大家都不会陌生,因为很多小伙伴都做过,或者了解到过,但是小编相信,大多数了解到的都是通过windows系统上进行运行web端的UI自动化,在linux上面很少运行UI自动化或者如何执行自动化…

[论文阅读]Label-Only Membership Inference Attacks

Label-Only Membership Inference Attacks Proceedings of the 38th International Conference on Machine Learning Label-Only Membership Inference Attacks 只使用硬标签就可以判断是否是成员的方法,但是是在机器学习模型上。 通过分析模型在扰动下的预测标…

万宇科技闪耀创新舞台 荣膺潜在独角兽企业殊荣

2024年10月24日,在“2024东北亚(沈阳)人才交流大会暨中国潜在独角兽企业发展大会”上,长城战略咨询重磅发布《GEI中国潜在独角兽企业研究报告2024》,揭示了中国潜在独角兽企业群体的最新发展态势。其中,安徽万宇机械设备科技有限公…