![image](https://img.shields.io/pypi/v/llm4gpt.svg) ![image](https://img.shields.io/travis/yuanjie-ai/llm4gpt.svg) ![image](https://readthedocs.org/projects/llm4gpt/badge/?version=latest)
<h1 align = "center">🔥ChatLLM🔥</h1>
---
# Install
```python
pip install -U llm4gpt
```
# [Docs](https://jie-yuan.github.io/llm4gpt/)
# Usages
```python
from chatllm.qa import QA
from chatllm.kb import FaissANN
from chatllm.chatllm import ChatLLM
from chatllm.utils import llm_load
from meutils.pipe import *
# 解析知识库
texts = []
metadatas = []
for p in Path('data').glob('*.txt'):
texts.append(p.read_text())
metadatas.append({'source': p})
# 文档向量化
faissann = FaissANN(model_name_or_path="shibing624/text2vec-base-chinese")
faissann.add_texts(texts, metadatas)
# 构建pipeline
model, tokenizer = llm_load(model_name_or_path="THUDM/chatglm-6b", device='cpu')
glm = ChatLLM()
glm.chat_func = partial(model.chat, tokenizer=tokenizer)
qa = QA(glm, faiss_ann=faissann.faiss_ann)
qa.get_knowledge_based_answer('周杰伦在干吗')
qa.get_knowledge_based_answer('姚明住哪里')
```
---
# TODO
- [ ] 增加UI
- [x] 增加本地知识库组件
- [ ] 增加互联网搜索组件
- [ ] 增加知识图谱组件
- [ ] 增加微调模块
- [ ] 增加流式输出
=======
History
=======
0.0.0 (2023-04-11)
------------------
* First release on PyPI.
Raw data
{
"_id": null,
"home_page": "https://github.com/yuanjie-ai/llm4gpt",
"name": "ChatDocument",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "chatllm",
"author": "yuanjie",
"author_email": "313303303@qq.com",
"download_url": "https://files.pythonhosted.org/packages/3a/43/98867a57a33ac897b68aa7b449fe0ff46a61f262bf35a8d9e5ca419bf008/ChatDocument-2023.4.25.9.50.0.tar.gz",
"platform": null,
"description": "![image](https://img.shields.io/pypi/v/llm4gpt.svg) ![image](https://img.shields.io/travis/yuanjie-ai/llm4gpt.svg) ![image](https://readthedocs.org/projects/llm4gpt/badge/?version=latest)\n\n\n\n<h1 align = \"center\">\ud83d\udd25ChatLLM\ud83d\udd25</h1>\n\n---\n\n# Install\n\n```python\npip install -U llm4gpt\n```\n\n# [Docs](https://jie-yuan.github.io/llm4gpt/)\n\n# Usages\n\n```python\nfrom chatllm.qa import QA\nfrom chatllm.kb import FaissANN\nfrom chatllm.chatllm import ChatLLM\nfrom chatllm.utils import llm_load\n\nfrom meutils.pipe import *\n\n# \u89e3\u6790\u77e5\u8bc6\u5e93\ntexts = []\nmetadatas = []\nfor p in Path('data').glob('*.txt'):\n texts.append(p.read_text())\n metadatas.append({'source': p})\n\n# \u6587\u6863\u5411\u91cf\u5316\nfaissann = FaissANN(model_name_or_path=\"shibing624/text2vec-base-chinese\")\nfaissann.add_texts(texts, metadatas)\n\n# \u6784\u5efapipeline\nmodel, tokenizer = llm_load(model_name_or_path=\"THUDM/chatglm-6b\", device='cpu')\nglm = ChatLLM()\nglm.chat_func = partial(model.chat, tokenizer=tokenizer)\n\nqa = QA(glm, faiss_ann=faissann.faiss_ann)\n\nqa.get_knowledge_based_answer('\u5468\u6770\u4f26\u5728\u5e72\u5417')\nqa.get_knowledge_based_answer('\u59da\u660e\u4f4f\u54ea\u91cc')\n```\n\n---\n\n# TODO\n\n- [ ] \u589e\u52a0UI\n\n- [x] \u589e\u52a0\u672c\u5730\u77e5\u8bc6\u5e93\u7ec4\u4ef6\n\n- [ ] \u589e\u52a0\u4e92\u8054\u7f51\u641c\u7d22\u7ec4\u4ef6\n\n- [ ] \u589e\u52a0\u77e5\u8bc6\u56fe\u8c31\u7ec4\u4ef6\n\n- [ ] \u589e\u52a0\u5fae\u8c03\u6a21\u5757\n\n- [ ] \u589e\u52a0\u6d41\u5f0f\u8f93\u51fa\n\n\n\n\n\n=======\nHistory\n=======\n\n0.0.0 (2023-04-11)\n------------------\n\n* First release on PyPI.\n",
"bugtrack_url": null,
"license": "MIT license",
"summary": "Create a Python package.",
"version": "2023.4.25.9.50.0",
"split_keywords": [
"chatllm"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1aa060d9131aac83fd1f92f5f16213adbd947d66a0ed96eb50998d6d2d023e6e",
"md5": "a37076baf7bd07269392561f06d5cfdb",
"sha256": "2f0da819db6ecbe9fee7751ba494345db75a70552b71e2c1dc01c9837a15d355"
},
"downloads": -1,
"filename": "ChatDocument-2023.4.25.9.50.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a37076baf7bd07269392561f06d5cfdb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 22316,
"upload_time": "2023-04-25T01:50:02",
"upload_time_iso_8601": "2023-04-25T01:50:02.783861Z",
"url": "https://files.pythonhosted.org/packages/1a/a0/60d9131aac83fd1f92f5f16213adbd947d66a0ed96eb50998d6d2d023e6e/ChatDocument-2023.4.25.9.50.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3a4398867a57a33ac897b68aa7b449fe0ff46a61f262bf35a8d9e5ca419bf008",
"md5": "98a57067a378c0eb5eefdec363791150",
"sha256": "f1021204045711df96b29a72ad938f286f93e1d7e4929645211b7cc76d2685ba"
},
"downloads": -1,
"filename": "ChatDocument-2023.4.25.9.50.0.tar.gz",
"has_sig": false,
"md5_digest": "98a57067a378c0eb5eefdec363791150",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 3756282,
"upload_time": "2023-04-25T01:50:13",
"upload_time_iso_8601": "2023-04-25T01:50:13.193142Z",
"url": "https://files.pythonhosted.org/packages/3a/43/98867a57a33ac897b68aa7b449fe0ff46a61f262bf35a8d9e5ca419bf008/ChatDocument-2023.4.25.9.50.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-25 01:50:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "yuanjie-ai",
"github_project": "llm4gpt",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"requirements": [],
"tox": true,
"lcname": "chatdocument"
}