欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

Sdcb Chats:一個全新的開源大語言模型前端

freeflydom
2024年12月16日 9:58 本文熱度 463

在當(dāng)前大語言模型(LLM)蓬勃發(fā)展的時代,各類 LLM 前端層出不窮。那么,為什么我們還需要另一個 LLM 前端呢?

最初的原因在于質(zhì)感的追求。市面上已有的開源或不開源的大語言模型前端在用戶體驗上都缺少了一些類似 ChatGPT 那樣的質(zhì)感。因此,我們打造了 Sdcb Chats——一個基于 Apache 2.0 協(xié)議開源的項目,旨在為用戶提供更優(yōu)質(zhì)的交互體驗。

另一個原因是市場上幾乎沒有基于 .NET 實現(xiàn)的 LLM 前端,這讓我個人感到非常遺憾和不滿。Sdcb Chats 旨在填補(bǔ)這個空白,不僅為 .NET 社區(qū)帶來一個功能強(qiáng)大的大語言模型前端,同時也展示 .NET 在現(xiàn)代 AI 應(yīng)用中的潛力和優(yōu)勢。

消息內(nèi)容即是一棵樹

在與大語言模型交互時,傳統(tǒng)的對話形式可能會導(dǎo)致用戶與模型“爭吵”。Sdcb Chats 引入了樹狀消息結(jié)構(gòu),即在同一位置,用戶消息可以有多個回復(fù),LLM 的響應(yīng)也可以有多個。

這種設(shè)計的優(yōu)勢在于:

  • 當(dāng)您認(rèn)為 LLM 的回復(fù)不正確時,您可以修改提示詞(Prompt)或請求 LLM 重新回復(fù),而不是繼續(xù)爭論。
  • 提供了更靈活的對話路徑,方便回溯和比較不同的回答。

動圖1:Sdcb Chats 的主界面展示

如圖,與其在聊完之后再與LLM爭吵,不如修改Prompt。

遺憾的是,在我開發(fā)Chats之前,并沒有一個開源的LLM前端支持這個功能,這也是促成我要重新再做一個的根本原因。


大語言模型功能篇

多語言支持

動圖2:通過修改瀏覽器語言,Chats 支持多語言顯示

Sdcb Chats 支持多語言界面。您只需修改瀏覽器的語言設(shè)置,Chats 就會自動適配您的語言偏好,為全球用戶提供便捷。

聊天性能統(tǒng)計

動圖3:詳細(xì)的聊天性能統(tǒng)計

每次與 LLM 的對話,Chats 都會進(jìn)行詳盡的統(tǒng)計,包括:

  • Token 數(shù)量
  • 延遲時間
  • 返回次數(shù)
  • 客戶端 IP
  • 用戶代理(User Agent)
  • 用戶相關(guān)信息

這些數(shù)據(jù)有助于您日后進(jìn)行分析和優(yōu)化。

多種大語言模型支持

動圖4:支持多種模型提供商,內(nèi)置超過 100 款模型

Sdcb Chats 內(nèi)置了對 9 種模型提供商的支持,包括 OpenAI 兼容協(xié)議在內(nèi)。此外,還預(yù)置了超過 100 款模型的信息,方便您快速使用。

支持配置新的大語言模型

動圖5:演示如何新增 DeepSeek 和零一萬物模型

如果預(yù)置的模型不能滿足您的需求,您可以自行添加新的模型配置。在上述動圖中,我們演示了如何添加 DeepSeek 和零一萬物模型。

視覺模型支持

動圖6:支持多模態(tài)視覺模型與圖床功能

為了增強(qiáng)用戶體驗,Chats 支持視覺模型。我們?yōu)?Chats 添加了一層圖床,方便上傳和管理圖片。支持的圖床形式包括:

  • 本地文件
  • AWS S3
  • Minio
  • Azure Blob Storage
  • 阿里云 OSS

API 網(wǎng)關(guān)功能

動圖7:強(qiáng)大的 API 網(wǎng)關(guān)功能

