国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【開源免費(fèi)】ChatGPT-Java版SDK更新至1.0.10版,支持Tokens計(jì)算,快來一鍵接入。

這篇具有很好參考價(jià)值的文章主要介紹了【開源免費(fèi)】ChatGPT-Java版SDK更新至1.0.10版,支持Tokens計(jì)算,快來一鍵接入。。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

簡介

ChatGPT Java版SDK開源地址:https://github.com/Grt1228/chatgpt-java ,目前收獲將近1000個(gè)star。

有bug歡迎朋友們指出,互相學(xué)習(xí),所有咨詢?nèi)棵赓M(fèi)。

最新版:1.0.10

<dependency>
    <groupId>com.unfbx</groupId>
    <artifactId>chatgpt-java</artifactId>
    <version>1.0.10</version>
</dependency>

整合web示例,支持流式返回:

開發(fā)思路可以參考:https://github.com/Grt1228/chatgpt-steam-output

流式輸出實(shí)現(xiàn)方式 小程序 安卓 ios H5
SSE參考:OpenAISSEEventSourceListener 不支持 支持 支持 支持
WebSocket參考:OpenAIWebSocketEventSourceListener 支持 支持 支持 支持

更新日志

  • 1.0.10 支持tokens計(jì)算:TikTokensTest ,更多詳細(xì)的資料參考文檔:Tokens_README.md
  • 1.0.9 支持自定義key使用策略參考:OpenAiClientTest 和OpenAiStreamClientTest ,棄用ChatGPTClient,優(yōu)化Moderation接口
  • 1.0.8 修改OpenAiClient和OpenAiStreamClient的自定義相關(guān)實(shí)現(xiàn),超時(shí)設(shè)置,代理設(shè)置,自定義攔截器設(shè)置改為通過自定義OkHttpClient實(shí)現(xiàn),將OkHttpClient交由用戶自定義控制更加合理,可以實(shí)現(xiàn)更多的參數(shù)自定義。支持多Api Keys配置。
  • 1.0.7 修復(fù)反序列化報(bào)錯(cuò)Bug:https://github.com/Grt1228/chatgpt-java/issues/79 ,Image SDK枚舉值bug:https://github.com/Grt1228/chatgpt-java/issues/76 ,感謝兩位朋友指出:@CCc3120 、@seven-cm
  • 1.0.6 支持余額查詢參考:OpenAiClientTest 和OpenAiStreamClientTest creditGrants方法,支持最新GPT-4模型,參考:ChatCompletion.Model構(gòu)建消息體傳入模型即可。感謝群友提供的余額接口地址以及@PlexPt 提供的模型參數(shù)
  • 1.0.5 支持自定義Api Host,使用Builder構(gòu)建。參考下面的快速開始部分代碼。
  • 1.0.4 官方最新的ChatGPT Stream模式下的Api返回值改動。
  • 1.0.3 支持最新的GPT-3.5-Turbo模型和Whisper-1模型,支持語音功能轉(zhuǎn)文字,語音翻譯。OpenAiClient和OpenAiStreamClient支持Builder構(gòu)造,支持代理。
  • 1.0.2 支持Stream流式輸出,參考:OpenAiStreamClient
  • 1.0.1 支持自定義超時(shí)時(shí)間,自定義OkHttpClient攔截器,參考:OpenAiClient構(gòu)造函數(shù)
  • 1.0.0 支持所有的OpenAI官方接口

最新版支持tokens計(jì)算

tokens計(jì)算說明

openai 的tokens計(jì)算規(guī)則適合模型先關(guān)的,不同的模型計(jì)算方法是不一樣的。大致的表格如下:

關(guān)于流式返回

流式返回的數(shù)據(jù),返回行數(shù)-2=返回tokens

[DONE]這一行不參與tokens計(jì)算,沒有content屬性的不參與token計(jì)算。
所以tokens數(shù)量是4,[“Ser”,“end”,“ip”,“ity”],總返回行數(shù)6 - 無效行數(shù)2 = 4個(gè)tokens


