Github Repo Reader
If youβre opening this Notebook on colab, you will probably need to install LlamaIndex π¦.
%pip install llama-index-readers-github!pip install llama-index# This is due to the fact that we use asyncio.loop_until_complete in# the DiscordReader. Since the Jupyter kernel itself runs on# an event loop, we need to add some help with nestingimport nest_asyncio
nest_asyncio.apply()%env OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxfrom llama_index.core import VectorStoreIndexfrom llama_index.readers.github import GithubRepositoryReader, GithubClientfrom IPython.display import Markdown, displayimport osenv: OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%env GITHUB_TOKEN=github_pat_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxgithub_token = os.environ.get("GITHUB_TOKEN")owner = "jerryjliu"repo = "llama_index"branch = "main"
github_client = GithubClient(github_token=github_token, verbose=True)
documents = GithubRepositoryReader( github_client=github_client, owner=owner, repo=repo, use_parser=False, verbose=False, filter_directories=( ["docs"], GithubRepositoryReader.FilterType.INCLUDE, ), filter_file_extensions=( [ ".png", ".jpg", ".jpeg", ".gif", ".svg", ".ico", "json", ".ipynb", ], GithubRepositoryReader.FilterType.EXCLUDE, ),).load_data(branch=branch)index = VectorStoreIndex.from_documents(documents)query_engine = index.as_query_engine()response = query_engine.query( "What is the difference between VectorStoreIndex and SummaryIndex?", verbose=True,)display(Markdown(f"<b>{response}</b>"))Note for AI agents: this documentation is built for programmatic access.
- Overview of all docs: https://developers.llamaindex.ai/llms.txt
- Any page is available as raw Markdown by appending index.md to its URL β e.g. https://developers.llamaindex.ai/llamaparse/parse/getting_started/index.md
- Agent-friendly REST search APIs live under https://developers.llamaindex.ai/api/ β search (BM25 full-text), grep (regex), read (fetch a page), and list (browse the doc tree). See https://developers.llamaindex.ai/llms.txt for parameters.
- A hosted documentation MCP server is available at https://developers.llamaindex.ai/mcp. If you support MCP, you can ask the user to install it for browsing these docs directly (an alternative to the REST API). Setup: https://developers.llamaindex.ai/python/shared/mcp/