自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

LangServe如何革新LLM應(yīng)用部署?

人工智能
隨LLM技術(shù)演進(jìn),AI應(yīng)用開發(fā)部署越來越復(fù)雜。LangServe應(yīng)運(yùn)而生,旨在簡化AI服務(wù)部署和運(yùn)維的框架。專為LLM部署和管理而設(shè)計;本文旨在講解LangServe的功能特點(diǎn)和實(shí)踐運(yùn)用。

一、前言

隨LLM技術(shù)演進(jìn),AI應(yīng)用開發(fā)部署越來越復(fù)雜。LangServe應(yīng)運(yùn)而生,旨在簡化AI服務(wù)部署和運(yùn)維的框架。專為LLM部署和管理而設(shè)計;本文旨在講解LangServe的功能特點(diǎn)和實(shí)踐運(yùn)用。

二、概述

LangServe 提供一整套將LLM部署成產(chǎn)品服務(wù)的解決方案??蓪LM應(yīng)用鏈接入常見Python Web框架(如FastAPI、Pydantic、uvloop、asyncio),進(jìn)而生成一套RESTful API。LangServe減少開發(fā)人員的運(yùn)維部署任務(wù),使他們可以更專注于LLM應(yīng)用開發(fā)。不僅簡化從開發(fā)到生產(chǎn)的過渡,還確保服務(wù)的高性能和安全性。它提供了包括模型管理器、請求處理器、推理引擎、結(jié)果緩存、監(jiān)控與日志記錄以及API網(wǎng)關(guān)等各類組件。LangServe的目標(biāo)是讓開發(fā)者能夠輕松集成、部署和管理AI模型,從零到一無縫地實(shí)現(xiàn)LLM應(yīng)用從原型到產(chǎn)品的過渡。

倉庫地址:https://github.com/langchain-ai/langserve

三、功能

多模型支持

LangServe支持部署多種類型的AI模型,包括文本生成、圖像識別、語音處理等,開發(fā)人員能夠按需切換。

高效推理緩存

為了提高響應(yīng)速度和節(jié)省計算資源,LangServe包含了一個高效的結(jié)果緩存系統(tǒng),可以智能地存儲和管理熱點(diǎn)數(shù)據(jù)。

安全訪問控制

通過角色和策略的管理,LangServe提供了靈活的訪問控制機(jī)制,確保了服務(wù)的安全性和數(shù)據(jù)的隱私性。

實(shí)時監(jiān)控與日志

內(nèi)置的監(jiān)控系統(tǒng)可以實(shí)時跟蹤服務(wù)的運(yùn)行狀態(tài),詳盡的日志記錄有助于問題的調(diào)試和分析。

簡潔易用的API接口

LangServe的API設(shè)計簡潔直觀,易于理解和使用,大大減少了開發(fā)者的學(xué)習(xí)成本。

四、REST API 開發(fā)

1.環(huán)境準(zhǔn)備

安裝依賴:

pip install "langserve[all]"

該命令包含了服務(wù)端和客戶端的安裝。

設(shè)置環(huán)境變量:OPENAI_API_KEY=<your valid openai api key>

2.代碼開發(fā)

簡單的翻譯接口。除了LangServe,還引入Web框架FastAPI和Web服務(wù)器uvicorn:

from fastapi import FastAPI
from langchain.prompts.chat import (
    ChatPromptTemplate,
    SystemMessagePromptTemplate,
    HumanMessagePromptTemplate,
)
from langchain_openai import ChatOpenAI
from langserve import add_routes


# FastAPI是一個基于Python的Web框架,用于構(gòu)建高性能、可擴(kuò)展的API
app = FastAPI(
    title="LangChain Server",
    version="1.0",
    description="A simple API server using Langchain's Runnable interfaces",
)


# 接口1
add_routes(
    app,
    ChatOpenAI(),
    path="/openai",
)


# 接口2
system_message_prompt = SystemMessagePromptTemplate.from_template("""
    You are a helpful assistant that translates {input_language} to {output_language}.
""")
human_message_prompt = HumanMessagePromptTemplate.from_template("{text}")


chat_prompt = ChatPromptTemplate.from_messages([system_message_prompt, human_message_prompt])


add_routes(
    app,
    chat_prompt | ChatOpenAI(),
    path="/translate",
)


if __name__ == "__main__":
    import uvicorn
    # Python的Web服務(wù)器
    uvicorn.run(app, host="localhost", port=9999)

3.啟動

python app.py

四、Postman調(diào)用測試

通??芍苯釉L問 http://localhost:9999/docs,在瀏覽器在線的接口文檔中找到對應(yīng)的接口,并直接在網(wǎng)頁上進(jìn)行測試。目前由于新的Pydantic版本存在兼容性問題,無法生成OpenAPI文檔,因此暫用Postman進(jìn)行接口測試。

五、客戶端調(diào)用測試

在后臺開發(fā)LangServe客戶端,進(jìn)行遠(yuǎn)程調(diào)用REST API。

from langchain.prompts.chat import ChatPromptTemplate
from langserve import RemoteRunnable


# 配置遠(yuǎn)程接口
openai_llm = RemoteRunnable("http://localhost:9999/openai/")


# 創(chuàng)建提示詞
prompt = ChatPromptTemplate.from_messages(
    [
        ("system", "你是一名資深的AI大模型專家"),
        ("human", "請幫忙講解一下,有哪些常用的通用開源大模型,中外各自羅列5個"),
    ]
).format_messages()


# LLM接口調(diào)用
openai_llm.invoke(prompt)


