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

ChatGLM:清華開源本地部署(2023/05/06更新)

這篇具有很好參考價值的文章主要介紹了ChatGLM:清華開源本地部署(2023/05/06更新)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

文章首發(fā)及后續(xù)更新:https://mwhls.top/4500.html,無圖/無目錄/格式錯誤/更多相關(guān)請至首發(fā)頁查看。
新的更新內(nèi)容請到mwhls.top查看。
歡迎提出任何疑問及批評,非常感謝!

服務(wù)部署匯總

本來這篇是為了打比賽寫的,寫著寫著發(fā)現(xiàn)兩個問題,AI部署連續(xù)幾篇,等我比賽打完再發(fā)模型都不知道更新到哪個版本了。所以就直接發(fā)了。題圖隨便放個,我之后部屬個文生圖讓它生成個。嘻嘻,蹭個熱度
有問題推薦去 GitHub Issue,當(dāng)然評論問我也行。

2023/05/06更新:增加 API 調(diào)用及

ChatGLM

清華開源大模型-ChatGLM-2023/04/29
  • ChatGLM_GitHub:THUDM/GLM: GLM (General Language Model)
  • ChatGLM-6B_GitHub:THUDM/ChatGLM-6B: ChatGLM-6B: An Open Bilingual Dialogue Language Model | 開源雙語對話語言模型
  • 聯(lián)系作者或可商用:關(guān)于ChatGLM模型的商用 · Issue #799 · THUDM/ChatGLM-6B
ChatGLM-6B 環(huán)境配置及啟動-2023/04/29
  1. GitHub 官方教程
  2. 創(chuàng)建虛擬環(huán)境:conda create --name ChatGLM python=3.8
  3. 進(jìn)入虛擬環(huán)境:conda activate ChatGLM
  4. 下載源碼:https://github.com/THUDM/ChatGLM-6B/archive/refs/heads/main.zip
  5. 進(jìn)入該目錄,安裝依賴:pip install -r requirements.txt
  6. 安裝 Torch:conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.3 -c pytorch
  • 這是我環(huán)境可以用的,不會的可以百度 PyTorch 安裝。
  1. 下載模型
  • 注:我下載的是int8量化的。
  • 清華云
    • 這里會缺少文件,下載后還要在HuggingFace里下載除了最大文件以外的所有文件(有一個重復(fù),無需下載)。
  • HuggingFace
  1. 文件修改:修改 web_demo.py 文件的開頭幾行如下,pretrain_path指的是模型文件夾的絕對路徑。
  2. 運行 web_demo.py,成功
pretrain_path = r"F:\0_DATA\1_DATA\CODE\PYTHON\202304_RJB_C4\ChatGLM\chatglm-6b-int8"
tokenizer = AutoTokenizer.from_pretrained(pretrain_path, trust_remote_code=True)
model = AutoModel.from_pretrained(pretrain_path, trust_remote_code=True).half().cuda()
ChatGLM Web demo 源碼閱讀-2023/04/30
  • 涉及猜想,因為可以試錯,所以有的地方可能不準(zhǔn)確。
  • 小加了兩個模式,一個精準(zhǔn)一個創(chuàng)造性,類似New Bing。
from transformers import AutoModel, AutoTokenizer
import gradio as gr
import mdtex2html
import os

pretrain_path = "chatglm-6b-int8"
pretrain_path = os.path.abspath(pretrain_path)
tokenizer = AutoTokenizer.from_pretrained(pretrain_path, trust_remote_code=True)
model = AutoModel.from_pretrained(pretrain_path, trust_remote_code=True).half().cuda()
model = model.eval()

"""Override Chatbot.postprocess"""

# 原來self還可以這樣用,學(xué)習(xí)了
def postprocess(self, y):
    if y is None:
        return []
    for i, (message, response) in enumerate(y):
        y[i] = (
            None if message is None else mdtex2html.convert((message)),
            None if response is None else mdtex2html.convert(response),
        )
    return y


gr.Chatbot.postprocess = postprocess


def parse_text(text):
    # markdown代碼轉(zhuǎn)html,我猜我博客的插件也是這樣
    """copy from https://github.com/GaiZhenbiao/ChuanhuChatGPT/"""
    lines = text.split("\n")
    lines = [line for line in lines if line != ""]
    count = 0
    for i, line in enumerate(lines):
        if "```" in line:
            count += 1
            items = line.split('`')
            if count % 2 == 1:
                lines[i] = f'<pre><code class="language-{items[-1]}">'
            else:
                lines[i] = f'<br></code></pre>'
        else:
            if i > 0:
                if count % 2 == 1:
                    line = line.replace("`", "\`")
                    line = line.replace("<", "&lt;")
                    line = line.replace(">", "&gt;")
                    line = line.replace(" ", "&nbsp;")
                    line = line.replace("*", "&ast;")
                    line = line.replace("_", "&lowbar;")
                    line = line.replace("-", "&#45;")
                    line = line.replace(".", "&#46;")
                    line = line.replace("!", "&#33;")
                    line = line.replace("(", "&#40;")
                    line = line.replace(")", "&#41;")
                    line = line.replace("$", "&#36;")
                lines[i] = "<br>"+line
    text = "".join(lines)
    return text


