Code Monkey home page Code Monkey logo

chatglm-6b-engineering's Introduction

ChatGLM-6B-Engineering

(Back End) 后端

前端的源码在:https://github.com/LemonQu-GIT/ChatGLM-6B-Engineering/tree/WebUI

介绍

本项目参考于

并进行多许修改以适配 ChatGLM-6B

UI 仿 ChatGPT 并使用流式输出以实现逐字回答的动画效果

api.py 参考 此 PR 以实现流式传输

正在设想加入 langchain 以适配在网络搜索后存入本地知识库以供下次使用

示例

功能

  • 上下文对话(默认)
  • 网络搜索(可以参考 官方 GitHub Repo
  • Stable Diffusion (Deprecated)
  • Markmap 生成思维导图

部署

本项目的推荐运行环境为 Python v3.9.16 node.js v14.21.3

  1. 安装依赖

    pip install -r requirements.txt
    
  2. 运行 ChatGLM-6B API (chat) (Port 8000)

    python api.py
  3. 运行 Stable Diffusion API (Port 7861) (Optional)

    python webui.py --nowebui
  4. 运行 ChatGLM-6B API (back end) (Port 8003)

    python front_end.py
  5. 运行 npm (front end) (Port 8080) v14.21.3

    npm install -g yarn
    #yarn config set registry https://registry.npm.taobao.org -g
    #yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g
    yarn install
    yarn dev

开发

加入了插件的功能,用户可以根据自己的需要自行开发插件

插件的原理如下:

模板

>> ./plugins/demo.py (new)

#coding:utf-8
from plugins.utils import *

# 以下的例子是 当用户的 prompt 中有问候性的语句就会告诉 LLM “我”叫小明的插件

def trigger_words(prompt: str):
	triggers = ['我是','你好']
	for trigger in triggers:
		if trigger in prompt:
			return True
	else:
		return False

def run(prompt: str): # 用户输入的 prompt
	if trigger_words(prompt):
		log("<你想要的日志>", "EVENT")
		# 在此写入处理用户 prompt 的代码
		return {"add": f"已知我叫小明,", "prefix": "", "suffix": ""}

>> ./plugins/__init__.py (add)

from plugins.demo import *
import plugins.demo as demo

>> ./front_end.py (add)

if enable_demo:
        log('Calling demo plugin', 'EVENT')
        demo_resp = demo.run(latest_filename)
        if demo_resp != None:
				add_prompt += demo_resp['add']
                prefix += demo_resp['prefix']
                suffix += demo_resp['suffix']
                log(f"demo plugin finished", "EVENT")

联系方式

QQ: 173887664

Email: [email protected]

将在之后创建 QQ 交流群并逐渐开放 https://chat.lemonquapi.tk 的对话示例

chatglm-6b-engineering's People

Contributors

duzx16 avatar rainatam avatar lemonqu-git avatar sengxian avatar xiao9905 avatar cherrysaber avatar adambear avatar tuteng0915 avatar songxxzp avatar yanqiangmiffy avatar initialencounter avatar oedosoldier avatar ganymedenil avatar cjld avatar zwy4896 avatar nczkevin avatar littlestone0806 avatar dlutkaka avatar is avatar holk-h avatar coderabbit214 avatar binary-husky avatar zhangerling avatar yvrjsharma avatar hscspring avatar vinlic avatar jsl9208 avatar 1049451037 avatar luckyzy avatar liucongg avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.