今天在新闻上看到一条消息,OpenAI已经开放了ChatGPT的接口,也就是GPT-3.5,对比原来的GPT-3,增加了gpt-3.5-turbo
、gpt-3.5-turbo-0301
两个模型。
gpt-3.5-turbo
就可以了。对于GPT-3,GPT-3.5是支持上下文的。通过API,我们可以完成完整的聊天了。gpt-3.5-turbo
的API如下:
gpt-3.5-turbo
[{"role": "user", "content": "Hello!"}]
,role
分为三种角色,分别是system
、assistant
和user
。model
和messages
是必填的,其他,我们采用默认值就可以了OpenAI-DotNet
,该类库于3月2日升级到了5.0版本,新增了Chat
接口,这样就可以实现聊天应用了。接着上一篇文章,我们来做一个真正的ChatGPT对话功能。打开Shared/NavMenu.razor
,修改内容如下:
@code {private bool collapseNavMenu = true;private string NavMenuCssClass => collapseNavMenu ? "collapse" : null;private void ToggleNavMenu(){collapseNavMenu = !collapseNavMenu;}
}
接着在Pages
目录下,新建一个Chat.razor
。页面内容如下:
@using System.Text;
@using Mode;
@page "/chat"
@context.question@context.answermdi-send-outline
编写Code代码
@code {public string question = "";private bool Boilerplate = false;private MVirtualScroll _vs;private List chatPromptsList = new List();private List _items = new();private async Task RequestAnswers(){Boilerplate = true;var api = new OpenAI.OpenAIClient(new OpenAI.OpenAIAuthentication(OpenAIConfig.api_key));OpenAI.Chat.ChatPrompt chatPrompt = new OpenAI.Chat.ChatPrompt("user", question);chatPromptsList.Add(chatPrompt);var chatRequest = new OpenAI.Chat.ChatRequest(chatPromptsList);QA qa = new();qa.question = question;var result = await api.ChatEndpoint.GetCompletionAsync(chatRequest);string answer = result.FirstChoice.Message.Content;answer = answer.ReplaceFirst("\r", "").ReplaceFirst("\n", "");qa.answer = answer;_items.Add(qa);Boilerplate = false;}}
至此,一个简单的聊天应用就完成了。运行效果如下:
从运行效果来看,使用GPT-3.5的接口,确实支持上下文了。
总结
注册了openai的账号,送的18刀比较耐用,自己玩了很久,才用了不到1刀。所以,下载下来,尽情玩耍吧。
点击下方公众号卡片,关注我,回复
1003
下载!