# def set_mode(temperatrue_value, top_p_value):
#     return gr.Slider.update(value=temperatrue_value), gr.update(value=top_p_value)

def set_mode(radio_mode):
    # 不理解,為什么點擊按鈕就不能傳過去,用這玩意就可以傳
    mode = {"創(chuàng)造性":  [0.95, 0.7], 
            "精準(zhǔn)": [0.01, 0.01]}
    return gr.Slider.update(value=mode[radio_mode][0]), gr.update(value=mode[radio_mode][1])


def predict(input, chatbot, max_length, top_p, temperature, history):
    # 新增一項
    chatbot.append((parse_text(input), ""))
    for response, history in model.stream_chat(tokenizer, input, history, max_length=max_length, top_p=top_p,
                                               temperature=temperature):
        # 新增的那項修改為推理結(jié)果
        chatbot[-1] = (parse_text(input), parse_text(response))       

        yield chatbot, history


def reset_user_input():
    return gr.update(value='')


def reset_state():
    return [], []


with gr.Blocks() as demo:
    gr.HTML("""<h1 align="center">ChatGLM</h1>""")

    # 聊天記錄器
    chatbot = gr.Chatbot()
    # 同一行內(nèi),第一行
    with gr.Row():
        # 第一列
        with gr.Column(scale=4):
            # 第一列第一行,輸入框
            with gr.Column(scale=12):
                user_input = gr.Textbox(show_label=False, placeholder="Input...", lines=10).style(
                    container=False)
            # 第一列第二行,提交按鈕
            with gr.Column(min_width=32, scale=1):
                submitBtn = gr.Button("Submit", variant="primary")
        # 第二列
        with gr.Column(scale=1):
            with gr.Row():
                # with gr.Column():
                #     button_accuracy_mode = gr.Button("精準(zhǔn)")
                # with gr.Column():
                #     button_creative_mode = gr.Button("創(chuàng)造性")
                radio_mode = gr.Radio(label="對話模式", choices=["精準(zhǔn)", "創(chuàng)造性"], show_label=False)
            # 靠右的四個輸入
            emptyBtn = gr.Button("清除歷史")
            max_length = gr.Slider(0, 4096, value=2048, step=1.0, label="Maximum length", interactive=True)
            top_p = gr.Slider(0, 1, value=0.7, step=0.01, label="Top P", interactive=True)
            temperature = gr.Slider(0, 1, value=0.95, step=0.01, label="Temperature", interactive=True)

    # 歷史記錄
    history = gr.State([])

    # 按鈕點擊后,執(zhí)行predict,并將第二個參數(shù)[...]傳給predict,將predict結(jié)果傳給第三個參數(shù)[...]
    submitBtn.click(predict, [user_input, chatbot, max_length, top_p, temperature, history], [chatbot, history], show_progress=True)

    submitBtn.click(reset_user_input, [], [user_input])
    # 將reset_state的結(jié)果傳給outputs
    emptyBtn.click(reset_state, outputs=[chatbot, history], show_progress=True)
    radio_mode.change(set_mode, radio_mode, [temperature, top_p])
    # button_accuracy_mode.click(set_mode, [0.95, 0.7], outputs=[temperature, top_p])
    # button_creative_mode.click(set_mode, [0.01, 0.01], outputs=[temperature, top_p])

# 這玩意debug不會用啊
demo.queue().launch(share=False, inbrowser=False)

ChatGLM API 調(diào)用-2023/05/05
  • 官方文檔:THUDM/ChatGLM-6B: ChatGLM-6B: An Open Bilingual Dialogue Language Model | 開源雙語對話語言模型
  • 修改 ChatGLM/api.py :
    • 模型存儲位置。
    • 主機地址。
      • 最后一行 host='0.0.0.0'host='localhost'。
      • uvicorn.run(app, host='localhost', port=8000, workers=1)
if __name__ == '__main__':
    pretrain_path = "chatglm-6b-int8"
    pretrain_path = os.path.abspath(pretrain_path)
    tokenizer = AutoTokenizer.from_pretrained(pretrain_path, trust_remote_code=True)
    model = AutoModel.from_pretrained(pretrain_path, trust_remote_code=True).half().cuda()
    model.eval()
    uvicorn.run(app, host='localhost', port=8000, workers=1)
  • 使用 python requests 包的調(diào)用示例