很多開源項目聲稱兼容 OpenAI API 協(xié)議的 API 網(wǎng)關(guān)功能,但可能僅僅是 HTTP 協(xié)議的轉(zhuǎn)發(fā)。Chats 的 API 網(wǎng)關(guān)不僅支持按用戶權(quán)限配置模型、限制模型量,還支持目的地為非 OpenAI 協(xié)議的模型提供商,進(jìn)行透明代理

API 網(wǎng)關(guān)支持參數(shù)

動圖8:全面支持 OpenAI API 的參數(shù)和功能

Chats 的 API 網(wǎng)關(guān)全面支持 OpenAI API 的所有參數(shù),包括最新的 max_response_tokens(適用于最新的 OpenAI o1 模型)和 response_format=json_schema 等功能。此外,響應(yīng)的結(jié)束原因等信息也會忠實于源 API 的響應(yīng),確保兼容性和準(zhǔn)確性。


部署與兼容性

簡單部署:Docker 支持

圖片9:復(fù)雜的 GitHub Actions CICD 流程

Sdcb Chats 提供了便捷的 Docker 部署方式。我們在 GitHub Actions 中編寫了復(fù)雜的 CICD 流程,會自動編譯包括 Windows、Linux 等 4 種不同操作系統(tǒng)的原生支持 Docker 鏡像。

動態(tài)選擇合適的 Docker 鏡像

圖片10:通過 manifest 部署的 Docker 標(biāo)簽

通過使用 docker.io/sdcb/chats:latest 這樣的 Docker 標(biāo)簽,Docker 會根據(jù)您的操作系統(tǒng)和平臺架構(gòu)(如 amd64、arm64 等)動態(tài)選擇合適的 Docker 鏡像下載,這大大簡化了部署流程。Chats 提供了以下幾個鏡像:

描述Docker 鏡像
Latestdocker.io/sdcb/chats:latest
rdocker.io/sdcb/chats:r
Linux x64docker.io/sdcb/chats:r{version}-linux-x64
Linux ARM64docker.io/sdcb/chats:r{version}-linux-arm64
Windows Nano Server 1809docker.io/sdcb/chats:r{version}-nanoserver-1809
Windows Nano Server LTSC 2022docker.io/sdcb/chats:r{version}-nanoserver-ltsc2022

說明:

  • Latest 和 r{version} 鏡像中已經(jīng)包含了以下四個操作系統(tǒng)版本的支持:
    • Linux x64
    • Linux ARM64
    • Windows Nano Server 1809(適用于 Windows Server 2019)
    • Windows Nano Server LTSC 2022(適用于 Windows Server 2022)

因此,用戶在使用 docker pull 時,無需指定具體的操作系統(tǒng)版本,Docker 的 manifest 功能會自動選擇適合您系統(tǒng)的正確版本。這確保了用戶能夠輕松獲取與其環(huán)境兼容的鏡像,避免了選擇錯誤鏡像的風(fēng)險。

請注意,r{version} 中的 {version} 表示具體的版本號,例如 r141(在編寫文檔時的最新版本號)。通過這種方式,您可以始終獲取到最新或指定版本的最優(yōu)匹配版本,確保部署的快速和可靠。

簡單部署——Linux 容器演示

動圖11:在 Linux 上部署 Chats,雖然圖片是在Windows pwsh中演示,但我Docker Desktop啟用的是Linux容器

在 Linux 上,您可以按照以下步驟輕松部署 Chats:

  1. 創(chuàng)建 AppData 文件夾并設(shè)置權(quán)限:

    mkdir ./AppData && chmod 777 ./AppData
    
  2. 運行 Docker 命令:

    docker run --restart unless-stopped --name sdcb-chats -v ./AppData:/app/AppData -p 8080:8080 sdcb/chats:latest
    

創(chuàng)建之后,默認(rèn)的用戶名為 chats,默認(rèn)密碼為:RESET!!!,請注意,為了您的安全,請登錄之后立即修改您的默認(rèn)密碼。

簡單部署——Windows 容器演示

動圖12:在 Windows 上部署 Chats

