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

分享一個由rust實(shí)現(xiàn)的openai api服務(wù)端+Android客戶端

這篇具有很好參考價值的文章主要介紹了分享一個由rust實(shí)現(xiàn)的openai api服務(wù)端+Android客戶端。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

開發(fā)緣由

  1. 官方網(wǎng)頁存在經(jīng)常中途斷開的問題.
  2. 經(jīng)常使用不同ip登錄openai帳號可能會導(dǎo)致封號.
  3. 使用開源項(xiàng)目chatgpt-web搭建過一個網(wǎng)頁端,目前已被DNS污染,
  4. 體驗(yàn)GitHub Copilot.
  5. 已經(jīng)使用了rust語言一段時間,打算用它寫個服務(wù)端練手.

服務(wù)端

技術(shù)棧
  1. rust

Rust是一種系統(tǒng)級編程語言,由Mozilla開發(fā)。它的設(shè)計目標(biāo)是提供一種安全、并發(fā)、實(shí)用的編程語言。Rust的語法類似于C++,但它具有內(nèi)存安全和線程安全的特性,這使得它在編寫高性能系統(tǒng)級代碼時非常有用。Rust還有一個強(qiáng)大的包管理器Cargo,可以幫助開發(fā)者管理依賴項(xiàng)和構(gòu)建項(xiàng)目。

  1. tokio

Tokio是一個基于Rust語言的異步運(yùn)行時庫,它提供了一種高效的方式來編寫異步I/O應(yīng)用程序。Tokio的核心是一個事件循環(huán),它可以處理大量的并發(fā)連接,而不會消耗太多的系統(tǒng)資源。Tokio還提供了一組異步I/O原語,包括TCP、UDP、Unix域套接字、定時器等,這些原語可以幫助開發(fā)者編寫高性能的網(wǎng)絡(luò)應(yīng)用程序。Tokio還提供了一些工具和宏,可以幫助開發(fā)者編寫簡潔、易于維護(hù)的異步代碼。

  1. axum

Axum是一個基于Rust語言的Web框架,它使用了異步I/O和Tokio運(yùn)行時來提供高性能的Web服務(wù)。Axum的設(shè)計目標(biāo)是提供一種簡單、易于使用的Web框架,同時保持高性能和可擴(kuò)展性。Axum的核心是一個基于路由的處理器,它可以將HTTP請求路由到不同的處理器函數(shù)中。Axum還提供了一些中間件,可以用于處理請求和響應(yīng),例如身份驗(yàn)證、日志記錄、錯誤處理等。Axum還提供了一些工具和宏,可以幫助開發(fā)者編寫簡潔、易于維護(hù)的Web應(yīng)用程序。Axum的依賴管理使用Cargo,這使得開發(fā)者可以輕松地管理依賴項(xiàng)和構(gòu)建項(xiàng)目。

  1. clap

Clap是一個基于Rust語言的命令行參數(shù)解析庫,它提供了一種簡單、易于使用的方式來解析命令行參數(shù)。Clap的設(shè)計目標(biāo)是提供一種靈活、可定制的命令行解析器,同時保持高性能和易于使用。Clap支持各種類型的命令行參數(shù),包括標(biāo)志、選項(xiàng)、位置參數(shù)等。Clap還支持子命令,可以幫助開發(fā)者構(gòu)建復(fù)雜的命令行工具。Clap的API文檔非常詳細(xì),而且提供了大量的示例代碼,這使得開發(fā)者可以快速上手并使用Clap來解析命令行參數(shù)。Clap的依賴管理使用Cargo,這使得開發(fā)者可以輕松地管理依賴項(xiàng)和構(gòu)建項(xiàng)目。

  1. async-openai

async-openai是一個基于Rust語言的異步OpenAI API客戶端庫,它使用異步I/O和Tokio運(yùn)行時來提供高性能的OpenAI API服務(wù)。async-openai的設(shè)計目標(biāo)是提供一種簡單、易于使用的方式來訪問OpenAI API,同時保持高性能和可擴(kuò)展性。async-openai支持各種類型的OpenAI API,包括文本生成、語言翻譯、語言理解等。async-openai還提供了一些工具和宏,可以幫助開發(fā)者編寫簡潔、易于維護(hù)的異步代碼。async-openai的依賴管理使用Cargo,這使得開發(fā)者可以輕松地管理依賴項(xiàng)和構(gòu)建項(xiàng)目。

  1. anyhow