# 輸出:
# AIMessage(content='當(dāng)談?wù)撏ㄓ瞄_源大模型時,常常會提到自然語言處理(NLP)領(lǐng)域中的預(yù)訓(xùn)練模型。以下是中外各自常用的5個通用開源大模型:
# **國外:**
# 1. BERT(Bidirectional Encoder Representations from Transformers):由Google開發(fā),是一種基于Transformer架構(gòu)的預(yù)訓(xùn)練模型,用于各種NLP任務(wù)。
# 2. GPT-3(Generative Pre-trained Transformer 3):由OpenAI發(fā)布,是一個非常大的語言生成模型,可以用于文本生成等任務(wù)。
# 3. RoBERTa(A Robustly Optimized BERT Approach):由Facebook發(fā)布的預(yù)訓(xùn)練模型,基于BERT進(jìn)行了一些優(yōu)化,用于提高性能。
# 4. T5(Text-to-Text Transfer Transformer):由Google發(fā)布,是一個通用的文本生成模型,可以應(yīng)用于多種NLP任務(wù)。
# 5. XLNet:由谷歌Brain團(tuán)隊(duì)發(fā)布,是一種自回歸預(yù)訓(xùn)練模型,結(jié)合Transformer-XL和自回歸方法。
# **國內(nèi):**
# 6. ERNIE(Enhanced Representation through kNowledge Integration):由百度發(fā)布,是一種基于Transformer架構(gòu)的多語言預(yù)訓(xùn)練模型,融合了知識融合的方法。
# 7. GPT-2(Generative Pre-trained Transformer 2):由哈工大訊飛聯(lián)合實(shí)驗(yàn)室發(fā)布,是一個類似于GPT-3的語言生成模型,用于文本生成等任務(wù)。
# 8. HFL/THU Bert:由清華大學(xué)自然語言處理與社會人文計算實(shí)驗(yàn)室發(fā)布,是一個BERT的中文預(yù)訓(xùn)練模型,適用于中文NLP任務(wù)。
# 9. RoFormer:由華為發(fā)布,是一種優(yōu)化的中文預(yù)訓(xùn)練模型,用于中文NLP任務(wù)。
# 10. PaddleNLP:由百度發(fā)布,是一個NLP模型庫,提供了多種預(yù)訓(xùn)練模型,包括BERT、ERNIE等,適用于各種NLP任務(wù)。')

總結(jié)

LangServe作為一款專注于AI模型部署和運(yùn)維的平臺,通過其精心設(shè)計的架構(gòu)和豐富的功能集合,顯著降低了AI項(xiàng)目的門檻,提升了開發(fā)效率和服務(wù)穩(wěn)定性。無論是初創(chuàng)公司還是大型企業(yè),LangServe都提供了一個可靠的解決方案,以應(yīng)對AI領(lǐng)域中的挑戰(zhàn)和機(jī)遇。隨著AI技術(shù)的不斷進(jìn)步,LangServe將繼續(xù)在AI服務(wù)的革新和發(fā)展中扮演關(guān)鍵角色。

作者簡介:魔都架構(gòu)師,多家大廠后端一線研發(fā)經(jīng)驗(yàn),在分布式系統(tǒng)設(shè)計、數(shù)據(jù)平臺架構(gòu)和AI應(yīng)用開發(fā)等領(lǐng)域都有豐富實(shí)踐經(jīng)驗(yàn)。各大技術(shù)社區(qū)頭部專家博主。具有豐富的引領(lǐng)團(tuán)隊(duì)經(jīng)驗(yàn),深厚業(yè)務(wù)架構(gòu)和解決方案的積累。

負(fù)責(zé):

  • 中央/分銷預(yù)訂系統(tǒng)性能優(yōu)化
  • 活動&券等營銷中臺建設(shè)
  • 交易平臺及數(shù)據(jù)中臺等架構(gòu)和開發(fā)設(shè)計
  • 車聯(lián)網(wǎng)核心平臺-物聯(lián)網(wǎng)連接平臺、大數(shù)據(jù)平臺架構(gòu)設(shè)計及優(yōu)化
  • LLM Agent應(yīng)用開發(fā)
  • 區(qū)塊鏈應(yīng)用開發(fā)
  • 大數(shù)據(jù)開發(fā)挖掘經(jīng)驗(yàn)
  • 推薦系統(tǒng)項(xiàng)目

目前主攻市級軟件項(xiàng)目設(shè)計、構(gòu)建服務(wù)全社會的應(yīng)用系統(tǒng)。

參考:

  • 編程嚴(yán)選網(wǎng)
責(zé)任編輯:武曉燕 來源: JavaEdge
相關(guān)推薦

2023-03-17 18:33:12

ChatGPTLLM應(yīng)用

2024-09-06 10:46:04

2024-04-26 00:04:00

LLMs調(diào)優(yōu)工具

2023-02-20 14:29:00

eSIM無線技術(shù)

2023-09-15 08:00:20

2024-07-02 09:00:00

2025-02-13 00:00:12

LangServeDeepsee大模型

2012-11-28 10:27:10

2024-10-22 09:17:07

2024-04-17 10:08:20

LLM人工智能大型語言模型

2012-11-29 13:19:31

Windows 8

2020-08-28 13:27:25

Docker Node應(yīng)用

2024-10-16 08:23:15

大型語言模型LLM機(jī)器學(xué)習(xí)

2024-11-27 08:14:43

2014-09-16 18:12:21

云計算

2019-12-24 19:18:10

WI-FI 6物聯(lián)網(wǎng)物聯(lián)網(wǎng)應(yīng)用

2023-03-06 16:12:09

eSIM物聯(lián)網(wǎng)

2018-08-22 18:16:47

2015-10-10 15:56:22

OpenShiftNodeJS部署PaaS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號