import requests

url = "http://localhost:8000"
data = {"prompt": "你好", "history": []}
headers = {'Content-Type': 'application/json'}
response = requests.post(url, json=data, headers=headers)
print(response.text)
  • 實際上我還寫了一個專門的類,不過還沒開源到 GitHub 上,可能過幾天會更新:asd123pwj/asdTools: Simple tools for simple goals

聞達(dá)

  • 不會用,下面可以不用看。
介紹-2023/05/02
  • l15y/wenda: 聞達(dá):一個LLM調(diào)用平臺。為小模型外掛知識庫查找和設(shè)計自動執(zhí)行動作,實現(xiàn)不亞于于大模型的生成能力
  • 昨晚看視頻的時候發(fā)現(xiàn) GPT 讀取本地文檔的,發(fā)現(xiàn)了 fess 的方案,進(jìn)而發(fā)現(xiàn)了這個聞達(dá)庫,NB。
懶人包-2023/05/02
  • 作者有提供懶人包,B站也有人做教程,我沒用過,沒流量,流量全用來下游戲刪游戲下游戲刪游戲下游戲刪游戲下游戲刪游戲了。
部署-2023/05/02
  • 考慮到作者都搞懶人包了,手動部署的應(yīng)該都是自己會的,我就簡單說下我的部署操作。
  • 復(fù)制example.config.xml作為config.xml,并對應(yīng)修改。
  • 修改envirment.bat,注釋掉懶人包路徑,修改自己的python路徑,如下,注釋掉的我就不放出來了
chcp 65001
title 聞達(dá)
set "PYTHON=F:\0_DATA\2_CODE\Anaconda\envs\ChatGLM\python.exe "
:end
我是廢物,改用懶人包-2023/05/02
  • 不知道怎么用本地文檔搜索和網(wǎng)絡(luò)搜索,搞不懂搞不懂,又去下了懶人包。
    • 可是為什么還是沒有哇。
fess安裝-2023/05/02
  • 聞達(dá)要安裝 fess,但是懶人包好像沒有?

  • codelibs/fess: Fess is very powerful and easily deployable Enterprise Search Server. - https://github.com/codelibs/fess - https://github.com/codelibs/fess/releases/tag/fess-14.7.0 - https://github.com/codelibs/fess

  • 安裝:Elasticsearch文章來源地址http://www.zghlxwxcb.cn/news/detail-445908.html

    • 這玩意好像商用要收費,算了,咱不用聞達(dá)了,看看它源碼怎么寫的算了。心好累。我是廢物。

