Genoss GPT簡介:使用 Genoss 模型網關實現多個LLM模型的快速切換與集成

一、前言

生成式人工智能領域的發展繼續加速,大型語言模型 (LLM) 的用途范圍不斷擴大。這些用途跨越不同的領域,包括個人助理、文檔檢索以及圖像和文本生成。ChatGPT 等突破性應用程序為公司進入該領域并開始使用這項技術進行構建鋪平了道路。

大公司正在構建自己的模型,例如 Meta 及其新發布的 Llama 2,以及 Microsoft 與 OpenAI 和 Meta 的合作伙伴關系,這表明該領域存在大量投資。

Hugging Face 等獨角獸初創公司以 40 億美元的估值籌集資金,主導了開源領域,讓任何人都可以輕松部署模型。然而,由于成本高昂,小公司不太可能在從頭開始建立生產級的大語言模型與大型科技巨頭競爭。

像LangChain這樣的生態系統為開發人員與這些第三方 LLM 或通常所說的基礎模型進行交互提供了一組有用的實用程序。LangChain 類幫助開發人員利用具有 I/O 和內存的模型,并提供模型鏈來完成文檔檢索等特定任務。此外,LangChain建立了標準詞匯,引入了生態系統中具有明確含義的“RetrievalChain”和“MemoryStore”等術語,從而簡化了AI工程師之間的討論。

二、LLM模型集成問題

在前面我們介紹了一個名為Quivr的開源項目,它用于構建本地知識庫。然而,當需要擴展多個不同的模型時,功能開發變得非常復雜且難以維護。為了解決這個問題,作者 Stan Girard 開發了Genoss。Genoss通過創建一個簡單的API,允許使用任何模型都可以像使用OpenAI的ChatGPT API一樣使用相同的API接口。這樣一來,Quivr的模型擴展能力就完全解耦出來了,只需要使用Genoss調用統一的API接口即可完成其他模型的接入,包括本地LLM。

目前用于與LLM提供商進行集成的工具還存在明顯的差距。隨著新型和改進型模型的引入以及技術的進步,工程師們希望能夠自由快速地實現這些模型的新功能。

LangChain為許多模型提供了類,例如OpenAI和Hugging Face,這些類基于一個通用的LLM類。然而,對于每個提供商,需要使用不同的類。這些類具有各種方法和屬性,盡管你希望它們可以直接插拔使用,但實際解決方案很少是那么簡單的。

此外,模型流式傳輸和嵌套鏈等因素進一步復雜化了問題。雖然LangChain在構建可組合部件之間的互操作性方面做得很好(例如VectorStores、DocumentLoaders和Retrievers),但在切換LLM模型時,我們需要改進開發者的體驗。

三、GenossGPT 介紹

GenossGPT提供了與GPT模型交互的通用接口,使企業能夠控制模型的使用。同時,利用LangSmith在生產環境中提供增強的可觀察性和分析功能。

Genoss是一個由LangChain支持的模型網關。它將調用任何受支持的LLM(語言模型)的過程標準化為一個統一的接口,并與OpenAI API規范兼容。只需將基本URL更改為Genoss端點,就可以輕松獲得任何LLM模型的強大功能。它可以直接集成到任何支持OpenAI接口的第三方工具中。

Genoss簡化了與多個提供者之間的交互和嵌入模型的繁重工作。通過簡單地更改模型名稱,您可以在本地開源模型、OpenAI模型、AWS Bedrock模型或任何Hugging Face模型之間進行切換。

在企業環境中使用Genoss時,管理員可以通過儀表板上的單一更改來更新模型。無需更新任何應用程序代碼即可指向新的LLM提供者,所有映射都由Genoss處理。這對于需要針對不同任務或用戶層使用不同模型的應用程序非常有用。付費用戶可以選擇具有不同優勢的模型,例如增強隱私或使用特定知識進行微調,而演示用戶則可以使用通用且更便宜的模型。

四、Genoss 接入 Llama V2 LLM模型

Llama V2是一種先進的LLM(語言模型),旨在完成各種自然語言處理任務。Genoss是一個開源平臺,使我們能夠快速運行這樣的模型,而Hugging Face提供了一個生態系統來托管和管理模型。

接下來我們將介紹如何使用Genoss通過Hugging Face的推理端點來運行Llama V2 LLM模型,將其托管在Hugging Face服務器上。

4.1、下載項目源碼

git clone https://github.com/OpenGenerativeAI/GenossGPT.git

4.2、搭建開發環境

1)、安裝 Python 3.11 版本

安裝pyenv來管理您的 Python 版本和虛擬環境:

curl -sSL https://pyenv.run | bash

如果您在 MacOS 上使用 pyenv 安裝 python 時遇到錯誤,請按照此評論操作。

將這些行添加到您的~/.bashrc~/.zshrc以便能夠激活pyenv virtualenv

eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
eval "$(pyenv init --path)"
  • 重新啟動Shell終端

  • 安裝正確版本Pythonpyenv

pyenv install 3.11.3

2)、安裝 Poetry

