# 🦙 Panel ChatBot Pack
Build a chatbot to talk to your Github repository.
Powered by LlamaIndex, OpenAI ChatGPT and [HoloViz Panel](https://panel.holoviz.org/reference/chat/ChatInterface.html).
![Panel Chat Bot](https://raw.githubusercontent.com/run-llama/llama-hub/main/llama_hub/llama_packs/panel_chatbot/panel_chatbot.png)
## 💁♀️ Explanation
This template
- Downloads and indexes a Github repository using the the `llama_index` [`GithubRepositoryReader`](https://llamahub.ai/l/github_repo). The default repository is [holoviz/panel](https://github.com/holoviz/panel).
- Creates a [VectorStoreIndex](https://docs.llamaindex.ai/en/stable/changes/deprecated_terms.html#VectorStoreIndex) powered chat engine that will retrieve context from that data to respond to each user query.
- Creates a Panel [`ChatInterface`](https://panel.holoviz.org/reference/chat/ChatInterface.html) UI that will stream each answer from the chat engine.
## 🖥️ CLI Usage
You can download llamapacks directly using `llamaindex-cli`, which comes installed with the `llama-index` Python package:
```bash
pip install llama-index
llamaindex-cli download-llamapack PanelChatPack --download-dir ./panel_chat_pack
```
You can then inspect the files in the `panel_chat_pack` folder and use them as a template for your own project!
To run the app directly, use in your terminal:
```bash
export OPENAI_API_KEY="sk-..."
export GITHUB_TOKEN='...'
panel serve ./panel_chat_pack/base.py
```
As an alternative to `panel serve`, you can run
```bash
python ./panel_chat_pack/base.py
```
## 🎓 Learn More
- [`GithubRepositoryReader`](https://llamahub.ai/l/github_repo)
- [`VectorStoreIndex`](https://docs.llamaindex.ai/en/stable/changes/deprecated_terms.html#VectorStoreIndex)
- [Panel Chat Components](https://panel.holoviz.org/reference/index.html#chat)
- [Panel Chat Examples](https://github.com/holoviz-topics/panel-chat-examples)
## 👍 Credits
- [Marc Skov Madsen](https://twitter.com/MarcSkovMadsen) for creating the template
- [Sophia Yang](https://twitter.com/sophiamyang) for creating the cute LLama image.
## 📈 Potential Improvements
- [ ] Improved Multi-user support
- [ ] Loading queue: Users should not be able to download the same repository at the same time.
- [ ] Service Context
- [ ] Enable users to define the service context including `model`, `temperature` etc.
- [ ] Better loading experience
- [ ] Let the chat assistant show (more fine-grained) status messages. And provide more status changes
- [ ] Focus on the streaming text
- [ ] The streaming text is not always in focus. I believe its a matter of adjusting the `auto_scroll_limit` limit.
- [ ] Fix minor CSS issues
- [ ] See the `CSS_FIXES_TO_BE_UPSTREAMED_TO_PANEL` variable in the code
- [ ] Repo Manager
- [ ] Support using multiple repos. For example the full HoloViz suite
Raw data
{
"_id": null,
"home_page": "",
"name": "llama-index-packs-panel-chatbot",
"maintainer": "MarcSkovMadsen",
"docs_url": null,
"requires_python": ">=3.9,<4.0",
"maintainer_email": "",
"keywords": "chatbot,github,index,openai,panel",
"author": "Your Name",
"author_email": "you@example.com",
"download_url": "https://files.pythonhosted.org/packages/ea/4f/724c89d87ae00ba5fa73a7aa1714bd8af731df660f0dcb7f15347b4c0a17/llama_index_packs_panel_chatbot-0.1.4.tar.gz",
"platform": null,
"description": "# \ud83e\udd99 Panel ChatBot Pack\n\nBuild a chatbot to talk to your Github repository.\n\nPowered by LlamaIndex, OpenAI ChatGPT and [HoloViz Panel](https://panel.holoviz.org/reference/chat/ChatInterface.html).\n\n![Panel Chat Bot](https://raw.githubusercontent.com/run-llama/llama-hub/main/llama_hub/llama_packs/panel_chatbot/panel_chatbot.png)\n\n## \ud83d\udc81\u200d\u2640\ufe0f Explanation\n\nThis template\n\n- Downloads and indexes a Github repository using the the `llama_index` [`GithubRepositoryReader`](https://llamahub.ai/l/github_repo). The default repository is [holoviz/panel](https://github.com/holoviz/panel).\n- Creates a [VectorStoreIndex](https://docs.llamaindex.ai/en/stable/changes/deprecated_terms.html#VectorStoreIndex) powered chat engine that will retrieve context from that data to respond to each user query.\n- Creates a Panel [`ChatInterface`](https://panel.holoviz.org/reference/chat/ChatInterface.html) UI that will stream each answer from the chat engine.\n\n## \ud83d\udda5\ufe0f CLI Usage\n\nYou can download llamapacks directly using `llamaindex-cli`, which comes installed with the `llama-index` Python package:\n\n```bash\npip install llama-index\nllamaindex-cli download-llamapack PanelChatPack --download-dir ./panel_chat_pack\n```\n\nYou can then inspect the files in the `panel_chat_pack` folder and use them as a template for your own project!\n\nTo run the app directly, use in your terminal:\n\n```bash\nexport OPENAI_API_KEY=\"sk-...\"\nexport GITHUB_TOKEN='...'\npanel serve ./panel_chat_pack/base.py\n```\n\nAs an alternative to `panel serve`, you can run\n\n```bash\npython ./panel_chat_pack/base.py\n```\n\n## \ud83c\udf93 Learn More\n\n- [`GithubRepositoryReader`](https://llamahub.ai/l/github_repo)\n- [`VectorStoreIndex`](https://docs.llamaindex.ai/en/stable/changes/deprecated_terms.html#VectorStoreIndex)\n- [Panel Chat Components](https://panel.holoviz.org/reference/index.html#chat)\n- [Panel Chat Examples](https://github.com/holoviz-topics/panel-chat-examples)\n\n## \ud83d\udc4d Credits\n\n- [Marc Skov Madsen](https://twitter.com/MarcSkovMadsen) for creating the template\n- [Sophia Yang](https://twitter.com/sophiamyang) for creating the cute LLama image.\n\n## \ud83d\udcc8 Potential Improvements\n\n- [ ] Improved Multi-user support\n - [ ] Loading queue: Users should not be able to download the same repository at the same time.\n- [ ] Service Context\n - [ ] Enable users to define the service context including `model`, `temperature` etc.\n- [ ] Better loading experience\n - [ ] Let the chat assistant show (more fine-grained) status messages. And provide more status changes\n- [ ] Focus on the streaming text\n - [ ] The streaming text is not always in focus. I believe its a matter of adjusting the `auto_scroll_limit` limit.\n- [ ] Fix minor CSS issues\n - [ ] See the `CSS_FIXES_TO_BE_UPSTREAMED_TO_PANEL` variable in the code\n- [ ] Repo Manager\n - [ ] Support using multiple repos. For example the full HoloViz suite\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "llama-index packs panel_chatbot integration",
"version": "0.1.4",
"project_urls": null,
"split_keywords": [
"chatbot",
"github",
"index",
"openai",
"panel"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "41e6380a27de8d71b957cad8412caa7b8129c836488196440605d284c3a8aab0",
"md5": "7baa38204c5d1ef54127a54549295f2a",
"sha256": "1797461c453094192ec63fdbd9c4a1dfe010f79b6a16d766042485ad54a2b7b8"
},
"downloads": -1,
"filename": "llama_index_packs_panel_chatbot-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7baa38204c5d1ef54127a54549295f2a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<4.0",
"size": 4153946,
"upload_time": "2024-02-22T03:15:46",
"upload_time_iso_8601": "2024-02-22T03:15:46.503497Z",
"url": "https://files.pythonhosted.org/packages/41/e6/380a27de8d71b957cad8412caa7b8129c836488196440605d284c3a8aab0/llama_index_packs_panel_chatbot-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ea4f724c89d87ae00ba5fa73a7aa1714bd8af731df660f0dcb7f15347b4c0a17",
"md5": "3818cace32920dce9be8285981b247d4",
"sha256": "852303cad295184dd3ee184c8a7747a5890f1a8394cd70b10422d07cb3c47b97"
},
"downloads": -1,
"filename": "llama_index_packs_panel_chatbot-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "3818cace32920dce9be8285981b247d4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<4.0",
"size": 4155593,
"upload_time": "2024-02-22T03:15:50",
"upload_time_iso_8601": "2024-02-22T03:15:50.205958Z",
"url": "https://files.pythonhosted.org/packages/ea/4f/724c89d87ae00ba5fa73a7aa1714bd8af731df660f0dcb7f15347b4c0a17/llama_index_packs_panel_chatbot-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-22 03:15:50",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "llama-index-packs-panel-chatbot"
}