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

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调用:
llm = ChatGLM(endpoint_url="http://127.0.0.1:8000")
llm.predict("你好")
'你好!我是人工智能助手,很高兴见到你,欢迎问我任何问题。'
结合gradio使用:
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)

虽然只是60亿参数规模的模型,还只是int4量化版的,但从输出内容看算得上一个玩具;在与LangChain结合后可玩性将会提高;
FEATURED TAGS
Agent
大模型
ChatGPT
HA
智能家居
LSM
Linux
Dapr
开发
插件
Linux,虚拟机,ubuntu
缓存
图片
Flink
反射
内置函数
go
限流
大数据,Spark,Kafka
面向对象
镜像
docker,hadoop,镜像
kafka,java
求导
链式法则
微积分
源码
快照
协议
ZooKeeper
ZAB
tomcat
Hadoop
Spark
python
自动微分
React Native
React
Node.js
Android
Kafka
lambda
jvm
rasp
框架
SPI
asm
maven
idea
依赖管理
module
helm
逻辑回归
S函数
IOS
Fiddler
Andriod
Protocol Buffer
kryo
车联网,大数据,神经网络
字节序
最小二乘法
线性代数
线性回归
最大似然法
网络编程
大数据
树莓派
Raspbian
redis
海南
分析
人口
函数式编程
clojure
线程
并行
actor
红黑树
数组
动态数组
tcp
编程
markdown
二叉搜索树
AVL树
数据结构
golang
梯度下降法
skaffold
k8s
机器学习
选法
一致性
算法
分布式
paxos
Raft
一致性协议
引擎
容器
通信
微服务
Kubernetes
docker
文件系统
NFS
神经网络
神经元
深度学习
poi
反向传播
java
并发模型
并发
多线程
Scala