首页 > 其他分享 >使用LangChain与ChatGLM实现本地知识库(一)

使用LangChain与ChatGLM实现本地知识库(一)

时间:2023-11-28 21:00:46浏览次数:50  
标签:ChatGLM 知识库 ChatGLM3 LangChain content chatglm cpp

  本篇主要内容为介绍ChatGLM3的安装使用,后续才会涉及到使用LangChain实现本地知识库的内容;
  ChatGLM为智谱与清华大学开源的一个大语言模型,支持多轮对话、内容创作等,ChatGLM3-6B为ChatGLM3系列中门槛相对较低的一个,本地部署提供兼容OpenAI的API;
  LangChain用于快速开发基于大语言模型应用程序的框架,提供了一整套工具、组件、接口等使得程序与大语言模型轻松交互组件快速组合、集成;如在模型上外挂本地知识库等;

图片1.png

ChatGLM3安装

  这里将安装使用int4量化版本的ChatGLM3-6B推理程序ChatGLM.cpp项目地址为:
  https://github.com/li-plus/chatglm.cpp 这里有详细的安装流程,安装完成并下载好预训练模型后即可在Python代码通过ChatGLM.cpp推理程序调用预训练模型;

示例如下:

import chatglm_cpp

pipeline = chatglm_cpp.Pipeline("/mnt/d/software/dev/gpt/chatglm.cpp/chatglm3-ggml.bin")
p = pipeline.chat([chatglm_cpp.ChatMessage(role="user", content="海南在哪里")])
print(p.content)


API Server模式:

安装组件:pip install 'chatglm-cpp[api]'

启动基于LangChain Api的接口服务程序:

MODEL=./chatglm2-ggml.bin uvicorn chatglm_cpp.langchain_api:app --host 127.0.0.1 --port 8000

curl http请求调用:

curl http://127.0.0.1:8000 -H 'Content-Type: application/json' -d '{"prompt": "你好"}'

LangChain调用:


from langchain.llms import ChatGLM
llm = ChatGLM(endpoint_url="http://127.0.0.1:8000")
llm.predict("你好")
'你好!我是人工智能助手,很高兴见到你,欢迎问我任何问题。'


结合gradio使用:

import gradio as gr
import chatglm_cpp

def chat(quetion,history):
    pipeline = chatglm_cpp.Pipeline("/mnt/d/software/dev/gpt/chatglm.cpp/chatglm3-ggml.bin")
    p = pipeline.chat([chatglm_cpp.ChatMessage(role="user", content=quetion)])
    return p.content

demo = gr.ChatInterface(chat)
demo.launch(inbrowser=True)


2.png

  虽然只是60亿参数规模的模型,还只是int4量化版的,但从输出内容看算得上一个玩具;在与LangChain结合后可玩性将会提高;

标签:ChatGLM,知识库,ChatGLM3,LangChain,content,chatglm,cpp
From: https://www.cnblogs.com/softlin/p/17860587.html

相关文章

  • 捡到宝了!帮你轻松打造云端知识库!
    在信息爆炸的时代,有效地管理和利用知识成为了个人和组织的重要挑战。为了更好地组织、共享和应用知识,越来越多的人开始探索建立云端知识库的方式。云端知识库是一个基于云技术的平台,允许个人和团队将知识集中存储、组织和共享,从而促进学习、创新和合作。本文将探讨如何打造云端知识......
  • TS版LangChain实战:基于文档的增强检索(RAG)
    LangChainLangChain是一个以LLM(大语言模型)模型为核心的开发框架,LangChain的主要特性:可以连接多种数据源,比如网页链接、本地PDF文件、向量数据库等允许语言模型与其环境交互封装了ModelI/O(输入/输出)、Retrieval(检索器)、Memory(记忆)、Agents(决策和调度)等核心组件可以使用链......
  • 软件测试/人工智能|探究 LangChain 核心模块:PromptsModelsParsers
    简介LangChain是一种新兴的语言处理平台,其核心模块之一即PromptsModelsParsers。这一模块扮演着关键的角色,为LangChain的功能和性能提供了坚实的基础。在这篇文章中,我们将深入探讨PromptsModelsParsers模块的工作原理、功能和其对语言处理的重要性。什么是PromptsModels......
  • 软件测试/人工智能|什么是LangChain,这篇文章告诉你
    简介随着人工智能和自然语言处理技术的飞速发展,我们越来越依赖机器来理解、生成和处理语言。在这样的背景下,LangChain应运而生,它旨在构建一个高效、强大的语言处理生态系统,将人类语言与智能技术紧密相连。LangChain的核心概念LangChain是一个基于区块链技术的语言处理平台,它利用去......
  • 软件测试/人工智能|LangChain Memory模块:开启语言数据的存储与回忆之旅
    简介大多数大模型应用中都包含对话功能,而对话功能的基础就是参与者能够基于已经发生的对话和获取到的知识产生新的对话内容。更复杂一点的场景中对话者甚至需要具有一个完整的对世界的认知,再根据对话中的信息对认知不断的进行迭代更新。随着人工智能和自然语言处理技术的飞速发展,语......
  • 如何在langchain中对大模型的输出进行格式化
    简介我们知道在大语言模型中,不管模型的能力有多强大,他的输入和输出基本上都是文本格式的,文本格式的输入输出虽然对人来说非常的友好,但是如果我们想要进行一些结构化处理的话还是会有一点点的不方便。不用担心,langchain已经为我们想到了这个问题,并且提出了完满的解决方案。lan......
  • ChatGLM3革新:推理速度提升2-3倍,成本降低一半的AI大模型
    引言随着人工智能技术的飞速发展,自然语言处理(NLP)已成为最具挑战性和活跃的研究领域之一。在这个领域,大型预训练模型已被证明是实现卓越性能的关键。智谱AI最近发布的ChatGLM3,作为其第三代对话大模型,不仅在性能上有了显著提升,还在多个方面展现了其技术优势。推理速度和成本ChatGL......
  • 函数计算的新征程:使用 Laf 构建 AI 知识库
    Laf已成功上架Sealos模板市场,可通过Laf应用模板来一键部署!这意味着Laf在私有化部署上的扩展性得到了极大的提升。Sealos作为一个功能强大的云操作系统,能够秒级创建多种高可用数据库,如MySQL、PostgreSQL、MongoDB和Redis等,也可以一键运行各种消息队列和微服务,甚至G......
  • 为美好的世界献上佐罗兔(2)基于docker安装ChatGLM3
    佐罗兔——rabbitzorro首先我找了一个B站的教学视频,但是他不是基于Docker的https://www.bilibili.com/video/BV1gN4y1r7RX作者一看就是专业讲课的,说三句水两句,不过教程的结构还是可以借鉴的。我的PC配置:N卡RTX306012GB板、i5、32G内存傻瓜安装了dockerDesktop对docke......
  • 企业知识库?这篇文章给你讲清楚!
    在当今商务环境中,企业面对着大量信息和知识的流动。这些信息和知识散布在各个部门、团队甚至个人之间,难以进行有效的整合和利用。然而,企业知识库的出现解决了这一问题。它提供了一个统一的平台,将分散的信息聚集到一个集中的数据库中,并通过搜索、分类、标签等功能使用户能够快速定位......