Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yuanjie-ai/ChatLLM
轻松玩转LLM兼容openai&langchain,支持文心一言、讯飞星火、腾讯混元、智谱ChatGLM等
https://github.com/yuanjie-ai/ChatLLM
chatbase chatdb chatdoc chatgpt chatkb chatkg chatllm chatpdf chatsearch chatsql chatweb gpt4 langchain llm lora p-tuning
Last synced: 14 days ago
JSON representation
轻松玩转LLM兼容openai&langchain,支持文心一言、讯飞星火、腾讯混元、智谱ChatGLM等
- Host: GitHub
- URL: https://github.com/yuanjie-ai/ChatLLM
- Owner: yuanjie-ai
- License: mit
- Created: 2023-04-11T04:28:30.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-09-24T00:44:03.000Z (5 months ago)
- Last Synced: 2025-01-31T11:13:31.048Z (15 days ago)
- Topics: chatbase, chatdb, chatdoc, chatgpt, chatkb, chatkg, chatllm, chatpdf, chatsearch, chatsql, chatweb, gpt4, langchain, llm, lora, p-tuning
- Language: Jupyter Notebook
- Homepage: https://yuanjie-ai.github.io/ChatLLM/
- Size: 40.9 MB
- Stars: 440
- Watchers: 8
- Forks: 56
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.rst
- License: LICENSE
Awesome Lists containing this project
README
![image](https://img.shields.io/pypi/v/chatllm.svg) ![image](https://img.shields.io/travis/yuanjie-ai/chatllm.svg) ![image](https://readthedocs.org/projects/chatllm/badge/?version=latest)
🔥ChatLLM 基于知识库🔥
> star之后可联系wx: 313303303领取1000w tokens(国产模型)
> star之后可联系wx: 313303303领取1000w tokens(国产模型)
> star之后可联系wx: 313303303领取1000w tokens(国产模型)
![]()
![image](https://github.com/yuanjie-ai/ChatLLM/assets/20265321/90890ea5-e92d-46c8-a600-a32e33eb4fc3)
## todo: SimpleGraphRAG
## [ChatLLM API 分发系统上线](https://api.chatllm.vip/)
Click to Star⭐️免费领取tokens
https://api.chatllm.vip/## Install
```shell
pip install -U chatllm
```## [Docs](https://yuanjie-ai.github.io/ChatLLM/)
## Usages
### [目前适配的LLMs](LLMS.md)
> 计划推出国内 oneapi,支持各种主流大模型,兼容openai客户端生态。```python
from chatllm.applications import ChatBaseqa = ChatBase()
qa.load_llm(model_name_or_path="THUDM/chatglm-6b")
for i in qa(query='周杰伦是谁', knowledge_base='周杰伦是傻子'):
print(i, end='')
# 根据已知信息无法回答该问题,因为周杰伦是中国内地流行歌手、演员、音乐制作人、导演,
# 是具有一定的知名度和专业能力的人物,没有提供足够的信息无法判断他是傻子。
```## OpenaiEcosystem
Click to 无缝对接openai生态
```shell
# 服务端
pip install "chatllm[openai]" && chatllm-run openai <本地模型地址>
```- SDK:`pip install openai`
```python
import openaiopenai.api_base = 'http://0.0.0.0:8000/v1'
openai.api_key = 'chatllm'
prompt = "你好"
completion = openai.Completion.create(prompt=prompt, stream=True, model="text-davinci-003")
for c in completion:
print(c.choices[0].text, end='')
# 你好👋!我是人工智能助手 ChatGLM-6B,很高兴见到你,欢迎问我任何问题。
```- 客户端:[点击下载chatbox](https://chatboxapp.xyz/),也可接入客户端
![客户端](data/imgs/chatbox.png)### [openai_keys](./data/openai_keys.md): `不定期更新免费keys`
## ChatOCR
Click to ChatOCR
```python
from meutils.pipe import *
from chatllm.llmchain.applications import ChatOCRllm = ChatOCR()
file_path = "data/invoice.jpg"
llm.display(file_path, 700)
llm.chat('识别编号,公司名称,开票日期,开票人,收款人,复核人,金额', file_path=file_path) | xprint
```![ocr](data/imgs/chatocr.png)
## ChatMind
Click to ChatMind
```shell
pip install "chatllm" && chatllm-run webui --name chatmind
```![客户端](data/imgs/chatmind.png)
## ChatPDF
Click to ChatPDF
```shell
pip install "chatllm[pdf]" && chatllm-run webui --name chatpdf
```- python交互
```python
from chatllm.applications.chatpdf import ChatPDFqa = ChatPDF(encode_model='nghuyong/ernie-3.0-nano-zh')
qa.load_llm(model_name_or_path="THUDM/chatglm-6b")
qa.create_index('财报.pdf') # 构建知识库for i in qa(query='东北证券主营业务'):
print(i, end='')
# 根据已知信息,东北证券的主营业务为证券业务。公司作为证券公司,主要从事证券经纪、证券投资咨询、与证券交易、
# 证券投资活动有关的财务顾问、证券承销与保荐、证券自营、融资融券、证券投资基金代销和代销金融产品待业务。
```- 支持召回结果查看
![向量召回结果](data/imgs/chatpdf.gif)## Deploy
Click to Deploy
- ChatGLM-6B 模型硬件需求
| **量化等级** | **最低 GPU 显存**(推理) | **最低 GPU 显存**(高效参数微调) |
|-----------|-------------------|-----------------------|
| FP16(无量化) | 13 GB | 14 GB |
| INT8 | 8 GB | 9 GB |
| INT4 | 6 GB | 7 GB |- 从本地加载模型
- [安装指南](docs/INSTALL.md)
- [ChatGLM-6B Mac 本地部署实操记录](https://www.yuque.com/arvinxx/llm/chatglm-6b-deployment-on-mac)
- [THUDM/ChatGLM-6B#从本地加载模型](https://github.com/THUDM/ChatGLM-6B#从本地加载模型)## TODO
Click to TODO
- [ ] ChatLLM 应用
- [x] 接入非结构化文档(已支持 md、pdf、docx、txt 文件格式)
- [ ] 搜索引擎与本地网页接入
- [ ] 结构化数据接入(如 csv、Excel、SQL 等)
- [ ] 知识图谱/图数据库接入
- [ ] 增加 ANN 后端,ES/RedisSearch【确保生产高可用】
- [ ] 增加多级缓存缓存- [ ] 多路召回
- [ ] 问
- [ ] 标量匹配
- [x] 多种向量化,向量匹配
- [ ] 增加相似问,换几个问法
- [ ] 高置信度直接返回答案【匹配标准问】
- [ ] 答
- [ ] 高置信度篇章
- [ ] 增加上下文信息
- [ ] 增加夸篇章信息
- [ ] 增加召回信息的相似信息
- [ ] 提前生成标准问,匹配问
- [ ] 拒绝推断- [ ] 增加更多 LLM 模型支持
- [x] [THUDM/chatglm-6b](https://huggingface.co/THUDM/chatglm-6b)
- [ ] [THUDM/chatglm-6b-int8](https://huggingface.co/THUDM/chatglm-6b-int8)
- [ ] [THUDM/chatglm-6b-int4](https://huggingface.co/THUDM/chatglm-6b-int4)
- [ ] [THUDM/chatglm-6b-int4-qe](https://huggingface.co/THUDM/chatglm-6b-int4-qe)
- [ ] [ClueAI/ChatYuan-large-v2](https://huggingface.co/ClueAI/ChatYuan-large-v2)
- [ ] 增加更多 Embedding 模型支持
- [x] [nghuyong/ernie-3.0-nano-zh](https://huggingface.co/nghuyong/ernie-3.0-nano-zh)
- [x] [nghuyong/ernie-3.0-base-zh](https://huggingface.co/nghuyong/ernie-3.0-base-zh)
- [x] [shibing624/text2vec-base-chinese](https://huggingface.co/shibing624/text2vec-base-chinese)
- [x] [GanymedeNil/text2vec-large-chinese](https://huggingface.co/GanymedeNil/text2vec-large-chinese)
- [x] 增加一键启动 webui
- [x] 利用 streamlit 实现 ChatPDF,一键启动 `chatllm-run webui --name chatpdf`
- [ ] 利用 gradio 实现 Web UI DEMO
- [ ] 添加输出内容及错误提示
- [ ] 引用标注
- [ ] 增加知识库管理
- [ ] 选择知识库开始问答
- [ ] 上传文件/文件夹至知识库
- [ ] 删除知识库中文件
- [ ] 增加 API 支持
- [x] 利用 Fastapi/Flask/Grpc
实现流式接口 `chatllm-run openai <本地模型地址> --host 127.0.0.1 --port 8000`
- [ ] 前后端分离,实现调用 API 的 Web UI Demo## [交流群](http://wechat.yanyue.cloud/common/qun/redirect/?qid=449187)
![]()
> 若二维码失效加微信拉群 313303303