許多朋友可能不知道,Windows 也有原生的 Docker。Chats 支持在 Windows 上以進(jìn)程隔離的方式部署 Docker,這與 Linux 的部署方式類似,但映射的目錄變?yōu)榱?nbsp;C:\app\AppData

簡單部署——可運行文件安裝

圖片13:GitHub Actions 的 Summary 頁面

對于不方便使用 Docker 的用戶,Sdcb Chats 提供了可直接運行的二進(jìn)制文件。我們通過 GitHub Actions 的 Matrix strategy,自動編譯了 8 種不同操作系統(tǒng)或平臺的 Native AOT 編譯版本。對于不便使用 Docker 部署的環(huán)境,Chats 提供了 8 種操作系統(tǒng)或架構(gòu)的直接部署選項,您可以從以下鏈接獲取相應(yīng)的編譯包:

圖片14:上傳到 GitHub Release 和個人 Minio 服務(wù)器的編譯文件

考慮到國內(nèi)用戶訪問 GitHub 速度較慢,我們將編譯文件同時上傳到了個人的 Minio 服務(wù)器,方便快速下載。

動圖15:演示如何下載和部署 Windows 版 Chats

直接下載適合您操作系統(tǒng)的壓縮包,解壓后雙擊 Chats.BE.exe 即可運行(對于 Linux 也同樣,直接運行里面的 Chats.BE 即可),無需安裝 .NET SDK 或 Runtime。

版本和下載說明

  1. 指定版本下載地址
    • 若需下載特定版本的 Chats,將鏈接中的release/latest/download替換為releases/download/r-{version}。例如,版本 141 的 Linux ARM64 文件鏈接為:
      https://github.com/sdcb/chats/releases/download/r-141/chats-linux-arm64.zip
      

執(zhí)行文件目錄結(jié)構(gòu)和運行說明

解壓AOT可執(zhí)行文件后的目錄結(jié)構(gòu)如下:

C:\Users\ZhouJie\Downloads\chats-win-x64>dir
 2024/12/06  16:35    <DIR>          .
 2024/12/06  16:35    <DIR>          ..
 2024/12/06  16:35               119 appsettings.Development.json
 2024/12/06  16:35               417 appsettings.json
 2024/12/06  16:35           367,144 aspnetcorev2_inprocess.dll
 2024/12/06  16:35        84,012,075 Chats.BE.exe
 2024/12/06  16:35           200,296 Chats.BE.pdb
 2024/12/06  16:35         1,759,232 e_sqlite3.dll
 2024/12/06  16:35           504,872 Microsoft.Data.SqlClient.SNI.dll
 2024/12/06  16:35               465 web.config
 2024/12/06  16:35    <DIR>          wwwroot
  • 啟動應(yīng)用:運行 Chats.BE.exe 即可啟動 Chats 應(yīng)用,該文件名雖指“后端”,但實際同時包含前端和后端組件。
  • 數(shù)據(jù)庫配置:默認(rèn)情況下,應(yīng)用將在當(dāng)前目錄創(chuàng)建名為 AppData 的目錄,并以 SQLite 作為數(shù)據(jù)庫。命令行參數(shù)可用于指定不同的數(shù)據(jù)庫類型:
    .\Chats.BE.exe --DBType=mssql --ConnectionStrings:ChatsDB="Data Source=(localdb)\mssqllocaldb; Initial Catalog=ChatsDB; Integrated Security=True"
    
    • 參數(shù) DBType:可選 sqlitemssql 或 pgsql
    • 參數(shù) --ConnectionStrings:ChatsDB:用于指定數(shù)據(jù)庫的ADO.NET連接字符串。

特殊說明

  • 對于下載的 chats.zip,將需要.NET SDK支持。安裝 .NET 運行時后,使用 dotnet Chats.BE.dll 啟動程序。

多數(shù)據(jù)庫支持(感謝 EF Core)

圖片16:支持多種數(shù)據(jù)庫類型

Chats 的后端使用 Entity Framework Core 訪問數(shù)據(jù)庫,支持:

  • SQLite:DBType=sqlite
  • SQL Server:DBType=mssql
  • PostgreSQL:DBType=pgsql

