目录
前言
安装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的页面实现对话操作了,那么下一篇章就是实现走本地知识库对话。