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()

```

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",

{"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"}]}