在程序首次運行且數(shù)據(jù)庫不存在時,Chats 會嘗試自動創(chuàng)建數(shù)據(jù)庫、相關(guān)表并插入基礎(chǔ)數(shù)據(jù)。

多文件服務(wù)支持

圖片17:支持多種圖床形式

Chats 支持本地文件、Minio/AWS S3、阿里云 OSS 和 Azure Blob Storage 五種圖床形式,您可以根據(jù)需要進(jìn)行配置。

我們創(chuàng)新性地使用了云服務(wù)廠商提供的 Presigned URL 或 SAS URL,這樣可以節(jié)省 Chats 服務(wù)器的帶寬,并提高圖片的訪問速度,增強(qiáng)用戶體驗,比如:

此外,我們引入了 PartialBufferedStream,在讀取用戶上傳圖片的元信息(如寬高)時,不需要完全讀入整個文件,節(jié)省內(nèi)存。實際運行中,Chats 的內(nèi)存占用僅約 200MB,具體代碼可以從這個鏈接中參考:https://github.com/sdcb/chats/blob/main/src/BE/Services/ImageInfo/PartialBufferedStream.cs


用戶管理與安全

完善的用戶管理功能

圖片19:管理員的用戶管理界面

作為一款面向企業(yè)應(yīng)用的軟件,Sdcb Chats 提供了強(qiáng)大的用戶管理功能。管理員可以:

  • 限制用戶能使用的模型
  • 限制 token 數(shù)量
  • 限制聊天次數(shù)
  • 設(shè)置模型過期時間

用戶有余額概念,模型的價格可配置。余額通過記賬表實現(xiàn),每一筆開銷或收入都會記錄,賬戶余額通過記賬表統(tǒng)計,確保并發(fā)請求下余額計算的準(zhǔn)確性。

支持 Keycloak SSO 登錄

動圖20:使用 Keycloak SSO 登錄

企業(yè)通常有自己的身份認(rèn)證系統(tǒng),如 Keycloak SSO。Chats 支持集成這些系統(tǒng),登錄時如果用戶不存在,會自動創(chuàng)建。只需配置相應(yīng)的 well-known URLclient ID 和 client secret

手機(jī)號碼驗證碼登錄

圖片21:手機(jī)驗證碼登錄界面

為方便國內(nèi)用戶,Chats 支持手機(jī)號碼驗證碼登錄,提升用戶體驗和安全性。

邀請碼與注冊

圖片22:邀請碼配置界面

如果您不想開放注冊,可以使用邀請碼機(jī)制。邀請碼可以限制邀請次數(shù),初始贈送金額,以及模型、token 數(shù)、使用次數(shù)和過期時間等。

圖片23:通過邀請碼注冊的新用戶初始權(quán)限設(shè)置

當(dāng) token 數(shù)和聊天次數(shù)都為 0 時,將使用余額,按照模型配置的價格扣費。


Sdcb Chats 現(xiàn)已開源!

項目地址:https://github.com/sdcb/chats

  • 項目最初由我的好朋友文旺發(fā)起
  • 歷經(jīng)超過 1000 次簽入打磨
  • 我們公司同事已經(jīng)內(nèi)部使用(dog food)一年

Sdcb 的含義

Sdcb:Serving dotNet, Constructing Brilliance(服務(wù) .NET,構(gòu)建卓越)

我們致力于為 .NET 社區(qū)和廣大開發(fā)者提供高質(zhì)量的開源項目。

開源協(xié)議

Apache 2.0 開源協(xié)議(可免費商用)

您可以自由地使用、修改和分發(fā) Sdcb Chats,無需商用授權(quán)。

歡迎 Star ?

如果您覺得這個項目對您有幫助,請在 GitHub 上給我們一個 Star!您的支持是我們前進(jìn)的最大動力。


感謝您的閱讀和支持!讓我們一起用 Sdcb Chats 探索大語言模型的無限可能!

轉(zhuǎn)自https://www.cnblogs.com/sdcb/p/18597030/sdcb-chats-intro


該文章在 2024/12/16 9:58:07 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved