C#/.Net開發(fā)chatGPT、openAI的簡單步驟
C#/.Net開發(fā)chatGPT、openAI
最近ChatGPT火爆了,自己使用了一下,確實厲害。所以自己折騰一番,使用C#來調用API。
獲取Token
本文不再贅述。
C#/.net調用接口
C#/.net 對接chatGPT非常簡單,導入相關的依賴,然后構建OpenAiService實例,填寫相關參數,就可以發(fā)送我們的問題,返回結果是問題答案。
API常用參數
設置項 | 含義 | 數據類型 | 作用 |
---|---|---|---|
model(必需) | 模型 | string | 要使用的模型ID,目前text-davinci-003 是自然語言最強大的模型 |
prompt | 提示(問題) | string/array | 你向API提供的提示,即你提出的問題 |
temperature | 創(chuàng)新采樣 | float | 取值范圍0-1,當設置為0時,對于相同的問題,模型始終返回相同或者相近的結果,設置1則與上次的回答更加不同。默認1 |
top_p | 情緒采樣 | float | 默認1。替代temperature使用,考慮了模型質量,0.1為生成結果的質量為10%,建議使用1。 |
n | 結果數量 | int | 默認1。針對提示所生成結果的次數,會大量消耗令牌。 |
stream | 流式返回 | bool | 默認false。是否以流式返回部分進度,流完成后會發(fā)送終止消息data:[DONE] |
echo | 顯示提示 | bool | 默認false,在返回結果外,還顯示用戶給的問題 |
stop | 停止詞 | string/array | 最多四個序列,返回的文本不包括停止序列 |
max_tokens | 最大令牌數 | int | 默認16,大多數模型支持最大為2048 |
注意:有一個限制是,對于大多數模型,單個API請求只能處理2048個tokens,大約1500個單詞(一個token大約是4個字符或者),大家在使用時注意余額情況。
使用示例
采用OpenAPI官網給出的nuget包Betalgo.OpenAI.GPT3
const string OPENAPI_TOKEN = "sk-************************";//輸入自己的api-key private async void Chat() { OpenAIService service = new OpenAIService(new OpenAiOptions() { ApiKey = OPENAPI_TOKEN}); CompletionCreateRequest createRequest = new CompletionCreateRequest() { Prompt = "寫一首關于工作的詩", Temperature = 0.3f, MaxTokens = 1000 }; var res = await service.Completions.CreateCompletion(createRequest,Models.TextDavinciV3); if (res.Successful) { var ss= res.Choices.FirstOrDefault().Text; Console.WriteLine(ss); } }
可以看出寫的還不錯
總結
到此這篇關于C#/.Net開發(fā)chatGPT、openAI的文章就介紹到這了,更多相關C# .Net開發(fā)chatGPT openAI內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
VsCode使用EmmyLua插件調試Unity工程Lua代碼的詳細步驟
這篇文章主要介紹了VsCode使用EmmyLua插件調試Unity工程Lua代碼,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08C#中的WebRequest與WebResponse抽象類、DNS靜態(tài)類、Ping類介紹
這篇文章介紹了C#中的WebRequest與WebResponse抽象類、DNS靜態(tài)類、Ping類,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05