手记chatglm cpp

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

本篇主要内容为介绍ChatGLM3的安装使用,后续才会涉及到使用LangChain实现本地知识库的内容; ChatGLM为智谱与清华大学开源的一个大语言模型,支持多轮对话、内容创作等,ChatGLM3-6B为ChatGLM3系列中门槛相对较低的一个,本地部署提供兼容OpenAI的API; LangC ......
知识库 LangChain ChatGLM 知识

关于C/CPP的快读

#include <cstdio> class BufferIO { public: template<typename T> auto operator>>(T& x); template<typename T> inline void unsigned_read(T& x); template< ......
CPP

部署一个本地的聊天机器人-基于ChatGLM3

部署一个本地的聊天机器人-基于ChatGLM3 预备 理论上来说 8G及以上显存的英伟达GPU 笔者的设备 RTX 4060Ti (16G显存) Archlinux Python 3.10.10 ChatGLM3 代码版本 33953b119e7 开整 下载ChatGLM3 ChatGLM3 是智谱 ......
机器人 ChatGLM3 机器 ChatGLM

GPU部署llama-cpp-python(llama.cpp通用)

title: GPU部署llama-cpp-python(llama.cpp通用) banner_img: https://cdn.studyinglover.com/pic/2023/08/a5e39db5abf0853e6c456728df8bd971.jpg date: 2023-8-6 23 ......
llama llama-cpp-python cpp python GPU

cpp中加锁问题

std::mutex mutex 类是一个同步原语,可用于保护共享数据不被多个线程同时访问。互斥体提供独占的、非递归的所有权语义:调用线程从成功调用lock或try_lock直到调用unlock为止都拥有互斥体。当一个线程拥有互斥锁时,如果所有其他线程尝试声明该互斥锁的所有权,则所有其他线程都将阻塞 ......
问题 cpp

Cpp 值的种类划分

本博文会介绍移动语义的形式术语和规则。并且会正式的介绍值的类别,如 lvalue、rvalue、prvalue和 xvalue,并讨论了在绑定对象引用时的作用。也会讨论移动语义不会自动传递的细节,以及decltype 在表达式调用时的微妙行为。 作为《Cpp Move Semantics》书中最复杂 ......
种类 Cpp

为美好的世界献上佐罗兔(2)基于docker安装ChatGLM3

佐罗兔——rabbitzorro 首先我找了一个B站的教学视频,但是他不是基于Docker的 https://www.bilibili.com/video/BV1gN4y1r7RX 作者一看就是专业讲课的,说三句水两句,不过教程的结构还是可以借鉴的。 我的PC配置: N卡RTX3060 12GB板、 ......
ChatGLM3 ChatGLM docker 世界

CPP-移动语义

