Project Icon

ChatGPT.Net

将ChatGPT功能集成至.Net应用

ChatGPT.Net项目为开发者提供了一个便捷的.Net库,用于快速集成ChatGPT功能。其优化的API接口提升了开发效率,使机器学习模型的搭建和聊天机器人的定制更加简单。项目兼容多个版本,确保了稳定性和可靠性。

            # ChatGPT.Net - ChatGPT的.Net库 [[Discord](https://discord.pawan.krd)]

其他版本 [NodeJS版本]

Nuget Package Nuget Package GitHub issues GitHub forks GitHub stars GitHub 许可证 Discord 服务器

查看新的Google Bard Chatbot!

The ChatGPT.Net是一个使用官方OpenAI API的C#库,允许开发人员访问基于聊天的大型语言模型ChatGPT。通过该API,开发人员可以实时向ChatGPT发送查询并接收响应,从而轻松地将ChatGPT集成到自己的应用程序中。

using ChatGPT.Net;

// ChatGPT官方API
var bot = new ChatGpt("<API_KEY>");

var response = await bot.Ask("今天的天气怎么样?");
Console.WriteLine(response);

目录

功能

  • 易于使用。
  • 使用官方OpenAI API。
  • 支持免费和专业账号。
  • 支持多个账号和多个对话。
  • 支持响应流式传输,因此您可以在模型仍在生成响应时获取响应。

入门

要安装ChatGPT.Net,请在程序包管理器控制台中运行以下命令:

Install-Package ChatGPT.Net

或者,您可以使用.NET Core命令行界面进行安装:

dotnet add package ChatGPT.Net

用法

ChatGPT 官方 API

这是一个显示如何使用ChatGPT.Net的示例代码:

using ChatGPT.Net;

// ChatGPT官方API
var bot = new ChatGpt("<API_KEY>");

// 获取响应
var response = await bot.Ask("今天的天气怎么样?");
Console.WriteLine(response);

// 流式传输响应
await bot.AskStream(response => {
    Console.WriteLine(response);
}, "今天的天气怎么样?");

// 获取特定对话的响应
var response = await bot.Ask("今天的天气怎么样?", "对话名称");
Console.WriteLine(response);

// 流式传输特定对话的响应
await bot.AskStream(response => {
    Console.WriteLine(response);
}, "今天的天气怎么样?", "对话名称");

// 设置系统消息
bot.SetConversationSystemMessage("对话名称", "你是一个提供清晰简明回答的有帮助的助手。");

某些模型可以理解文本和图片。要使用此功能,您需要传递包含文本和图片的内容项列表。

// 要流式传输包含图像和文本输入的响应,请创建一个内容项列表
var contentItems = new List<ChatGptMessageContentItem>();

// 每个内容项可以是“文本”类型或“图片”类型。让我们添加文本来询问图像
contentItems.Add(new ChatGptMessageContentItem()
{
    Type = ChatGptMessageContentType.TEXT,
    Text = "这张图片是关于什么的?"
});

// 现在,创建另一个“图片”类型的内容项
var contentItemWithImage = new ChatGptMessageContentItem()
{
    Type = ChatGptMessageContentType.IMAGE
};
// 通过路径设置图片
contentItemWithImage.SetImageFromFile("<文件路径>");
// 或通过Url设置图片
contentItemWithImage.SetImageFromUrl("https://path-to-image.com/image.png");
// 或设置base64图片url
contentItemWithImage.SetImageFromUrl("data:image/png;base64,iVBORw0KGgoAAA.....");

contentItems.Add(contentItemWithImage);

// 只有特定模型理解图像输入。因此,如果您使用的是“gpt-3.5-turbo”或类似模型,在调用“AskStream”之前,请切换或覆盖模型。有关`ChatGptOptions`(配置)的更多详细信息将在下一部分中介绍。
config.Model = ChatGptModels.GPT_4_Vision_Preview;

var response = await bot.AskStream(response => {
    Console.WriteLine(response);
}, contentItems, "对话名称");

ChatGPT 非官方 API

这是一个显示如何使用ChatGPT.Net将(chat.openai.com)集成到您的应用程序中的示例代码:

using ChatGPT.Net;

// ChatGPT官方API
var bot = new ChatGptUnofficial("<SESSION_TOKEN>");

// 获取响应
var response = await bot.Ask("今天的天气怎么样?");
Console.WriteLine(response);

// 流式传输响应
await bot.AskStream(response => {
    Console.WriteLine(response);
}, "今天的天气怎么样?");

// 获取特定对话的响应
var response = await bot.Ask("今天的天气怎么样?", "对话名称");
Console.WriteLine(response);

// 流式传输特定对话的响应
await bot.AskStream(response => {
    Console.WriteLine(response);
}, "今天的天气怎么样?", "对话名称");

配置选项

ChatGPT 官方 API

ChatGptOptions
{
    string BaseUrl; // 默认为: https://api.openai.com
    string Model; // 默认为: gpt-3.5-turbo
    double Temperature; // 默认为: 0.9;
    double TopP; // 默认为: 1.0;
    long MaxTokens; // 默认为: 64;
    string[]? Stop; // 默认为: null;
    double PresencePenalty; // 默认为: 0.0;
    double FrequencyPenaltyl; // 默认为: 0.0;
}

ChatGPT 非官方 API

ChatGptUnofficialOptions
{
    string BaseUrl; // 默认为: https://api.pawan.krd
    string Model; // 默认为: text-davinci-002-render-sha
}

示例

ChatGPT 控制台应用程序

这是一个简单的控制台应用程序,通过ChatGPT.Net与ChatGPT互动。

using ChatGPT.Net;

// ChatGPT官方API
var bot = new ChatGpt("<API_KEY>");

var prompt = string.Empty;

while (true)
{
    Console.Write("你:");
    prompt = Console.ReadLine();
    if (prompt is null) break;
    if (string.IsNullOrWhiteSpace(prompt)) break;
    if (prompt == "exit") break;
    Console.Write("ChatGPT:");
    await bot.AskStream(Console.Write, prompt, "default");
    Console.WriteLine();
}

使用不同的模型

您可以通过将模型名称传递给构造函数来使用不同的模型。

var bot = new ChatGpt("<API_KEY>", new ChatGptOptions
{
    Model = "text-davinci-002-render-paid"
});

免费使用ChatGPT官方API

您可以通过设置基本网址为免费反向代理服务器,如ChatGPT Free Reverse Proxy来免费使用ChatGPT官方API

var bot = new ChatGpt("<API_KEY>", new ChatGptOptions
{
    BaseUrl = "https://api.pawan.krd"
});

许可证

此项目受MIT许可证许可 - 有关详细信息,请参阅LICENSE文件

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号