# 🦙 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 `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": null,
"name": "llama-index-packs-panel-chatbot",
"maintainer": "MarcSkovMadsen",
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "chatbot, github, index, openai, panel",
"author": "Your Name",
"author_email": "you@example.com",
"download_url": "https://files.pythonhosted.org/packages/74/ce/8cb2d4a059e898c0bde6fe5bc46518d26533a94a77504e7db241396faac5/llama_index_packs_panel_chatbot-0.3.0.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 `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.3.0",
"project_urls": null,
"split_keywords": [
"chatbot",
" github",
" index",
" openai",
" panel"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "99a894ef7da51fb8c243ef2188faedece7ce743b57766a6e031b5b9fa334f38c",
"md5": "7a6029ba5adc3ad3669c1d818002ffed",
"sha256": "a57dc0a9bd7aa53162dad209b8ea904b06b856008fe72dd06efb828b4750ddac"
},
"downloads": -1,
"filename": "llama_index_packs_panel_chatbot-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7a6029ba5adc3ad3669c1d818002ffed",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 4153941,
"upload_time": "2024-11-18T01:32:02",
"upload_time_iso_8601": "2024-11-18T01:32:02.537281Z",
"url": "https://files.pythonhosted.org/packages/99/a8/94ef7da51fb8c243ef2188faedece7ce743b57766a6e031b5b9fa334f38c/llama_index_packs_panel_chatbot-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "74ce8cb2d4a059e898c0bde6fe5bc46518d26533a94a77504e7db241396faac5",
"md5": "fad2bbefc2dbeb48e18f7f91e12d23a1",
"sha256": "25348d67cbb89913bb4af5bc2a11ae639f0230b8588258eee6bf33694d24ad46"
},
"downloads": -1,
"filename": "llama_index_packs_panel_chatbot-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "fad2bbefc2dbeb48e18f7f91e12d23a1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 4155572,
"upload_time": "2024-11-18T01:32:06",
"upload_time_iso_8601": "2024-11-18T01:32:06.997035Z",
"url": "https://files.pythonhosted.org/packages/74/ce/8cb2d4a059e898c0bde6fe5bc46518d26533a94a77504e7db241396faac5/llama_index_packs_panel_chatbot-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-18 01:32:06",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "llama-index-packs-panel-chatbot"
}