安裝Poetry來管理您的依賴項和工具配置:

curl -sSL https://install.python-poetry.org | python - --version 1.5.1

如果您之前沒有安裝過任何Python版本,您可能需要在安裝Poetry之前設置全局Python版本:

pyenv global 3.11.3

3)、創建虛擬環境

創建您的虛擬環境并將其鏈接到您的項目文件夾:

pyenv virtualenv 3.11.3 genoss-gpt
pyenv local genoss-gpt

這樣,每次進入項目目錄時,你的 virtualenv 都會被激活。

4)、通過poetry安裝Python依賴

poetry install --no-root

安裝Poetry,它可以輕松安裝處理 Genoss 后端所需的一切依賴。

4.3、更新配置文件

  • demo文件夾內有一個env.example文件。
cp .env.example .env
  • 進入demo文件夾并更新.env文件。

  • 添加 HuggingFace API 令牌,您可以在 HuggingFace 的 settings/token 下創建該令牌。

  • 添加 OpenAI API 密鑰。前往https://platform.openai.com/account/api-keys

  • 最后,指定自定義 HuggingFace 端點 URL。

4.4、部署模型

  • 在 HuggingFace 上找到 Llama V2 型號。

  • 將其部署在您選擇的區域和云提供商中。

  • 選擇所需的 GPU 并保護它,然后創建端點。

4.5、運行 Genoss

  • 將部署模型中的 URL 添加到.env文件中。

  • 運行命令以啟動流。

PYTHONPATH=. streamlit run demo/main.py 

4.6、訪問 Genoss

  • 現在您可以通過推理端點訪問 Genoss、HuggingFace 和 Llama V2。

  • 您還可以在本地托管其他模型。

GitHub地址:https://github.com/OpenGenerativeAI/GenossGPT

五、結論

模型接口的不一致性使得使用LLM變得比較復雜。商業和開源模型沒有統一的標準接口,而Genoss提供了統一的接口標準,使得商業和開源模型能夠更加方便地使用。通過使用Genoss,開發人員可以降低學習曲線,快速構建應用程序并擴展生成式AI功能的利用。

考慮到LLM的快速發展速度,開發人員可以使用Genoss來測試最新的模型,并在本地運行私有模型進行微調。企業可以使用Genoss來控制用戶在內部和生產應用程序中對模型的使用,并利用LangSmith進行可觀察性、調試和測試。

本文通過使用Genoss和Hugging Face的Llama V2模型,我們可以輕松地完成復雜的任務。Genoss提供了一種簡化模型部署和使用的方法,同時還能夠實現系統的可擴展性。此外,它還能與其他工具(如OpenAI SDK)無縫集成,為用戶提供更多的靈活性和便利性。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/41327.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/41327.shtml
英文地址,請注明出處:http://en.pswp.cn/news/41327.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何發布自己的小程序

小程序的基礎內容組件 text&#xff1a; 文本支持長按選中的效果 <text selectable>151535313511</text> rich-text: 把HTML字符串渲染為對應的UI <rich-text nodes"<h1 stylecolor:red;>123</h1>"></rich-text> 小程序的…

MySql過濾重復數據

假設模型表是: 1. 根據單字段過濾: SELECT user_name, COUNT(*) as count FROM sys_user GROUP BY user_name HAVING count > 1;結果: 2. 根據多個字段查詢重復數據 SELECT user_name, email, COUNT(*) as count FROM sys_user GROUP BY user_name, email HAVING count…

[centos]設置主機名

1、設置 hostnamectl set-hostname 名字 2、查看是否生效 hostnamectl status 3、打開一個新鏈接就可以了

log4j教程_編程入門自學教程_菜鳥教程-免費教程分享

教程簡介 Log4j是Apache的一個開源項目&#xff0c;通過使用Log4j&#xff0c;我們可以控制日志信息輸送的目的地是控制臺、文件、GUI組件&#xff0c;甚至是套接口服務器、NT的事件記錄器、UNIX Syslog守護進程等&#xff1b;我們也可以控制每一條日志的輸出格式&#xff1b;…

[python] 使用Jieba工具中文分詞及文本聚類概念

前面講述了很多關于Python爬取本體Ontology、消息盒InfoBox、虎撲圖片等例子&#xff0c;同時講述了VSM向量空間模型的應用。但是由于InfoBox沒有前后文和語義概念&#xff0c;所以效果不是很好&#xff0c;這篇文章主要是爬取百度5A景區摘要信息&#xff0c;再利用Jieba分詞工…

hive--給表名和字段加注釋

1.建表添加注釋 CREATE EXTERNAL TABLE test(loc_province string comment 省份,loc_city string comment 城市,loc_district string comment 區,loc_street string comment 街道,)COMMENT 每日數據處理后的表 PARTITIONED BY (par_dt string) ROW FORMAT SERDEorg.apache.had…

學習Vue:響應式原理與性能優化策略

性能優化是Vue.js應用開發中的一個關鍵方面&#xff0c;而深入了解響應式原理并采用有效的性能優化策略可以顯著提升應用的性能。本文將解釋響應式原理并介紹一些性能優化策略&#xff0c;旨在幫助您構建高性能的Vue.js應用。 響應式原理 Vue.js的響應式原理是通過利用Object.…

