目录

前言

安装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 HuggingFaceEmbedding


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

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