Chainlit 快速构建Python LLM应用程序

背景

chainlit 是一款简单易用的Web UI goggle,它支持使用 Python 语言快速构建 LLM 应用程序,提供了丰富的功能,包括文本分析,情感分析等。
这里我们以官网openai提供的例子,快速的开发一个带有UI的聊天界面,且支持MCP方式。
鉴于国内需要VPN访问openai的模型问题, 我们以 chainlit + deepseek(openai) 的方式进行演练。

获取deepseek apikey

通过deepseek官网登陆 获取到apikey ,对于api的调用的话,这里也提供了一些案例

结合OpenAi

from openai import AsyncOpenAI
import chainlit as cl
client = AsyncOpenAI(api_key='xxx', base_url='https://api.deepseek.com/v1')

# Instrument the OpenAI client
cl.instrument_openai()

settings = {
    "model": "deepseek-reasoner"
    # "temperature": 0,
    # ... more settings
}

@cl.on_message
async def on_message(message: cl.Message):
    response = await client.chat.completions.create(
        messages=[
            {
                "content": "你是个很有帮助的机器人,总是又中文回复",
                "role": "system"
            },
            {
                "content": message.content,
                "role": "user"
            }

        ],
        stream=True,
        **settings
    )
    await cl.Message(content=response.choices[0].message.content).send()

这里面的 api_key 用你在deepeeek 申请到的 api_key替换即可。

用一下命令运行:

chainlit run app.py -w --port 8010

访问http://localhost:8010,接下来就可以进行交互了

在这里插入图片描述

### Chainlit的功能介绍 Chainlit 是一个专门为大语言模型(LLM应用程序设计的开源框架,能够帮助开发者快速构建基于对话的应用程序。它提供了直观的用户界面和强大的交互功能,支持开发者将复杂的逻辑与对话体验无缝结合[^2]。Chainlit 的核心功能包括实时消息传递、文件上传、多模态内容展示等,这些功能使得开发者可以轻松实现复杂的应用场景。 ### Chainlit的使用场景 Chainlit 的主要使用场景集中在需要高效对话交互的应用中。例如,它可以用于构建聊天机器人、问答系统、文档解析工具以及教育类应用等。具体来说: - **聊天机器人**:通过集成 Chainlit,开发者可以为用户提供个性化的对话服务。 - **文档问答系统**:Chainlit 支持上传 PDF 或其他格式的文件,并结合大模型进行内容解析和回答问题[^3]。 - **多模态内容生成**:支持文本、图像等多种形式的输入输出,满足多样化的需求。 ### Chainlit快速入门方法 以下是一个简单的 Chainlit 快速入门教程,帮助开发者快速上手: #### 环境准备 首先需要安装 Chainlit 和相关依赖库。可以通过以下命令完成安装: ```bash pip install chainlit ``` #### 示例代码 以下是一个简单的 Chainlit 应用示例,展示了如何创建一个基本的聊天机器人: ```python from chainlit import ask_user, msg # 定义处理函数 def process_message(user_message): if "hello" in user_message.lower(): return "Hello! How can I assist you today?" else: return "I'm not sure how to help with that." # 启动 Chainlit 应用 @ask_user async def main(user_message): response = process_message(user_message) await msg(response).send() ``` 运行上述代码后,Chainlit 会启动一个本地服务器,开发者可以在浏览器中访问并测试聊天功能。 #### 进一步学习 为了更深入地掌握 Chainlit,建议参考官方文档或相关书籍,例如《LangChain技术解密:构建大模型应用的全景指南》中关于 Chainlit 的章节。书中详细介绍了如何利用 Chainlit 构建 PDF 问答机器人,这是一份非常实用的案例。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值