text: .strip()        )        repo_path = pathlib.Path(d)        markdown_files = list(repo_path.glob("*/*.md")) + list(            repo_path.glob("*/*.mdx")        )        for markdown_file in markdown_files:            with open(markdown_file, "r") as f:                relative_path = markdown_file.relative_to(repo_path)                github_url = f"https://github.com/{repo_owner}/{repo_name}/blob/{git_sha}/{relative_path}"                yield Document(page_content=f.read(), metadata={"source": github_url})sources = get_github_docs("yirenlu92", "deno-manual-forked")source_chunks = []splitter = CharacterTextSplitter(separator=" ", chunk_size=1024, chunk_overlap=0)for source in sources:    for chunk in splitter.split_text(source.page_content):        source_chunks.append(chunk)    Cloning into '.'...Set Up Vector DBâ€‹Now that we have the documentation content in chunks, let's put all this information in a vector index for easy retrieval.import ossearch_index = Vectara.from_texts(source_chunks, embedding=None)Set Up LLM Chain with Custom Promptâ€‹Next, let's set up a simple LLM chain but give it a custom prompt for blog post generation. Note that the custom prompt is parameterized and takes two inputs: context, which will be the documents fetched from the