大模型工具_Langchain-Chatchat

2023-12-23 20:04

本文主要是介绍大模型工具_Langchain-Chatchat,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

https://github.com/chatchat-space/Langchain-Chatchat
原Langchain-ChatGLM

1 功能

  • 整体功能,想解决什么问题
    • 基于 Langchain 与 ChatGLM 等LLM模型,搭建一套针对中文场景与开源模型,界面友好、可离线运行的知识库问答解决方案。
  • 当前解决了什么问题,哪些问题解决不了
    • 目前 0.2.8 版本支持了多个本地模型
    • 因为加入了大模型,配置难度相对较大
  • 提供哪些功能点,其中哪些是刚需
    • 核心功能是:支持中文&离线知识库与问答系统
    • 同时支持搜索实时数据,以及对其它在线大模型的调用,整体功能丰富。
  • 用户使用难度,操作逻辑是否过于复杂
    • 工具链做得很好,不需要太多配置

2 技术栈

  • 技术栈是什么:
    • 前端使用 python streamlit 实现
    • 知识库使用 langchain 构建
  • 现有底层工具消化了哪些常用功能
    • FastChat:用于大模型支持
    • langchain:用于构建本地知识库
    • ChatGLM:中文 LLM 模型
    • HuggingFace 中各种开源 Emebdding 模型,以及线上Embedding
    • Streamlit:Web界面
    • 搜索引擎:Bing 搜索,DuckDuckGo 搜索,Metaphor 搜索
    • 向量库支持:es, pgsql, faiss, milvus, zilliz等
  • 代码分析(使用cloc工具统计)
    • github 项目下载 137M,其中一半为.git,还包含一些 nltk data
    • 代码:Python 10709行,JS 1604 行。
    • docker image: 41.3 G,以为自己看错了;镜像较大主要由于其中包含了 chatglm2-6b 和 Embedding 模型,以及 torch, cuda 库;还有一些安装过程中的数据没删除。
    • 核心代码在:源码/server/ 目录下

3 商业模式

  • 以本地部署为主

4 环境测试

  • 下载源码
$ git clone https://github.com/chatchat-space/Langchain-Chatchat
  • Docker镜像
    直接下载可用的docker镜像
$ docker run -d --gpus all -p 8051:8501 registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.7

我的显存不够报错,本地部署大模型,建议 20G以上显存

启动镜像并进入手动调试:

$ docker run -it --gpus all --network=host --entrypoint bash registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.7
$ python3 startup.py -a --lite # 启动轻量版本

注意:配置文件都在 configs 目录下,按需参照 example 配置 py文件,请重点关注:configs/model_config.py 模型配置。

5 参考

部署文档

这篇关于大模型工具_Langchain-Chatchat的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/529280

相关文章

MySql match against工具详细用法

《MySqlmatchagainst工具详细用法》在MySQL中,MATCH……AGAINST是全文索引(Full-Textindex)的查询语法,它允许你对文本进行高效的全文搜素,支持自然语言搜... 目录一、全文索引的基本概念二、创建全文索引三、自然语言搜索四、布尔搜索五、相关性排序六、全文索引的限制七

基于Java实现回调监听工具类

《基于Java实现回调监听工具类》这篇文章主要为大家详细介绍了如何基于Java实现一个回调监听工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录监听接口类 Listenable实际用法打印结果首先,会用到 函数式接口 Consumer, 通过这个可以解耦回调方法,下面先写一个

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

基于Python打造一个全能文本处理工具

《基于Python打造一个全能文本处理工具》:本文主要介绍一个基于Python+Tkinter开发的全功能本地化文本处理工具,它不仅具备基础的格式转换功能,更集成了中文特色处理等实用功能,有需要的... 目录1. 概述:当文本处理遇上python图形界面2. 功能全景图:六大核心模块解析3.运行效果4. 相

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建