到了這里,關(guān)于ChatGLM:清華開源本地部署(2023/05/06更新)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【AI】清華開源中英雙語對話模型ChatGLM2-6B本地安裝筆記

    【AI】清華開源中英雙語對話模型ChatGLM2-6B本地安裝筆記

    首先,直接上資源,網(wǎng)盤中是ChatGLM2-6B源碼及模型文件: 鏈接:https://pan.baidu.com/s/1DciporsVT-eSiVIAeU-YmQ 提取碼:cssa 官方的Readme已經(jīng)很詳盡了,再寫點安裝博客有點畫蛇添足。本著記錄自己的工作內(nèi)容的初衷,還是寫一寫吧,畢竟輸出才是最好的學(xué)習(xí)。 本文記錄了本地安裝Cha

    2024年02月16日
    瀏覽(34)
  • 模型訓(xùn)練系列:1、用清華ChatGLM-6B模型部署自己的本地AI助手

    模型訓(xùn)練系列:1、用清華ChatGLM-6B模型部署自己的本地AI助手

    最近清華大學(xué)開源的ChatGLM-6B語言模型在國際上大出風(fēng)頭,僅僅62億參數(shù)的小模型,能力卻很強。很期待他們后續(xù)1300億參數(shù)模型130B的發(fā)布。 為什么一些能力較弱的小模型,這么受追捧?因為ChatGPT、GPT-4雖好,畢竟被國外封鎖,而且還要付費,更重要的是,LLM要在各行業(yè)提高生

    2024年02月11日
    瀏覽(29)
  • 清華大學(xué)開源ChatGLM2-6B開源模型在anaconda下的虛擬環(huán)境詳細(xì)部署及安裝教程

    清華大學(xué)開源ChatGLM2-6B開源模型在anaconda下的虛擬環(huán)境詳細(xì)部署及安裝教程

    python版本要求:3.8以上 沒有安裝python的沒有關(guān)系,我們在下面安裝anaconda中會自動生成python,有了python的建議刪除,通過anaconda安裝python以便于后面創(chuàng)建虛擬環(huán)境。 windows系統(tǒng):Windows 10 以上,推薦N卡(NVIDIA顯卡20系列以上) 注意:處理器為AMD容易報錯,intel的不容易報錯,配

    2024年02月16日
    瀏覽(37)
  • 手把手教你本地CPU環(huán)境部署清華大模型ChatGLM-6B,利用量化模型,本地即可開始智能聊天,達(dá)到ChatGPT的80%

    手把手教你本地CPU環(huán)境部署清華大模型ChatGLM-6B,利用量化模型,本地即可開始智能聊天,達(dá)到ChatGPT的80%

    大家好,我是微學(xué)AI,今天教你們本地CPU環(huán)境部署清華大ChatGLM-6B模型,利用量化模型,每個人都能跑動大模型。ChatGLM-6B是一款出色的中英雙語對話模型,擁有超過62億個參數(shù),可高效地處理日常對話場景。與GLM-130B模型相比,ChatGLM-6B在對話場景處理能力方面表現(xiàn)更加卓越。此

    2024年02月01日
    瀏覽(26)
  • 開源雙語對話語言模型 ChatGLM-6B 本地私有化部署

    開源雙語對話語言模型 ChatGLM-6B 本地私有化部署

    本文首發(fā)于:https://www.licorne.ink/2023/08/llm-chatglm-6b-local-deploy/ ChatGLM-6B 是一個開源的、支持中英雙語的對話語言模型,基于 General Language Model (GLM) 架構(gòu),具有 62 億參數(shù)。結(jié)合模型量化技術(shù),用戶可以在消費級的顯卡上進(jìn)行本地部署(INT4 量化級別下最低只需 6GB 顯存)。 ChatGL

    2024年02月10日
    瀏覽(105)
  • 騰訊云部署清華大學(xué)ChatGLM-6B實戰(zhàn)

    騰訊云部署清華大學(xué)ChatGLM-6B實戰(zhàn)

    簡介(來自官方) ChatGLM-6B 是一個開源的、支持中英雙語的對話語言模型,基于?General Language Model (GLM)?架構(gòu),具有 62 億參數(shù)。結(jié)合模型量化技術(shù),用戶可以在消費級的顯卡上進(jìn)行本地部署(INT4 量化級別下最低只需 6GB 顯存)。 ChatGLM-6B 使用了和 ChatGPT 相似的技術(shù),針對中文

    2024年02月11日
    瀏覽(26)
  • Python:清華ChatGLM-6B中文對話模型部署

    Python:清華ChatGLM-6B中文對話模型部署

    1、簡介 ChatGLM-6B 是一個開源的、支持中英雙語的對話語言模型,基于 General Language Model (GLM) 架構(gòu),具有 62 億參數(shù)。結(jié)合模型量化技術(shù),用戶可以在消費級的顯卡上進(jìn)行本地部署(INT4 量化級別下最低只需 6GB 顯存)。 ChatGLM-6B 使用了和 ChatGPT 相似的技術(shù),針對中文問答和對話

    2024年02月08日
    瀏覽(26)
  • C++ Primer Plus筆記: 2023.06.05 AND 2023.06.06

    1.在C++的賦值語句: 賦值將從右向左進(jìn)行,首先,88被賦值給steinway,然后,steinway的值(現(xiàn)在是88)被賦給baldwin,然后baldwin的值88被賦給yamaha。 2.類與對象: ** 類是用戶定義的一種數(shù)據(jù)類型。要定義類,需要描述它能夠表示什么信息和可對數(shù)據(jù)執(zhí)行哪些操作,類之于對象就像

    2024年02月08日
    瀏覽(19)
  • 十分鐘部署清華ChatGLM-6B,實測效果還可以~~(Linux版)

    十分鐘部署清華ChatGLM-6B,實測效果還可以~~(Linux版)

    前段時間,清華公布了中英雙語對話模型 ?ChatGLM-6B ,具有60億的參數(shù),初具問答和對話功能。最!最!最重要的是它能夠支持私有化部署,大部分實驗室的服務(wù)器基本上都能跑起來。 因為條件特殊,實驗室網(wǎng)絡(luò)不通,那么如何進(jìn)行離線部署呢? 經(jīng)過一上午的折騰終于搞定了

    2024年02月08日
    瀏覽(36)
  • 【2023/05/06】EDSAC

    【2023/05/06】EDSAC

    ?Hello!大家好,我是霜淮子,2023倒計時第1天。 去成為你本該成為的人,任何時候都不會太晚。 (出處:喬治·艾略特) EDSAC:存儲程序式計算機的開山之作。 part1 EDSAC,全稱為“Electronic Delay Storage Automatic Computer”, 是世界上第一臺實際運行的存儲程序式電子計算機, 由英

    2024年02月03日
    瀏覽(17)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包