![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": "ChatOCR",
"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/0c/77/5bf30273a712e38100d894f9e5ff46ee931eebcc6257e8cb5841f8d06591/ChatOCR-2023.4.25.9.49.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.49.0",
"split_keywords": [
"chatllm"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "454d95de67c6846226de69943679bac2cb26d147fb8be287ef99aac6b69814c4",
"md5": "10e094adbb2e61221a2440b70600566d",
"sha256": "260767c52d9f66620e76cfe6472944ed09113e833937bbed38ab97462ce71f01"
},
"downloads": -1,
"filename": "ChatOCR-2023.4.25.9.49.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "10e094adbb2e61221a2440b70600566d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 22238,
"upload_time": "2023-04-25T01:49:03",
"upload_time_iso_8601": "2023-04-25T01:49:03.040670Z",
"url": "https://files.pythonhosted.org/packages/45/4d/95de67c6846226de69943679bac2cb26d147fb8be287ef99aac6b69814c4/ChatOCR-2023.4.25.9.49.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0c775bf30273a712e38100d894f9e5ff46ee931eebcc6257e8cb5841f8d06591",
"md5": "6690e5b759bfdffbec93a033999cddde",
"sha256": "a92d32a57c1ebeea40580c3499dc972d7042ada976c33a303fc90867c0e26045"
},
"downloads": -1,
"filename": "ChatOCR-2023.4.25.9.49.0.tar.gz",
"has_sig": false,
"md5_digest": "6690e5b759bfdffbec93a033999cddde",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 3756293,
"upload_time": "2023-04-25T01:49:10",
"upload_time_iso_8601": "2023-04-25T01:49:10.900734Z",
"url": "https://files.pythonhosted.org/packages/0c/77/5bf30273a712e38100d894f9e5ff46ee931eebcc6257e8cb5841f8d06591/ChatOCR-2023.4.25.9.49.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-25 01:49:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "yuanjie-ai",
"github_project": "llm4gpt",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "meutils",
"specs": []
},
{
"name": "transformers",
"specs": []
},
{
"name": "sentence_transformers",
"specs": []
}
],
"tox": true,
"lcname": "chatocr"
}