目錄
前言
安裝chailint
創建中文語言環境
創建chailint頁面客戶端
前言
本篇章將會基chailit框架實現頁面進行AI對話。
若沒有自己的本地模型對話,需要查看專欄內的文章,或者點擊鏈接進行學習部署
AI智能體(Agent)大模型入門【2】--基于llamaindx部署本地的聊天模型。-CSDN博客
后期篇章將會脫離chailit別人封裝好的框架體系,而是使用vue實現創建自己的頁面聊天。
那么現在,開始我們的學習吧。
安裝chailint
想要自己去深入學習了解的可以通過官方文檔鏈接
https://docs.chainlit.io/get-started/overview
沒有耐心,想要快速開始的,那么跟上我的腳步開始快速開始創建。
首先要在控制安裝它的包內容。
安裝指令
pip install chainlit
注:
1.若安裝失敗,請注意一下自己的python解析器是否滿足高于3.9版本
2.是否開啟能夠訪問外網的加速軟件。
創建中文語言環境
因為llamaindex不支持中文,需要我們自己去創建一個中文語言的環境。
為了簡化你們去查詢資料的內容,我這里已經有創建好的py文件了。
embeddings.py
from llama_cloud import HuggingFaceInferenceApiEmbedding
from llama_index.embeddings.huggingface import HuggingFaceEmbeddingdef embed_model_local_bge_small(**kwargs):embed_model = HuggingFaceEmbedding(model_name="BAAI/bge-small-zh-v1.5",cache_folder="./embedding_cache",**kwargs)return embed_model
創建chailint頁面客戶端
需要創建一個app.py文件來進行創建。
導入模塊包
# 導?chainlit庫,?于構建和部署AI應?
import chainlit as cl
# 導?Settings類,?于配置llama_index的核?設置
from llama_index.core import Settings
# 導?SimpleChatEngine類,?于實現簡單的聊天引擎
from llama_index.core.chat_engine import SimpleChatEngine
# 導?deepseek_llm,可能是?個?定義的或第三?的語?模型庫
from llms import deepseek_llm,qwen_llm
然后定義兩個異步函數,用于處理聊天機器人的啟動和消息交互。
start()函數在聊天開始時初始化聊天引擎并發送歡迎消息
chat()函數處理用戶消息并生成流式響應。
@cl.on_chat_start
async def start():Settings.llm = qwen_llm()chat_engine = SimpleChatEngine.from_defaults()cl.user_session.set("chat_engine", chat_engine)await cl.Message(author="Assistant",content="你好,我是AI智能助手,你可以向我提問任何問題。",).send()@cl.on_message
async def chat(message: cl.Message):query_engine = cl.user_session.get("chat_engine")msg = cl.Message(content="",author="Assistant")res = await cl.make_async(query_engine.stream_chat)(message.content)for token in res.response_gen:await msg.stream_token(token)await msg.send()
代碼講解
函數start()函數在聊天開始時初始化聊天引擎并發送歡迎消息
1.這個函數就是通過設置模型為qwen模型,
2.通過chat_engine設置模型為聊天模型,然后cl.message來設置模型聊天的角色,
3.里面的content是可以通過你去設置提示詞來進行ai回答內容的選定的。
chat()函數處理用戶消息并生成流式響應。
1.query_engine獲取聊天對話的引擎
2.msg為聊天引擎對話的角色方式
3.res則是接收返回對話的內容
4.通過for循環來進行對消息的流式輸出
我是這么理解的,如有出錯請見諒,你也可以通過其他工具來理解意思
此時我們就完成了基本的chailint
確保文件夾下含有這些模塊包
現在需要啟動它了
通過在控制臺輸入指令
chailit run .\app.py -w
注:本地端口的8000不能被占用,否則運行失敗
若出現卡在界面無法運行的還有一種情況,那就是訪問外網的工具沒開啟導致無法啟動。
運行效果演示
通過在輸入框輸入對話內容實現與大模型對話,實現頁面對話效果。
本篇章,并沒有很多實際運行的操作,更多的是在上一篇章的進一步操作理解優化,OK,到這里希望你也學會基于chainlit的頁面實現對話操作了,那么下一篇章就是實現走本地知識庫對話。