![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": "ChatSearch",
"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/37/3f/60b52b858d200bfdf14c7eab5e783db5a12f8d471e6cc8342c09fe2e83d1/ChatSearch-2023.4.25.9.51.41.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.51.41",
"split_keywords": [
"chatllm"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ef522cc7e65d9abbf33b51a8f4928b483901abfcc414861db880dcc35f6bd714",
"md5": "cb5d1e684b9ff9c8cad4d29505314833",
"sha256": "d563d51841e63b4b8e8f9bd241a291aa45810aa20b50034e9c6d56655c55a08c"
},
"downloads": -1,
"filename": "ChatSearch-2023.4.25.9.51.41-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cb5d1e684b9ff9c8cad4d29505314833",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 22297,
"upload_time": "2023-04-25T01:51:43",
"upload_time_iso_8601": "2023-04-25T01:51:43.925279Z",
"url": "https://files.pythonhosted.org/packages/ef/52/2cc7e65d9abbf33b51a8f4928b483901abfcc414861db880dcc35f6bd714/ChatSearch-2023.4.25.9.51.41-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "373f60b52b858d200bfdf14c7eab5e783db5a12f8d471e6cc8342c09fe2e83d1",
"md5": "ab9958f052735e478a7f0c82d62f3093",
"sha256": "cffc84c720b69b52b0bc6264eef4228c0cde2380fa6fb16750c166a88c8652aa"
},
"downloads": -1,
"filename": "ChatSearch-2023.4.25.9.51.41.tar.gz",
"has_sig": false,
"md5_digest": "ab9958f052735e478a7f0c82d62f3093",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 3756297,
"upload_time": "2023-04-25T01:51:51",
"upload_time_iso_8601": "2023-04-25T01:51:51.260014Z",
"url": "https://files.pythonhosted.org/packages/37/3f/60b52b858d200bfdf14c7eab5e783db5a12f8d471e6cc8342c09fe2e83d1/ChatSearch-2023.4.25.9.51.41.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-25 01:51:51",
"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": "chatsearch"
}