PHP在線客服系統推薦

在當今數字化時代&#xff0c;企業客戶服務的重要性不容忽視。為了提供卓越的客戶體驗&#xff0c;許多企業正在尋找PHP在線客服系統。這種系統不僅可以滿足客戶的需求&#xff0c;還能提升企業的形象。本文將深入探討PHP在線客服系統的一些有趣話題。 理解PHP在線客服系統 PHP…

71 # 協商緩存的配置:通過內容

對比&#xff08;協商&#xff09;緩存 比較一下再去決定是用緩存還是重新獲取數據&#xff0c;這樣會減少網絡請求&#xff0c;提高性能。 對比緩存的工作原理 客戶端第一次請求服務器的時候&#xff0c;服務器會把數據進行緩存&#xff0c;同時會生成一個緩存標識符&#…

Transformer是什么,Transformer應用

目錄 Transformer應用 Transformer是什么 Transformer應用:循環神經網絡 語言翻譯:注重語句前后順序 RNN看中單個特征; CNN:看中特征之間時序性 模型關注不同位置的能力 Transformer是什么 Transformer是一個利用注意力機制來提高模型訓練速度的模型。關于注意力機…

clickhouse-數據導入導出方案

一、簡介 clickhouse有多種數據的導入導出方式&#xff0c;可以靈活使用&#xff0c;下面對這些方式分別做些介紹&#xff0c;導入導出的寫法與格式和格式設置有關。 二、導入 1.從s3導入 詳情可查看官網&#xff0c;也可以在這里獲取數據集 -- 建庫建表 CREATE DATABASE …

whisper語音識別部署及WER評價

1.whisper部署 詳細過程可以參照&#xff1a;&#x1f3e0; 創建項目文件夾 mkdir whisper cd whisper conda創建虛擬環境 conda create -n py310 python3.10 -c conda-forge -y 安裝pytorch pip install --pre torch torchvision torchaudio --extra-index-url 下載whisper p…

智慧工地云平臺源碼——塔機監控系統

智慧工地概念 智慧工地是一種嶄新的工程全生命周期管理理念&#xff0c;是指運用信息化手段&#xff0c;通過對工程項目進行精確設計和施工模擬&#xff0c;圍繞施工過程管理&#xff0c;建立互聯協同、智能生產、科學管理的施工項目信息化生態圈&#xff0c;并將此數據在虛擬…

鴿王-稚暉君,“遠征”A1啟程

看到這篇文章的人&#xff0c;想必對野生鋼鐵俠-稚暉君&#xff0c;都有所了解。作為華為的天才少年&#xff0c;獲得了很多的榮譽&#xff0c;作為B站有名的鴿王&#xff0c;在沉浮一段時間后終于要帶著新的東西和大家見面了。動態-嗶哩嗶哩https://b23.tv/Jv7tIjg 眾所周知&a…

網絡通信原理TCP字段解析(第四十七課)

字段含義Source Port(源端口號)源端口,標識哪

vueuse常用方法

useDateFormat 時間格式化 <script setup lang"ts">import { useNow, useDateFormat } from vueuse/coreconst formatted useDateFormat(useNow(), YYYY-MM-DD HH:mm:ss)</script><template><div>{{ formatted }}</div> </templa…

el-input添加自定義指令只允許輸入中文/英文/數字,兼容輸入法事件

省流 script: directives: {regexp: {inserted: (el, binding, vnode) > {let composition falseconst formatValue function (e) {if (composition) return// vnode.componentInstance組件實例vnode.componentInstance.$emit(input, e.target.value.replace(/[^\u4e00-…

Python學習筆記_基礎篇(十二)_nmap使用及案例

nmap概念及功能 概念 NMap&#xff0c;也就是Network Mapper&#xff0c;最早是Linux下的網絡掃描和嗅探工具包。 nmap是一個網絡連接端掃描軟件&#xff0c;用來掃描網上電腦開放的網絡連接端。確定哪些服務運行在哪些連接端&#xff0c;并且推斷計算機運行哪個操作系統&am…

ChatGPT在智能音樂推薦和個性化播放列表中的應用如何?

智能音樂推薦和個性化播放列表是音樂流媒體領域中的重要應用&#xff0c;可以幫助用戶發現新音樂、定制自己的音樂體驗&#xff0c;并提升音樂平臺的用戶滿意度。ChatGPT作為一種先進的自然語言處理模型&#xff0c;可以在智能音樂推薦和個性化播放列表領域發揮重要作用。本文將…

神經網絡基礎-神經網絡補充概念-56-遷移學習

遷移學習&#xff08;Transfer Learning&#xff09;是一種機器學習技術&#xff0c;旨在將在一個任務上學到的知識或模型遷移到另一個相關任務上&#xff0c;以提高新任務的性能。遷移學習的核心思想是通過利用源領域&#xff08;source domain&#xff09;的知識來改善目標領…