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

AI模型部署記錄(一)-ChatGLM:清華開源本地部署(2023/05/06更新)

這篇具有很好參考價(jià)值的文章主要介紹了AI模型部署記錄(一)-ChatGLM:清華開源本地部署(2023/05/06更新)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

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

服務(wù)部署匯總

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

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 | 開源雙語(yǔ)對(duì)話語(yǔ)言模型
  • 聯(lián)系作者或可商用:關(guān)于ChatGLM模型的商用 · Issue #799 · THUDM/ChatGLM-6B
ChatGLM-6B 環(huán)境配置及啟動(dòng)-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)境可以用的,不會(huì)的可以百度 PyTorch 安裝。
  1. 下載模型
  • 注:我下載的是int8量化的。
  • 清華云
    • 這里會(huì)缺少文件,下載后還要在HuggingFace里下載除了最大文件以外的所有文件(有一個(gè)重復(fù),無(wú)需下載)。
  • HuggingFace
  1. 文件修改:修改 web_demo.py 文件的開頭幾行如下,pretrain_path指的是模型文件夾的絕對(duì)路徑。
  2. 運(yùn)行 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
  • 涉及猜想,因?yàn)榭梢栽囧e(cuò),所以有的地方可能不準(zhǔn)確。
  • 小加了兩個(gè)模式,一個(gè)精準(zhǔn)一個(gè)創(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"""

# 原來(lái)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):
    # 不理解,為什么點(diǎn)擊按鈕就不能傳過(guò)去,用這玩意就可以傳
    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):
    # 新增一項(xiàng)
    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):
        # 新增的那項(xiàng)修改為推理結(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="對(duì)話模式", choices=["精準(zhǔn)", "創(chuàng)造性"], show_label=False)
            # 靠右的四個(gè)輸入
            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([])

    # 按鈕點(diǎn)擊后,執(zhí)行predict,并將第二個(gè)參數(shù)[...]傳給predict,將predict結(jié)果傳給第三個(gè)參數(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不會(huì)用啊
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 | 開源雙語(yǔ)對(duì)話語(yǔ)言模型
  • 修改 ChatGLM/api.py :
    • 模型存儲(chǔ)位置。
    • 主機(jī)地址。
      • 最后一行 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)
  • 實(shí)際上我還寫了一個(gè)專門的類,不過(guò)還沒(méi)開源到 GitHub 上,可能過(guò)幾天會(huì)更新:asd123pwj/asdTools: Simple tools for simple goals

聞達(dá)

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

  • 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文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-437393.html

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

到了這里,關(guān)于AI模型部署記錄(一)-ChatGLM:清華開源本地部署(2023/05/06更新)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

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

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

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

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

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

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

    2024年02月01日
    瀏覽(25)
  • 人工智能_CPU安裝運(yùn)行ChatGLM大模型_安裝清華開源人工智能AI大模型ChatGlm-6B_004---人工智能工作筆記0099

    人工智能_CPU安裝運(yùn)行ChatGLM大模型_安裝清華開源人工智能AI大模型ChatGlm-6B_004---人工智能工作筆記0099

    上一節(jié)003節(jié)我們安裝到最后,本來(lái)大模型都可以回答問(wèn)題了,結(jié)果, 5分鐘后給出提示,需要GPU,我去..繼續(xù)看官網(wǎng),如何配置CPU運(yùn)行 ?沒(méi)辦法繼續(xù)看: 這里是官網(wǎng)可以看到? 需要gcc的版本是11.3.0,這里我們先沒(méi)有去安裝,直接試試再說(shuō) yum install epel-release yum install gcc-11.3.0 安裝的話執(zhí)行這

    2024年02月21日
    瀏覽(30)
  • 開源雙語(yǔ)對(duì)話語(yǔ)言模型 ChatGLM-6B 本地私有化部署

    開源雙語(yǔ)對(duì)話語(yǔ)言模型 ChatGLM-6B 本地私有化部署

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

    2024年02月10日
    瀏覽(105)
  • 人工智能_普通服務(wù)器CPU_安裝清華開源人工智能AI大模型ChatGlm-6B_001---人工智能工作筆記0096

    人工智能_普通服務(wù)器CPU_安裝清華開源人工智能AI大模型ChatGlm-6B_001---人工智能工作筆記0096

    使用centos安裝,注意安裝之前,保證系統(tǒng)可以聯(lián)網(wǎng),然后執(zhí)行yum update 先去更新一下系統(tǒng),可以省掉很多麻煩 20240219_150031 這里我們使用centos系統(tǒng)吧,使用習(xí)慣了. ChatGlm首先需要一臺(tái)個(gè)人計(jì)算機(jī),或者服務(wù)器, 要的算力,訓(xùn)練最多,微調(diào)次之,推理需要算力最少 其實(shí)很多都支持CPU,但為什么

    2024年02月20日
    瀏覽(24)
  • 清華ChatGLM-6B本地GPU推理部署

    清華ChatGLM-6B本地GPU推理部署

    目錄 1 簡(jiǎn)介 2 硬件需求 3 Demo和模型下載 3.1 安裝Git LFS 3.2 Demo下載 3.3 模型下載 3.4 文件目錄 4 環(huán)境安裝 5 運(yùn)行 5.1 FP16 5.2 量化 6 演示 ChatGLM-6B是一個(gè)開源的、支持中英雙語(yǔ)的對(duì)話語(yǔ)言模型,基于General Language Model(GLM)架構(gòu),具有62億參數(shù)。結(jié)合模型量化技術(shù),用戶可以在消費(fèi)級(jí)

    2024年02月07日
    瀏覽(29)
  • 清華大學(xué)開源的chatGLM-6B部署實(shí)戰(zhàn)

    win10 通過(guò)wsl部署 常見(jiàn)問(wèn)題: torch.cuda.OutOfMemoryError: CUDA out of memory. 在Windows的系統(tǒng)環(huán)境變量中增加 變量名: PYTORCH_CUDA_ALLOC_CONF 變量值: max_split_size_mb:32 文檔書寫時(shí)使用3090 24G顯存配置,其他規(guī)格酌情調(diào)整 32 至其他值,如未設(shè)置變量默認(rèn)值128極大概率導(dǎo)致 CUDA OOM 無(wú)法正常啟動(dòng)

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

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

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

    2024年02月08日
    瀏覽(26)
  • 人工智能_PIP3安裝使用國(guó)內(nèi)鏡像源_安裝GIT_普通服務(wù)器CPU_安裝清華開源人工智能AI大模型ChatGlm-6B_002---人工智能工作筆記0097

    人工智能_PIP3安裝使用國(guó)內(nèi)鏡像源_安裝GIT_普通服務(wù)器CPU_安裝清華開源人工智能AI大模型ChatGlm-6B_002---人工智能工作筆記0097

    接著上一節(jié)來(lái)看,可以看到,這里 創(chuàng)建軟連接以后 可以看到執(zhí)行python3 -V 就可以看到已經(jīng)安裝成功 python3 然后再去安裝pip3 ?首先去下載軟件,到/data/soft ,可以用wget命令也可以自己用瀏覽器下載 然后再去安裝 python3 get-pip.py 可以看到報(bào)錯(cuò)了

    2024年02月21日
    瀏覽(33)
  • 英特爾集成顯卡+ChatGLM3大語(yǔ)言模型的企業(yè)本地AI知識(shí)庫(kù)部署

    英特爾集成顯卡+ChatGLM3大語(yǔ)言模型的企業(yè)本地AI知識(shí)庫(kù)部署

    作者: 英特爾創(chuàng)新大使 劉力 英特爾開發(fā)者技術(shù)推廣經(jīng)理 李翊瑋 ? ??在當(dāng)今的企業(yè)環(huán)境中,信息的快速獲取和處理對(duì)于企業(yè)的成功至關(guān)重要。為了滿足這一需求,我們可以將RAG技術(shù)與企業(yè)本地知識(shí)庫(kù)相結(jié)合,以提供實(shí)時(shí)的、自動(dòng)生成的信息處理和決策支持。這將有助于企業(yè)

    2024年04月26日
    瀏覽(34)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包