prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  DOC: Add doc about installing from source code
  Note that the issue tracker is NOT the place for general support.
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `doc/source/conf.py`
  Content:
  ```
  1 # Configuration file for the Sphinx documentation builder.
  2 #
  3 # This file only contains a selection of the most common options. For a full
  4 # list see the documentation:
  5 # https://www.sphinx-doc.org/en/master/usage/configuration.html
  6 
  7 # -- Path setup --------------------------------------------------------------
  8 
  9 # If extensions (or modules to document with autodoc) are in another directory,
  10 # add these directories to sys.path here. If the directory is relative to the
  11 # documentation root, use os.path.abspath to make it absolute, like shown here.
  12 #
  13 import os
  14 # import sys
  15 # sys.path.insert(0, os.path.abspath('.'))
  16 
  17 
  18 # -- Project information -----------------------------------------------------
  19 
  20 project = 'Xinference'
  21 copyright = '2023, Xorbits Inc.'
  22 author = 'xorbitsai'
  23 
  24 
  25 # -- General configuration ---------------------------------------------------
  26 
  27 # Add any Sphinx extension module names here, as strings. They can be
  28 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
  29 # ones.
  30 extensions = [
  31     "sphinx.ext.mathjax",
  32     "sphinx.ext.ifconfig",
  33     "sphinx.ext.intersphinx",
  34     "sphinx.ext.viewcode",
  35     "sphinx.ext.githubpages",
  36     "sphinx.ext.autosummary",
  37     "sphinx.ext.napoleon",
  38     "sphinx_tabs.tabs",
  39     "sphinx_design",
  40     "IPython.sphinxext.ipython_directive",
  41     "IPython.sphinxext.ipython_console_highlighting",
  42 ]
  43 
  44 # Add any paths that contain templates here, relative to this directory.
  45 templates_path = ['_templates']
  46 
  47 # List of patterns, relative to source directory, that match files and
  48 # directories to ignore when looking for source files.
  49 # This pattern also affects html_static_path and html_extra_path.
  50 exclude_patterns = []
  51 
  52 # i18n
  53 locale_dirs = ["locale/"]  # path is example but recommended.
  54 gettext_compact = False  # optional
  55 
  56 
  57 # -- Options for HTML output -------------------------------------------------
  58 
  59 # The theme to use for HTML and HTML Help pages.  See the documentation for
  60 # a list of builtin themes.
  61 #
  62 html_theme = 'pydata_sphinx_theme'
  63 html_title = "Xinference"
  64 
  65 # Add any paths that contain custom static files (such as style sheets) here,
  66 # relative to this directory. They are copied after the builtin static files,
  67 # so a file named "default.css" will overwrite the builtin "default.css".
  68 html_static_path = ['_static']
  69 
  70 # Define the json_url for our version switcher.
  71 version_match = os.environ.get("READTHEDOCS_LANGUAGE")
  72 json_url = "https://inference.readthedocs.io/en/latest/_static/switcher.json"
  73 if not version_match:
  74     version_match = 'en'
  75 
  76 html_theme_options = {
  77     "show_toc_level": 2,
  78     "header_links_before_dropdown": 6,
  79     "icon_links": [
  80         {
  81             "name": "GitHub",
  82             "url": "https://github.com/xorbitsai/inference",
  83             "icon": "fa-brands fa-github",
  84             "type": "fontawesome",
  85         },
  86     ],
  87     "navbar_align": "content",  # [left, content, right] For testing that the navbar items align properly
  88     "navbar_start": ["navbar-logo", "version-switcher"],
  89     "navbar_center": ["navbar-nav"],
  90     "switcher": {
  91         "json_url": json_url,
  92         "version_match": version_match,
  93     },
  94 }
  95 
  96 
  97 if version_match != 'zh-cn':
  98     html_theme_options['icon_links'].extend([{
  99         "name": "Slack",
  100         "url": "https://join.slack.com/t/xorbitsio/shared_invite/zt-1o3z9ucdh-RbfhbPVpx7prOVdM1CAuxg",
  101         "icon": "fa-brands fa-slack",
  102         "type": "fontawesome",
  103     },
  104     {
  105         "name": "Twitter",
  106         "url": "https://twitter.com/xorbitsio",
  107         "icon": "fa-brands fa-twitter",
  108         "type": "fontawesome",
  109     }])
  110 else:
  111     html_theme_options['icon_links'].extend([{
  112         "name": "WeChat",
  113         "url": "https://xorbits.cn/assets/images/wechat_work_qr.png",
  114         "icon": "fa-brands fa-weixin",
  115         "type": "fontawesome",
  116     },
  117     {
  118         "name": "Zhihu",
  119         "url": "https://zhihu.com/org/xorbits",
  120         "icon": "fa-brands fa-zhihu",
  121         "type": "fontawesome",
  122     }])
  123     html_theme_options["external_links"] = [
  124         {"name": "产品官网", "url": "https://xorbits.cn/inference"},
  125     ]
  126 
  127 html_favicon = "_static/favicon.svg"
  128
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/doc/source/conf.py b/doc/source/conf.py
  --- a/doc/source/conf.py
  +++ b/doc/source/conf.py
  @@ -75,7 +75,7 @@
   
   html_theme_options = {
       "show_toc_level": 2,
  -    "header_links_before_dropdown": 6,
  +    "header_links_before_dropdown": 7,
       "icon_links": [
           {
               "name": "GitHub",
  
verification_info: {"golden_diff": "diff --git a/doc/source/conf.py b/doc/source/conf.py\n--- a/doc/source/conf.py\n+++ b/doc/source/conf.py\n@@ -75,7 +75,7 @@\n \n html_theme_options = {\n     \"show_toc_level\": 2,\n-    \"header_links_before_dropdown\": 6,\n+    \"header_links_before_dropdown\": 7,\n     \"icon_links\": [\n         {\n             \"name\": \"GitHub\",\n", "issue": "DOC: Add doc about installing from source code\nNote that the issue tracker is NOT the place for general support.\r\n\n", "before_files": [{"content": "# Configuration file for the Sphinx documentation builder.\n#\n# This file only contains a selection of the most common options. For a full\n# list see the documentation:\n# https://www.sphinx-doc.org/en/master/usage/configuration.html\n\n# -- Path setup --------------------------------------------------------------\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n#\nimport os\n# import sys\n# sys.path.insert(0, os.path.abspath('.'))\n\n\n# -- Project information -----------------------------------------------------\n\nproject = 'Xinference'\ncopyright = '2023, Xorbits Inc.'\nauthor = 'xorbitsai'\n\n\n# -- General configuration ---------------------------------------------------\n\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom\n# ones.\nextensions = [\n    \"sphinx.ext.mathjax\",\n    \"sphinx.ext.ifconfig\",\n    \"sphinx.ext.intersphinx\",\n    \"sphinx.ext.viewcode\",\n    \"sphinx.ext.githubpages\",\n    \"sphinx.ext.autosummary\",\n    \"sphinx.ext.napoleon\",\n    \"sphinx_tabs.tabs\",\n    \"sphinx_design\",\n    \"IPython.sphinxext.ipython_directive\",\n    \"IPython.sphinxext.ipython_console_highlighting\",\n]\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = ['_templates']\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\n# This pattern also affects html_static_path and html_extra_path.\nexclude_patterns = []\n\n# i18n\nlocale_dirs = [\"locale/\"]  # path is example but recommended.\ngettext_compact = False  # optional\n\n\n# -- Options for HTML output -------------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\nhtml_theme = 'pydata_sphinx_theme'\nhtml_title = \"Xinference\"\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = ['_static']\n\n# Define the json_url for our version switcher.\nversion_match = os.environ.get(\"READTHEDOCS_LANGUAGE\")\njson_url = \"https://inference.readthedocs.io/en/latest/_static/switcher.json\"\nif not version_match:\n    version_match = 'en'\n\nhtml_theme_options = {\n    \"show_toc_level\": 2,\n    \"header_links_before_dropdown\": 6,\n    \"icon_links\": [\n        {\n            \"name\": \"GitHub\",\n            \"url\": \"https://github.com/xorbitsai/inference\",\n            \"icon\": \"fa-brands fa-github\",\n            \"type\": \"fontawesome\",\n        },\n    ],\n    \"navbar_align\": \"content\",  # [left, content, right] For testing that the navbar items align properly\n    \"navbar_start\": [\"navbar-logo\", \"version-switcher\"],\n    \"navbar_center\": [\"navbar-nav\"],\n    \"switcher\": {\n        \"json_url\": json_url,\n        \"version_match\": version_match,\n    },\n}\n\n\nif version_match != 'zh-cn':\n    html_theme_options['icon_links'].extend([{\n        \"name\": \"Slack\",\n        \"url\": \"https://join.slack.com/t/xorbitsio/shared_invite/zt-1o3z9ucdh-RbfhbPVpx7prOVdM1CAuxg\",\n        \"icon\": \"fa-brands fa-slack\",\n        \"type\": \"fontawesome\",\n    },\n    {\n        \"name\": \"Twitter\",\n        \"url\": \"https://twitter.com/xorbitsio\",\n        \"icon\": \"fa-brands fa-twitter\",\n        \"type\": \"fontawesome\",\n    }])\nelse:\n    html_theme_options['icon_links'].extend([{\n        \"name\": \"WeChat\",\n        \"url\": \"https://xorbits.cn/assets/images/wechat_work_qr.png\",\n        \"icon\": \"fa-brands fa-weixin\",\n        \"type\": \"fontawesome\",\n    },\n    {\n        \"name\": \"Zhihu\",\n        \"url\": \"https://zhihu.com/org/xorbits\",\n        \"icon\": \"fa-brands fa-zhihu\",\n        \"type\": \"fontawesome\",\n    }])\n    html_theme_options[\"external_links\"] = [\n        {\"name\": \"\u4ea7\u54c1\u5b98\u7f51\", \"url\": \"https://xorbits.cn/inference\"},\n    ]\n\nhtml_favicon = \"_static/favicon.svg\"\n", "path": "doc/source/conf.py"}], "after_files": [{"content": "# Configuration file for the Sphinx documentation builder.\n#\n# This file only contains a selection of the most common options. For a full\n# list see the documentation:\n# https://www.sphinx-doc.org/en/master/usage/configuration.html\n\n# -- Path setup --------------------------------------------------------------\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n#\nimport os\n# import sys\n# sys.path.insert(0, os.path.abspath('.'))\n\n\n# -- Project information -----------------------------------------------------\n\nproject = 'Xinference'\ncopyright = '2023, Xorbits Inc.'\nauthor = 'xorbitsai'\n\n\n# -- General configuration ---------------------------------------------------\n\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom\n# ones.\nextensions = [\n    \"sphinx.ext.mathjax\",\n    \"sphinx.ext.ifconfig\",\n    \"sphinx.ext.intersphinx\",\n    \"sphinx.ext.viewcode\",\n    \"sphinx.ext.githubpages\",\n    \"sphinx.ext.autosummary\",\n    \"sphinx.ext.napoleon\",\n    \"sphinx_tabs.tabs\",\n    \"sphinx_design\",\n    \"IPython.sphinxext.ipython_directive\",\n    \"IPython.sphinxext.ipython_console_highlighting\",\n]\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = ['_templates']\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\n# This pattern also affects html_static_path and html_extra_path.\nexclude_patterns = []\n\n# i18n\nlocale_dirs = [\"locale/\"]  # path is example but recommended.\ngettext_compact = False  # optional\n\n\n# -- Options for HTML output -------------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\nhtml_theme = 'pydata_sphinx_theme'\nhtml_title = \"Xinference\"\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = ['_static']\n\n# Define the json_url for our version switcher.\nversion_match = os.environ.get(\"READTHEDOCS_LANGUAGE\")\njson_url = \"https://inference.readthedocs.io/en/latest/_static/switcher.json\"\nif not version_match:\n    version_match = 'en'\n\nhtml_theme_options = {\n    \"show_toc_level\": 2,\n    \"header_links_before_dropdown\": 7,\n    \"icon_links\": [\n        {\n            \"name\": \"GitHub\",\n            \"url\": \"https://github.com/xorbitsai/inference\",\n            \"icon\": \"fa-brands fa-github\",\n            \"type\": \"fontawesome\",\n        },\n    ],\n    \"navbar_align\": \"content\",  # [left, content, right] For testing that the navbar items align properly\n    \"navbar_start\": [\"navbar-logo\", \"version-switcher\"],\n    \"navbar_center\": [\"navbar-nav\"],\n    \"switcher\": {\n        \"json_url\": json_url,\n        \"version_match\": version_match,\n    },\n}\n\n\nif version_match != 'zh-cn':\n    html_theme_options['icon_links'].extend([{\n        \"name\": \"Slack\",\n        \"url\": \"https://join.slack.com/t/xorbitsio/shared_invite/zt-1o3z9ucdh-RbfhbPVpx7prOVdM1CAuxg\",\n        \"icon\": \"fa-brands fa-slack\",\n        \"type\": \"fontawesome\",\n    },\n    {\n        \"name\": \"Twitter\",\n        \"url\": \"https://twitter.com/xorbitsio\",\n        \"icon\": \"fa-brands fa-twitter\",\n        \"type\": \"fontawesome\",\n    }])\nelse:\n    html_theme_options['icon_links'].extend([{\n        \"name\": \"WeChat\",\n        \"url\": \"https://xorbits.cn/assets/images/wechat_work_qr.png\",\n        \"icon\": \"fa-brands fa-weixin\",\n        \"type\": \"fontawesome\",\n    },\n    {\n        \"name\": \"Zhihu\",\n        \"url\": \"https://zhihu.com/org/xorbits\",\n        \"icon\": \"fa-brands fa-zhihu\",\n        \"type\": \"fontawesome\",\n    }])\n    html_theme_options[\"external_links\"] = [\n        {\"name\": \"\u4ea7\u54c1\u5b98\u7f51\", \"url\": \"https://xorbits.cn/inference\"},\n    ]\n\nhtml_favicon = \"_static/favicon.svg\"\n", "path": "doc/source/conf.py"}]}