我们发布了一个软件包,使用官方OpenAI API免费使用ChatGPT,没有速率限制[点击这里]
不和谐]
如需支持加入 [Discord]
ChatGPT.Net - 用于 ChatGPT 的非官方 API 客户端 [NodeJS 版本][Python 版本]
其他版本 [ChatGPT.Net ChatGPT 的非官方 .Net API 是一个 C# 库,允许开发人员访问 ChatGPT,一种基于聊天的语言模型。使用此 API,开发人员可以向 ChatGPT 发送查询并实时接收响应,从而轻松地将 ChatGPT 集成到自己的应用程序中。
using ChatGPT.Net;
var chatGpt = new ChatGpt();
await chatGpt.WaitForReady();
var chatGptClient = await chatGpt.CreateClient(new ChatGptClientConfig
{
SessionToken = "eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2......."
});
var response = await chatGptClient.Ask("What is the weather like today?");
Console.WriteLine(response);
特征
- 不使用浏览器的新方法。
- 使用 SessionToken 自动登录 ChatGPT。
- 绕过云耀斑保护和虚假速率限制保护。
- 重置对话或创建多个对话的功能。
- 自动刷新 ChatGPT 访问令牌。
- 默认情况下启用缓存系统,缓存数据保存到 cache.json 以减少对 ChatGPT 端点的请求并降低速率限制。
新方法如何在没有浏览器的情况下工作?
新方法通过利用已实现绕过方法的服务器作为代理运行,无需浏览器即可运行。该库将请求发送到服务器,然后服务器将请求重定向到 ChatGPT,同时绕过 Cloudflare 和其他机器人检测措施。然后,服务器返回 ChatGPT 响应,确保即使 ChatGPT 实施更改以防止机器人使用,该方法仍然有效。我们的服务器会不断更新以保持其旁路功能。
开始
若要安装 ChatGPT.Net,请在程序包管理器控制台中运行以下命令:
Install-Package ChatGPT.Net
或者,可以使用 .NET Core 命令行界面安装它:
dotnet add package ChatGPT.Net
用法
下面是一个示例代码,演示如何使用 ChatGPT.Net:
using ChatGPT.Net;
var chatGpt = new ChatGpt(new ChatGptConfig
{
UseCache = true
});
await chatGpt.WaitForReady();
var chatGptClient = await chatGpt.CreateClient(new ChatGptClientConfig
{
SessionToken = "eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2.......",
AccountType = AccountType.Free
});
var conversationId = "a-unique-string-id";
var response = await chatGptClient.Ask("What is the weather like today?", conversationId);
Console.WriteLine(response);
await chatGptClient.ResetConversation(conversationId);
var chatGptClient2 = await chatGpt.CreateClient(new ChatGptClientConfig
{
SessionToken = "eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2.......",
AccountType = AccountType.Pro
});
var response2 = await chatGptClient2 .Ask("What is the weather like today?");
Console.WriteLine(response2);
上面的代码演示了如何使用 ChatGPT.Net 库同时创建多个 ChatGPT 客户端和对话并与之交互。
该类用于初始化 ChatGPT 库并等待它准备就绪。然后调用该方法以使用指定的配置创建新客户端。ChatGpt
CreateClient
创建客户端后,可以调用该方法向 ChatGPT 发送消息并接收响应。该参数是可选的,可用于指定消息应发送到的会话。如果未提供会话 ID,则将使用默认对话 ID。Ask
conversationId
该方法可用于重置与特定客户端关联的特定会话。这允许客户端用于与 ChatGPT 开始新的对话,就像第一次使用客户端一样。ResetConversation
可以创建多个 ChatGPT 客户端并用于同时管理多个帐户。请务必注意,配置中的 必须是有效的令牌,才能成功进行身份验证和使用 ChatGPT 服务。SessionToken
ChatGptConfig
该类的文档:性能
UseCache
(布尔)
如果 ,客户端将在生成新响应之前检查响应缓存。如果 ,客户端将始终生成新的响应。true
false
SaveCache
(布尔)
如果 ,客户端将在生成响应后将响应保存到工作目录中的缓存文件 ()。如果为 ,客户端将不会保存对缓存的响应。true
cache.json
false
ChatGptClientConfig
该类的文档:性能
SessionToken
(字符串)
此属性指定聊天 GPT 帐户的会话令牌。
AccountType
(账户类型)
此属性指定 ChatGPT 帐户类型(免费或专业)。
下载地址:GitHub - PawanOsman/ChatGPT.Net:用于 ChatGPT 的非官方 .Net 客户端