[OkHttp 省略 INFO com.unfbx.chatgpt.*****istener - OpenAI建立sse連接...
[OkHttp 省略 INFO com.unfbx.chatgpt.*****istener - OpenAI返回?cái)?shù)據(jù):{"choices":[{"delta":{"role":"assistant"},"index":0,"finish_reason":null}]}
[OkHttp 省略 INFO com.unfbx.chatgpt.*****istener - OpenAI返回?cái)?shù)據(jù):{"choices":[{"delta":{"content":"Ser"},"index":0,"finish_reason":null}]}
[OkHttp 省略 INFO com.unfbx.chatgpt.*****istener - OpenAI返回?cái)?shù)據(jù):{"choices":[{"delta":{"content":"end"},"index":0,"finish_reason":null}]}
[OkHttp 省略 INFO com.unfbx.chatgpt.*****istener - OpenAI返回?cái)?shù)據(jù):{"choices":[{"delta":{"content":"ip"},"index":0,"finish_reason":null}]}
[OkHttp 省略 INFO com.unfbx.chatgpt.*****istener - OpenAI返回?cái)?shù)據(jù):{"choices":[{"delta":{"content":"ity"},"index":0,"finish_reason":null}]}
[OkHttp 省略 INFO com.unfbx.chatgpt.*****istener - OpenAI返回?cái)?shù)據(jù):{"choices":[{"delta":{},"index":0,"finish_reason":"stop"}]}
[OkHttp 省略 INFO com.unfbx.chatgpt.*****istener - OpenAI返回?cái)?shù)據(jù):[DONE]
[OkHttp 省略 INFO com.unfbx.chatgpt.*****istener - OpenAI返回?cái)?shù)據(jù)結(jié)束了
[OkHttp 省略 INFO com.unfbx.chatgpt.*****istener - OpenAI關(guān)閉sse連接...

tokens計(jì)算使用示例

完整使用示例請參考:TikTokensTest

結(jié)合chat模型使用示例:
完整示例參考:OpenAiClientTest

    public void chatTokensTest() {
        //聊天模型:gpt-3.5
        List<Message> messages = new ArrayList<>(2);
        messages.add(Message.builder().role(Message.Role.USER).content("關(guān)注微信公眾號:程序員的黑洞。").build());
        messages.add(Message.builder().role(Message.Role.USER).content("進(jìn)入chatgpt-java交流群獲取最新版本更新通知。").build());
        ChatCompletion chatCompletion = ChatCompletion.builder().messages(messages).build();
        ChatCompletionResponse chatCompletionResponse = v2.chatCompletion(chatCompletion);
        //獲取請求的tokens數(shù)量
        long tokens = chatCompletion.tokens();
        //這種方式也可以
//        long tokens = TikTokensUtil.tokens(chatCompletion.getModel(),messages);
        log.info("Message集合文本:【{}】", messages, tokens);
        log.info("本地計(jì)算的請求的tokens數(shù){}", tokens);
        log.info("本地計(jì)算的返回的tokens數(shù){}", TikTokensUtil.tokens(chatCompletion.getModel(),chatCompletionResponse.getChoices().get(0).getMessage().getContent()));
        log.info("---------------------------------------------------");
        log.info("Open AI 官方計(jì)算的總的tokens數(shù){}", chatCompletionResponse.getUsage().getTotalTokens());
        log.info("Open AI 官方計(jì)算的請求的tokens數(shù){}", chatCompletionResponse.getUsage().getPromptTokens());
        log.info("Open AI 官方計(jì)算的返回的tokens數(shù){}", chatCompletionResponse.getUsage().getCompletionTokens());
    }

單獨(dú)使用示例:

public class TikTokensTest {
    String text;
    List<Message> messages;

    @Before
    public void prepareData() {
        text = "關(guān)注微信公眾號:程序員的黑洞。進(jìn)入chatgpt-java交流群獲取最新版本更新通知。";
        messages = new ArrayList<>(2);
        messages.add(Message.builder().role(Message.Role.USER).content("關(guān)注微信公眾號:程序員的黑洞。").build());
        messages.add(Message.builder().role(Message.Role.USER).content("進(jìn)入chatgpt-java交流群獲取最新版本更新通知。").build());
    }
    /**
     * gpt-3.5和gpt4.0聊天模型接口計(jì)算推薦這種方法
     */
    @Test
    public void chatCompletionTokensTest() {
        
        ChatCompletion completion = ChatCompletion.builder().messages(messages).build();
        long tokens = completion.tokens();
        log.info("Message集合文本:【{}】", messages, tokens);
        log.info("總tokens數(shù){}", tokens);
    }

    /**
     * Completion 接口計(jì)算推薦使用這種方法
     */
    @Test
    public void completionTokensTest() {
        Completion completion = Completion.builder().prompt(text).build();
        long tokens = completion.tokens();
        log.info("單句文本:【{}】", text);
        log.info("總tokens數(shù){}", tokens);
    }

    /**
     * 通過模型模型名稱計(jì)算
     */
    @Test
    public void byModelNameTest() {
        String modelName = ChatCompletion.Model.GPT_4.getName();
//        String modelName = ChatCompletion.Model.GPT_3_5_TURBO.getName();
        List<Integer> encode = TikTokensUtil.encode(modelName, text);
        log.info(encode.toString());
        long tokens = TikTokensUtil.tokens(modelName, text);
        log.info("單句文本:【{}】", text);
        log.info("總tokens數(shù){}", tokens);
        log.info("--------------------------------------------------------------");
        tokens = TikTokensUtil.tokens(modelName, messages);
        log.info("Message集合文本:【{}】", messages, tokens);
        log.info("總tokens數(shù){}", tokens);
    }

    /**
     * 通過Encoding計(jì)算
     */
    @Test
    public void byEncodingTest() {
        EncodingRegistry registry = Encodings.newDefaultEncodingRegistry();
        Encoding enc = registry.getEncoding(EncodingType.P50K_BASE);
        List<Integer> encode = TikTokensUtil.encode(enc, text);
        log.info(encode.toString());
        long tokens = TikTokensUtil.tokens(enc, text);
        log.info("單句文本:【{}】", text);
        log.info("總tokens數(shù){}", tokens);
    }

    /**
     * 通過EncodingType計(jì)算
     */
    @Test
    public void byEncodingTypeTest() {
        List<Integer> encode = TikTokensUtil.encode(EncodingType.CL100K_BASE, text);
        log.info(encode.toString());
        long tokens = TikTokensUtil.tokens(EncodingType.CL100K_BASE, text);
        log.info("單句文本:【{}】", text);
        log.info("總tokens數(shù){}", tokens);
    }

}

站在巨人的肩膀

感謝大佬:knuddelsgmbh 的jtokkit 的開源計(jì)算算法。文章來源地址http://www.zghlxwxcb.cn/news/detail-409922.html

到了這里,關(guān)于【開源免費(fèi)】ChatGPT-Java版SDK更新至1.0.10版,支持Tokens計(jì)算,快來一鍵接入。的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 讓你的ChatGPT更加強(qiáng)大——200+小白用來解鎖ChatGPT高級功能的提示(Prompts)——即開即用-開源純免費(fèi)-實(shí)時(shí)更新

    讓你的ChatGPT更加強(qiáng)大——200+小白用來解鎖ChatGPT高級功能的提示(Prompts)——即開即用-開源純免費(fèi)-實(shí)時(shí)更新

    隨著 ChatGPT 受到越來越多的關(guān)注,大多數(shù)人只是將其視為一種獵奇的聊天機(jī)器人,以測試其人工智能的答案。但是,ChatGPT 不僅僅是一款?yuàn)蕵饭ぞ?,未來它也可能成為必要的生產(chǎn)手段。它之類的 AI 工具可以利用其巨大的語言知識庫,為我們創(chuàng)造出更大的價(jià)值。 提示詞(即 P

    2024年02月04日
    瀏覽(60)
  • 2023最新AI創(chuàng)作系統(tǒng)/ChatGPT商業(yè)運(yùn)營版網(wǎng)站程序源碼+支持GPT4+支持ai繪畫(MJ)+實(shí)時(shí)語音識別輸入+免費(fèi)更新版本

    2023最新AI創(chuàng)作系統(tǒng)/ChatGPT商業(yè)運(yùn)營版網(wǎng)站程序源碼+支持GPT4+支持ai繪畫(MJ)+實(shí)時(shí)語音識別輸入+免費(fèi)更新版本

    1、提問:程序已經(jīng)支持GPT3.5、GPT4.0接口 2、支持三種Ai繪畫模型(官方Midjourney模型、GPT3.5KEY繪畫、國內(nèi)其他繪畫模型) 3、中英文實(shí)時(shí)語音識別輸入,文章資訊發(fā)布功能,菜單工具欄功能,郵箱驗(yàn)證和手機(jī)短信驗(yàn)證注冊登錄,邀請返傭功能。 4、新增Prompt面具角色扮演功能 5、

    2024年02月11日
    瀏覽(108)
  • 千帆SDK開源到GitHub,開發(fā)者可免費(fèi)下載使用!

    千帆SDK開源到GitHub,開發(fā)者可免費(fèi)下載使用!

    目錄 一、SDK的優(yōu)勢 二、千帆SDK:快速落地LLM應(yīng)用 三、如何快速上手千帆SDK 1、SDK快速啟動 快速安裝 平臺鑒權(quán) 如何獲取AK/SK 以“Chat 對話”為調(diào)用示例 2. SDK進(jìn)階指引 3. 通過Langchain接入千帆SDK 為什么選擇Langchain 開源社區(qū) 千帆社區(qū) 好消息,好消息,百度千帆SDK開源啦?。?!

    2024年02月05日
    瀏覽(21)
  • 已經(jīng)開源的中文大模型對比,支持更新

    大模型對比網(wǎng)站:大模型綜合評測對比 | 當(dāng)前主流大模型在各評測數(shù)據(jù)集上的表現(xiàn)總榜單 | 數(shù)據(jù)學(xué)習(xí) (DataLearner) 大模型下載:互鏈高科 ClueAI/PromptCLUE-base-v1-5 at main (huggingface.co) 支持多任務(wù)生成,支持中文,不支持多輪對話,體驗(yàn):ClueAI (cluebenchmarks.com) 基于promptclue-base進(jìn)一步訓(xùn)

    2024年02月12日
    瀏覽(23)
  • 免費(fèi)的ChatGPT網(wǎng)站(10個(gè))

    免費(fèi)的ChatGPT網(wǎng)站(10個(gè))

    引言: 本篇博客將介紹幾個(gè)常見的AI工具網(wǎng)站:如文心一言、通義千問、POE,分別來自國內(nèi)和國外。我們將探索它們的特點(diǎn)、用途和提供的服務(wù),同時(shí)提供相關(guān)網(wǎng)址和簡介。希望幫助到各位同學(xué)!? 對于用戶體驗(yàn),根據(jù)用途不同,仁者見仁智者見智吧,都是國內(nèi)挺不錯(cuò)的AI工

    2024年04月22日
    瀏覽(15)
  • 分享一個(gè)國內(nèi)免費(fèi)的ChatGPT網(wǎng)站,手機(jī)電腦通用,免費(fèi)無限制,支持AI繪畫

    分享一個(gè)國內(nèi)免費(fèi)的ChatGPT網(wǎng)站,手機(jī)電腦通用,免費(fèi)無限制,支持AI繪畫

    背景 AIGC作為一種基于人工智能技術(shù)的自然語言處理工具,近期的熱度直接沸騰??。 作為一個(gè)AI愛好者,翻遍了各大AIGC的網(wǎng)站,終于找到一個(gè)免費(fèi)!手機(jī)電腦通用!可直接對話的AIGC,也有各種提供工作效率的工具供大家使用。 產(chǎn)品名稱 百曉生 網(wǎng)站地址 https://ai.hxkj.vip 畫圖

    2024年02月07日
    瀏覽(39)
  • 最新ChatGPT網(wǎng)站源碼+支持GPT4+支持ai繪畫(Midjourney)+一鍵在線更新版本+永久更新!

    最新ChatGPT網(wǎng)站源碼+支持GPT4+支持ai繪畫(Midjourney)+一鍵在線更新版本+永久更新!

    最新ChatGPT網(wǎng)站源碼+支持GPT4+支持ai繪畫(Midjourney)+一鍵在線更新版本+永久更新! 支持手機(jī)電腦不同布局頁面自適應(yīng) ChatGPT網(wǎng)站系統(tǒng)商用運(yùn)營版: 如果后續(xù)程序有新版,直接在后臺一鍵更新即可! 程序完美運(yùn)行無BUG,獨(dú)家開發(fā),支持6種會員開通模式,有:\\\"購買提問次數(shù)\\\"或者\(yùn)\\"開

    2024年02月09日
    瀏覽(95)
  • 開源日報(bào) 0830 | 免費(fèi)計(jì)算機(jī)科學(xué)自學(xué)路徑:系統(tǒng)化教育與全球支持

    開源日報(bào) 0830 | 免費(fèi)計(jì)算機(jī)科學(xué)自學(xué)路徑:系統(tǒng)化教育與全球支持

    Stars: 141.9k License: MIT 這個(gè)開源項(xiàng)目是一個(gè)自學(xué)計(jì)算機(jī)科學(xué)的免費(fèi)路徑。它提供了一套完整的在線教育材料,旨在為那些希望獲得全面、扎實(shí)基礎(chǔ)和良好習(xí)慣的人們提供支持。該課程按照本科計(jì)算機(jī)專業(yè)要求設(shè)計(jì),并且選取了來自哈佛大學(xué)、普林斯頓大學(xué)、麻省理工等高校最優(yōu)

    2024年02月09日
    瀏覽(22)
  • 10大最佳免費(fèi)/開源產(chǎn)品開發(fā)進(jìn)度管理系統(tǒng)

    10大最佳免費(fèi)/開源產(chǎn)品開發(fā)進(jìn)度管理系統(tǒng)

    開源或免費(fèi)的進(jìn)度管理軟件一定程度能夠幫助企業(yè)提升管理效率,節(jié)省購買成本。本文將整理出國內(nèi)外10大最佳開源或者提供免費(fèi)版本的進(jìn)度管理工具,比如:1.免費(fèi)產(chǎn)品研發(fā)進(jìn)度管理工具- PingCode ;2.免費(fèi)項(xiàng)目進(jìn)度管理平臺- Worktile ;3.開源進(jìn)度管理工具-OpenProj等等。 團(tuán)隊(duì)在選

    2024年02月05日
    瀏覽(19)
  • ChatGPT網(wǎng)站源碼V4.7.9+支持Ai繪畫+支持用戶套餐+好友邀請功能+管理后臺+一鍵在線更新+永久更新!

    ChatGPT網(wǎng)站源碼V4.7.9+支持Ai繪畫+支持用戶套餐+好友邀請功能+管理后臺+一鍵在線更新+永久更新!

    ChatGPT網(wǎng)站源碼V4.7.9+支持Ai繪畫+支持用戶套餐+好友邀請功能+管理后臺+一鍵在線更新+永久更新! 程序完美運(yùn)行無BUG,獨(dú)家開發(fā),支持6種會員開通模式,有:”購買提問次數(shù)”或者”開通月付會員”套餐等等 套餐次數(shù)和價(jià)格可以自定義在后臺進(jìn)行修改 支付直接對接易支付或碼

    2024年02月09日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包