“Move semantics allows us to optimize the copying of objects, where we no longer need the value. It can be used implicitly (for unnamed temporary obje ......
语义 CPP

【教程】cpp转python Nanobind 实践 加速轻量版 pythonbind11

主要是尝试一下把c++这边的函数封装打包给python用,选择nanobind的原因是:1. 优化速度快,2. 生成二进制包小,不过pythonbind11是更为广泛知道的,nanobind也是pythonbind11作者后续做的,可以查看作者写的 why another binding libar ......
轻量 pythonbind Nanobind 教程 python

Init ubuntu for cpp dev

sudo apt update;sudo apt upgrade -y; wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb; sudo dpkg -i google-chrome-stable ......
ubuntu Init for cpp dev

安装llama.cpp遇到的问题

llama.cpp 在ubuntu环境下编译: 1. 下载好模型文件,如 llama-2-7b-chat-hf; Mistral-7B-Instruct-v0.1/ggml-model-f16-q8_0.gguf2. 建立conda环境 conda create -n llamacpp python ......
问题 llama cpp

【随手记】解析 JSON 中的 Null 值遇到的问题

在 Java 中解析 JSON 字符串时,不同的库会对 JSON 中的 null 值有不同的处理方式。本文探讨阿里巴巴的 JSONObject 和 net.sf.json.JSONObject 在处理 null 值时的差异。 阿里巴巴的 JSONObject 阿里巴巴的 JSONObject.par ......
手记 问题 JSON Null

CPP和C运算符优先级结合性表

运算符优先级决定了运算符用于值的顺序。C+运算符分为18个优先级组,如表所示。第1组中的运算符的优先级最高,第2组中运算符的优先级次之,依此类推。 一个表达式中,优先级高的运算符先于优先级低的运算符进行运算。优先级相同的运算符按照结合性方向进行运算。 下面是《C++ Primer plus》中的C+ ......
运算符 优先级 CPP

chatglm3-6b尝试

十月底智谱开元路chatglm3,果断来尝试一下。 1.ChatGLM3 亮点 ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的新一代对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,Chat ......
chatglm3 chatglm 6b

ChatGLM3-6B:新一代开源双语对话语言模型,流畅对话与低部署门槛再升级

ChatGLM3-6B:新一代开源双语对话语言模型,流畅对话与低部署门槛再升级 1.ChatGLM3简介 ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的新一代对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多 ......
双语 门槛 新一代 ChatGLM3 模型

【随手记】mybatis动态sql foreach遍历List<Map>问题

使用mybatis时经常需要在xml里写动态sql,发现foreach标签使用的问题 foreach标签使用 当Mapper传参是List<Map<String, Object>集合的形式时,不能直接使用参数名,会找不到对应的参数。 list类型的参数会特殊处理封装在map中,map的key就叫li ......
手记 mybatis foreach 动态 问题

CPP 智能指针

目录内存管理new and delete不要使用malloc 和freenew失败了怎么办区别动态数组和动态分配数组对象数组永远对应关系多维数组new 申请多维数组数组即指针并不是所有的指针都是数组指针操作资源回收智能指针使用智能指针的必要之处。unique_ptr接触unique_ptr的拥有权s ......
指针 智能 CPP

re2-cpp-is-awesome

没做出来,看题解得 攻防世界逆向高手题之re2-cpp-is-awesome_align 20h-CSDN博客 注意 汇编知识 align 8,align num是让后面的字节都对齐num,也就是这里都对齐8才对,中间补7个0。可是这里下一个数和上一个数明明间隔4而已!后来查了很多资料才发现是IDA ......
re2-cpp-is-awesome awesome cpp re2 re

simple cpp file logger

this is a simple cpp file logger implementation, which is copied from making log file - C++ Forum https://cplusplus.com/forum/beginner/168442/ /////// ......
simple logger file cpp

通义千问, 文心一言, ChatGLM, GPT-4, Llama2, DevOps 能力评测

引言 “克隆 dev 环境到 test 环境,等所有服务运行正常之后,把访问地址告诉我”,“检查所有项目,告诉我有哪些服务不正常,给出异常原因和修复建议”,在过去的工程师生涯中,也曾幻想过能够通过这样的自然语言指令来完成运维任务,如今 AI 助手 Appilot 利用 LLM 蕴藏的神奇力量,将这一 ......
文心 ChatGLM 能力 DevOps Llama2

ChatGLM.cpp的量化处理

chatglm.cpp的一个主要特点就是以量化的形式对大模型进行优化,使其在CPU上能够进行高效推理。 本文主要查看chatglm.cpp是如何对模型进行量化的 chatglm.cpp在使用时主要分成两步: 使用convert.py将模型进行量化,得到ggml格式 使用./build/bin/mai ......
ChatGLM cpp

ChatGLM2 源码解析:`ChatGLMTokenizer`

import os import torch from typing import List, Optional, Union, Dict from sentencepiece import SentencePieceProcessor from transformers import PreTra ......
ChatGLMTokenizer 源码 ChatGLM2 ChatGLM

cpp.build

{ "shell_cmd": "g++ '${file}' -o '${file_path}/${file_base_name}'", "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "${file_pat ......
build cpp

【Cpp 基础】主动刷新 cout 缓存区

使用额外的 “刷新” 功能(<<flush)来确保根据我们的要求显示输出。 // C++程序演示flush函数的使用 #include <iostream> #include <thread> #include <chrono> using namespace std; int main() { f ......
基础 cout Cpp

【随手记】python免api调用谷歌翻译

pip3 install googletrans==4.0.0-rc1 from googletrans import Translator translator = Translator() translation = translator.translate('Create a biased r ......
手记 python api

【Cpp 语言基础】C++中的 getline() 函数

一、string类的getline函数(全局函数) getline(cin,str)函数是处理string类的函数。第二个参数为string类型的变量。读入时第二个参数为string类型,而不是char*,要注意区别 getline()函数的定义如下所示 1. istream& getline ( ......
语言基础 函数 getline 语言 基础

安卓串口实现通讯奇偶校验问题(手写cpp文件调用)

第一步配置SDK 在local.properties文件中添加ndk对应的版本 cmake.dir=D\:\\SDK\\cmake\\3.10.2.4988404ndk.dir=D\:\\SDK\\ndk\\21.0.6113669sdk.dir=D\:\\SDK 第二步手写CMakeLists.t ......
奇偶 串口 通讯 文件 问题

Langchain-Chatchat项目:5.1-ChatGLM3-6B工具调用

在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,ChatGLM3-6B-Base 具有在10B以下的基础模型中最强的性能。ChatGLM3-6B采用了全新设计的Prompt格式,除正常的多轮对话外。同时原生支持工具调用(Function Call)、代码执行(Code Interpret ......

使用 OKhttp3 实现 ChatGLM HTTP 调用(SSE、异步、同步)

目录1. 准备工作2. SSE 调用3. 异步调用4. 同步调用5. 附录5.1 组装鉴权 token5.2 接口请求参数 为了熟悉下 OKhttp 和 ChatGLM 接口,写几个 demo 试试 1. 准备工作 从 ChatGLM 的接口文档可知,每次 HTTP 调用都需要带上一个鉴权 toke ......
OKhttp3 ChatGLM OKhttp HTTP SSE

ChatGLM3本地部署

如何用免费GPU线上跑AI项目实践 - 飞书云文档 (feishu.cn) 准备步骤: 1.配置好环境pytorch2.0.1 python3.9 2.进入JupyterLab进入开发环境 3.将glm3从开源项目中git下来,这里在terminal输入指令后,输入github的账号密码进行git。 ......
ChatGLM3 ChatGLM