大航海资料都已开放,今天复现了下其中大模型开发的项目:ChatBot。项目使用GPT API,可以生成文字、语音、图像,并基于RAG进行私有化知识的问答,刚好过程记录了一下,分享给大家,照着做很容易就能实现。 一、实战项目介绍-ChatBot 这次的实战项目主要利用:OpenAI API + RAG,构建属于自己的聊天机器人,其中涉及的API包括:Chat接口、Images接口、Audio接口。向量数据库使用Chromadb。我们来看看项目效果图: 多轮对话 生成图片 生成语音 RAG(基于私有化知识回答) 二、架构设计 1.使用框架介绍 Gradio:前端框架,底层使用FastAPI。负责页面渲染与交互。 FastAPI:后端框架,HTTP服务借助FastAPI构建。负责构建静态资源(语音、图片)下载服务。如果不需要静态资源,可以直接启动,这里使用fastapi启动 2.架构模块浅析 ChatManager:主要负责管理ChatBot(菠菜自主研发的框架可支持多ChatBot的定义与选择),负责对Gradio以及FastAPI的通用封装,对外提供服务。为什么起名字为chatbot_manager,因为可以实现各种chatbot,可以自己定义,参考ChatBot。 ChatBot:用于定义自己的ChatBot,本次代码实战,已经封装好了一个ChatBot名为"FirstChatBot”。如果想构建自己的ChatBot,可以参考”FirstChatBot” FirstChatBot:实现了本次实战的所有功能,包括,图片生成、语音生成、RAG ./first_chatbot/:参考架构图的FirtChatBot ./first_chatbot/tools:用于实现FirstChatBot的插件能力 ./first_chatbot/rag:用于实现FirstChatBot的RAG能力 ./data/doc/:用于存储RAG的私有化数据: ./data/db/:用于ChromaDB(向量数据库)的数据存储 三、项目代码 代码地址:https://github.com/daijun4you/great-navi clone代码 git clone https://github.com/daijun4you/great-navi cd great-navi pip install --upgrade -r requirements.txt-i https://pypi.douban.com/simple 安装依赖包(此处有基础的话建议直接用Anaconda或pycharm其他等等,网太慢用豆瓣源安装) 缺pyrsa-decrypt.exe、markdown-it.exe等安装包 如果报错找不到一些依赖,单独pip安装再运行,这也是前文推荐使用conda的原因 最后来到这一步的报错,提示拒绝访问,这里运行的时候添加--user参数赋予权限就可以 最终安装完毕 运行脚本 python chatbot_ 浏览器打开http://localhost:8123/就可以啦 特别感谢菠菜老师、鹤涵老师提供项目和API,并且无须额外的网络通道。 |
|
来自: 新用户36537660 > 《AI应用场景》