anyhow是一個基于Rust語言的錯誤處理庫,它提供了一種簡單、易于使用的方式來處理錯誤。anyhow的設(shè)計目標(biāo)是提供一種靈活、可定制的錯誤處理機(jī)制,同時保持高性能和易于使用。anyhow的核心是一個Error類型,它可以包含任何類型的錯誤信息。anyhow還提供了一些工具和宏,可以幫助開發(fā)者編寫簡潔、易于維護(hù)的錯誤處理代碼。anyhow的依賴管理使用Cargo,這使得開發(fā)者可以輕松地管理依賴項(xiàng)和構(gòu)建項(xiàng)目。

  1. serde

serde是一個基于Rust語言的序列化和反序列化庫,它提供了一種簡單、易于使用的方式來將數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為字節(jié)流或從字節(jié)流中解析數(shù)據(jù)結(jié)構(gòu)。serde的設(shè)計目標(biāo)是提供一種靈活、可定制的序列化和反序列化機(jī)制,同時保持高性能和易于使用。serde支持各種類型的數(shù)據(jù)結(jié)構(gòu),包括基本類型、元組、數(shù)組、結(jié)構(gòu)體、枚舉等。serde還支持各種格式的數(shù)據(jù)序列化和反序列化,包括JSON、YAML、TOML、Bincode等。serde的API文檔非常詳細(xì),而且提供了大量的示例代碼,這使得開發(fā)者可以快速上手并使用serde來序列化和反序列化數(shù)據(jù)。serde的依賴管理使用Cargo,這使得開發(fā)者可以輕松地管理依賴項(xiàng)和構(gòu)建項(xiàng)目。

  1. tracing

tracing是一個基于Rust語言的分布式應(yīng)用程序跟蹤系統(tǒng),它提供了一種簡單、易于使用的方式來跟蹤應(yīng)用程序中的事件和操作。tracing的設(shè)計目標(biāo)是提供一種靈活、可定制的跟蹤機(jī)制,同時保持高性能和易于使用。tracing支持各種類型的跟蹤事件,包括日志記錄、性能分析、錯誤處理等。tracing還提供了一些工具和宏,可以幫助開發(fā)者編寫簡潔、易于維護(hù)的跟蹤代碼。tracing的依賴管理使用Cargo,這使得開發(fā)者可以輕松地管理依賴項(xiàng)和構(gòu)建項(xiàng)目。在Rust生態(tài)系統(tǒng)中,tracing是一個非常流行的跟蹤庫,被廣泛用于構(gòu)建高性能、可擴(kuò)展的分布式應(yīng)用程序。

服務(wù)端功能
  1. 隱私安全
    配合客戶端,不記錄任何設(shè)備信息,未保存ip信息,不記錄任何聊天記錄,高度隱私.

  2. 支持服務(wù)端指定api_key.

  3. 支持客戶端自定義api_key.服務(wù)端只做轉(zhuǎn)發(fā)功能.

  4. 自定義端口.

部分代碼由GitHub Copilot生成

用法
./openai_api_server -a "your_key" -p "your_port"

客戶端

技術(shù)棧
  1. okhttp
  2. room
  3. jtokkit
    用于token數(shù)計算
  4. lottie
    動畫展示
  5. openai-client
    用于本地模式

部分代碼由GitHub Copilot生成,大部分圖片由Stable Diffusion WebUI生成.

客戶端功能
  1. 自定義api_key.
  2. 本地模式(使用自己api_key,從本地發(fā)出請求,不使用服務(wù)器轉(zhuǎn)發(fā))
  3. 隱私安全.
    聊天記錄存本地,可刪除. 不收集任何隱私信息.
  4. 自定義最大token數(shù).
  5. 自定義內(nèi)容記錄長度.
  6. 支持prompts
客戶端截圖
分享一個由rust實(shí)現(xiàn)的openai api服務(wù)端+Android客戶端,rust,android,開發(fā)語言分享一個由rust實(shí)現(xiàn)的openai api服務(wù)端+Android客戶端,rust,android,開發(fā)語言
分享一個由rust實(shí)現(xiàn)的openai api服務(wù)端+Android客戶端,rust,android,開發(fā)語言分享一個由rust實(shí)現(xiàn)的openai api服務(wù)端+Android客戶端,rust,android,開發(fā)語言

服務(wù)端項(xiàng)目地址:https://github.com/tangxuesong6/kyf_server
客戶端項(xiàng)目地址:https://github.com/tangxuesong6/kyf_client文章來源地址http://www.zghlxwxcb.cn/news/detail-542130.html

到了這里,關(guān)于分享一個由rust實(shí)現(xiàn)的openai api服務(wù)端+Android客戶端的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(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)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

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

相關(guān)文章

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包