From f8b99b562fa4bffc650d58b17a52b615f71954d8 Mon Sep 17 00:00:00 2001 From: Charles Packer Date: Mon, 18 Dec 2023 20:29:24 -0800 Subject: [PATCH] feat: Migrate docs (#646) * updated docs for readme * Update index.md * Update index.md * added header * broken link * sync heading sizes * fix various broken rel links * Update index.md * added webp * Update index.md * strip mkdocs/rtk files * replaced readthedocs references with readme --- .github/workflows/rdme-docs.yml | 23 +++++ .readthedocs.yaml | 19 ---- README.md | 6 +- docs/README.md | 13 --- docs/adding_wrappers.md | 10 ++- docs/assets/cozy_llama.webp | Bin 0 -> 195214 bytes docs/autogen.md | 86 +++++++++--------- docs/cli_faq.md | 14 +-- docs/config.md | 8 +- docs/contributing.md | 6 ++ docs/data_sources.md | 14 +-- docs/discord_bot.md | 6 +- docs/embedding_endpoints.md | 13 ++- docs/endpoints.md | 8 +- docs/example_chat.md | 11 ++- docs/example_data.md | 13 ++- docs/functions.md | 22 +++-- docs/index.md | 10 ++- docs/koboldcpp.md | 6 ++ docs/llamacpp.md | 6 ++ docs/lmstudio.md | 28 +++--- docs/local_llm.md | 40 +++++---- docs/local_llm_faq.md | 22 +++-- docs/ollama.md | 16 ++-- docs/presets.md | 6 ++ docs/quickstart.md | 16 ++-- docs/storage.md | 12 ++- docs/vllm.md | 6 ++ docs/webui.md | 10 ++- main.py | 2 +- memgpt/autogen/README.md | 2 +- memgpt/autogen/examples/agent_autoreply.py | 4 +- memgpt/autogen/examples/agent_docs.py | 8 +- memgpt/autogen/examples/agent_groupchat.py | 4 +- memgpt/cli/cli_config.py | 6 +- memgpt/local_llm/README.md | 2 +- mkdocs.yml | 100 --------------------- 37 files changed, 301 insertions(+), 277 deletions(-) create mode 100644 .github/workflows/rdme-docs.yml delete mode 100644 .readthedocs.yaml delete mode 100644 docs/README.md create mode 100644 docs/assets/cozy_llama.webp delete mode 100644 mkdocs.yml diff --git a/.github/workflows/rdme-docs.yml b/.github/workflows/rdme-docs.yml new file mode 100644 index 00000000..da65093d --- /dev/null +++ b/.github/workflows/rdme-docs.yml @@ -0,0 +1,23 @@ +# This GitHub Actions workflow was auto-generated by the `rdme` cli on 2023-12-18T23:15:45.852Z +# You can view our full documentation here: https://docs.readme.com/docs/rdme +name: ReadMe GitHub Action 🦉 + +on: + push: + branches: + # This workflow will run every time you push code to the following branch: `migrate-docs` + # Check out GitHub's docs for more info on configuring this: + # https://docs.github.com/actions/using-workflows/events-that-trigger-workflows + - main + +jobs: + rdme-docs: + runs-on: ubuntu-latest + steps: + - name: Check out repo 📚 + uses: actions/checkout@v3 + + - name: Run `docs` command 🚀 + uses: readmeio/rdme@v8 + with: + rdme: docs docs --key=${{ secrets.README_API_KEY }} --version=1.0 diff --git a/.readthedocs.yaml b/.readthedocs.yaml deleted file mode 100644 index 015eb5de..00000000 --- a/.readthedocs.yaml +++ /dev/null @@ -1,19 +0,0 @@ -# Read the Docs configuration file for MkDocs projects -# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details - -# Required -version: 2 - -# Set the version of Python and other tools you might need -build: - os: ubuntu-22.04 - tools: - python: "3.12" - -mkdocs: - configuration: mkdocs.yml - -# Optionally declare the Python requirements required to build your docs -python: - install: - - requirements: docs/requirements.txt diff --git a/README.md b/README.md index d6c836c5..0e23e96c 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,12 @@ Try out our MemGPT chatbot on Discord! - ⭐ NEW: You can now run MemGPT with open/local LLMs and AutoGen! ⭐ + ⭐ NEW: You can now run MemGPT with open/local LLMs and AutoGen! ⭐ [![Discord](https://img.shields.io/discord/1161736243340640419?label=Discord&logo=discord&logoColor=5865F2&style=flat-square&color=5865F2)](https://discord.gg/9GEQrxmVyE) [![arxiv 2310.08560](https://img.shields.io/badge/arXiv-2310.08560-B31B1B?logo=arxiv&style=flat-square)](https://arxiv.org/abs/2310.08560) -[![Documentation](https://img.shields.io/github/v/release/cpacker/MemGPT?label=Documentation&logo=readthedocs&style=flat-square)](https://memgpt.readthedocs.io/en/latest/) +[![Documentation](https://img.shields.io/github/v/release/cpacker/MemGPT?label=Documentation&logo=readthedocs&style=flat-square)](https://memgpt.readme.io/docs) @@ -96,7 +96,7 @@ You can run the following commands in the MemGPT CLI prompt: Once you exit the CLI with `/exit`, you can resume chatting with the same agent by specifying the agent name in `memgpt run --agent `. ## Documentation -See full documentation at: https://memgpt.readthedocs.io/ +See full documentation at: https://memgpt.readme.io ## Installing from source diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 7b423a13..00000000 --- a/docs/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Building the docs - -Run the following from the MemGPT directory. - -1. Install requirements: -``` -pip install -r docs/requirements.txt -``` - -2. Serve docs: -``` -mkdocs serve -``` diff --git a/docs/adding_wrappers.md b/docs/adding_wrappers.md index c4bc0900..9ead396b 100644 --- a/docs/adding_wrappers.md +++ b/docs/adding_wrappers.md @@ -1,6 +1,12 @@ -!!! warning "MemGPT + local LLM failure cases" +--- +title: Adding support for new LLMs +excerpt: Adding new LLMs via model wrappers +category: 6580dabb585483000f0e6c7c +--- - When using open LLMs with MemGPT, **the main failure case will be your LLM outputting a string that cannot be understood by MemGPT**. MemGPT uses function calling to manage memory (eg `edit_core_memory(...)` and interact with the user (`send_message(...)`), so your LLM needs generate outputs that can be parsed into MemGPT function calls. +> ⚠️ MemGPT + local LLM failure cases +> +> When using open LLMs with MemGPT, **the main failure case will be your LLM outputting a string that cannot be understood by MemGPT**. MemGPT uses function calling to manage memory (eg `edit_core_memory(...)` and interact with the user (`send_message(...)`), so your LLM needs generate outputs that can be parsed into MemGPT function calls. ### What is a "wrapper"? diff --git a/docs/assets/cozy_llama.webp b/docs/assets/cozy_llama.webp new file mode 100644 index 0000000000000000000000000000000000000000..5c95c1eb81d3a8c268a0fc9d65b670ea1a25c564 GIT binary patch literal 195214 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

38+a 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 literal 0 HcmV?d00001 diff --git a/docs/autogen.md b/docs/autogen.md index f76af4b6..b48cd849 100644 --- a/docs/autogen.md +++ b/docs/autogen.md @@ -1,14 +1,20 @@ -!!! question "Need help?" +--- +title: MemGPT + AutoGen +excerpt: Creating AutoGen agents powered by MemGPT +category: 6580dab16cade8003f996d17 +--- - If you need help visit our [Discord server](https://discord.gg/9GEQrxmVyE) and post in the #support channel. - - You can also check the [GitHub discussion page](https://github.com/cpacker/MemGPT/discussions/65), but the Discord server is the official support channel and is monitored more actively. +> 📘 Need help? +> +> If you need help visit our [Discord server](https://discord.gg/9GEQrxmVyE) and post in the #support channel. +> +> You can also check the [GitHub discussion page](https://github.com/cpacker/MemGPT/discussions/65), but the Discord server is the official support channel and is monitored more actively. -!!! warning "Tested with `pyautogen` v0.2.0" - - The MemGPT+AutoGen integration was last tested using AutoGen version v0.2.0. - - If you are having issues, please first try installing the specific version of AutoGen using `pip install pyautogen==0.2.0` (or `poetry install -E autogen` if you are using Poetry). +> ⚠️ Tested with `pyautogen` v0.2.0 +> +> The MemGPT+AutoGen integration was last tested using AutoGen version v0.2.0. +> +> If you are having issues, please first try installing the specific version of AutoGen using `pip install pyautogen==0.2.0` (or `poetry install -E autogen` if you are using Poetry). ## Overview @@ -69,32 +75,31 @@ For the purposes of this example, we're going to serve (host) the LLMs using [oo ### Part 1: Get web UI working -Install web UI and get a model set up on a local web server. You can use [our instructions on setting up web UI](https://memgpt.readthedocs.io/en/latest/webui/). +Install web UI and get a model set up on a local web server. You can use [our instructions on setting up web UI](webui). -!!! info "Choosing an LLM / model to use" - - You'll need to decide on an LLM / model to use with web UI. - - MemGPT requires an LLM that is good at function calling to work well - if the LLM is bad at function calling, **MemGPT will not work properly**. - - Visit [our Discord server](https://discord.gg/9GEQrxmVyE) and check the #model-chat channel for an up-to-date list of recommended LLMs / models to use with MemGPT. +> 📘 Choosing an LLM / model to use +> You'll need to decide on an LLM / model to use with web UI. +> +> MemGPT requires an LLM that is good at function calling to work well - if the LLM is bad at function calling, **MemGPT will not work properly**. +> +> Visit [our Discord server](https://discord.gg/9GEQrxmVyE) and check the #model-chat channel for an up-to-date list of recommended LLMs / models to use with MemGPT. ### Part 2: Get MemGPT working Before trying to integrate MemGPT with AutoGen, make sure that you can run MemGPT by itself with the web UI backend. -Try setting up MemGPT with your local web UI backend [using the instructions here](https://memgpt.readthedocs.io/en/latest/local_llm/#using-memgpt-with-local-llms). +Try setting up MemGPT with your local web UI backend [using the instructions here](local_llm/#using-memgpt-with-local-llms). Once you've confirmed that you're able to chat with a MemGPT agent using `memgpt configure` and `memgpt run`, you're ready to move on to the next step. -!!! info "Using RunPod as an LLM backend" - - If you're using RunPod to run web UI, make sure that you set your endpoint to the RunPod IP address, **not the default localhost address**. - - For example, during `memgpt configure`: - ```text - ? Enter default endpoint: https://yourpodaddresshere-5000.proxy.runpod.net - ``` +> 📘 Using RunPod as an LLM backend +> +> If you're using RunPod to run web UI, make sure that you set your endpoint to the RunPod IP address, **not the default localhost address**. +> +> For example, during `memgpt configure`: +> ```text +> ? Enter default endpoint: https://yourpodaddresshere-5000.proxy.runpod.net +> ``` ### Part 3: Creating a MemGPT AutoGen agent (groupchat example) @@ -127,7 +132,7 @@ config_list = [ config_list_memgpt = [ { "preset": DEFAULT_PRESET, - "model": None, # not required for web UI, only required for Ollama, see: https://memgpt.readthedocs.io/en/latest/ollama/ + "model": None, # not required for web UI, only required for Ollama, see: https://memgpt.readme.io/docs/ollama "model_wrapper": "airoboros-l2-70b-2.1", # airoboros is the default wrapper and should work for most models "model_endpoint_type": "webui", "model_endpoint": "http://localhost:5000", # notice port 5000 for web UI @@ -187,7 +192,7 @@ config_list_memgpt = [ ``` #### Azure OpenAI example -Azure OpenAI API setup will be similar to OpenAI API, but requires additional config variables. First, make sure that you've set all the related Azure variables referenced in [our MemGPTAzure setup page](https://memgpt.readthedocs.io/en/latest/endpoints) (`AZURE_OPENAI_API_KEY`, `AZURE_OPENAI_VERSION`, `AZURE_OPENAI_ENDPOINT`, etc). If you have all the variables set correctly, you should be able to create configs by pulling from the env variables: +Azure OpenAI API setup will be similar to OpenAI API, but requires additional config variables. First, make sure that you've set all the related Azure variables referenced in [our MemGPT Azure setup page](https://memgpt.readme.io/docs/endpoints#azure-openai) (`AZURE_OPENAI_API_KEY`, `AZURE_OPENAI_VERSION`, `AZURE_OPENAI_ENDPOINT`, etc). If you have all the variables set correctly, you should be able to create configs by pulling from the env variables: ```python # This config is for autogen agents that are not powered by MemGPT # See Auto @@ -219,18 +224,19 @@ config_list_memgpt = [ ] ``` -!!! info "Making internal monologue visible to AutoGen" - By default, MemGPT's inner monologue and function traces are hidden from other AutoGen agents. - - You can modify `interface_kwargs` to change the visibility of inner monologue and function calling: - ```python - interface_kwargs = { - "debug": False, # this is the equivalent of the --debug flag in the MemGPT CLI - "show_inner_thoughts": True, # this controls if internal monlogue will show up in AutoGen MemGPT agent's outputs - "show_function_outputs": True, # this controls if function traces will show up in AutoGen MemGPT agent's outputs - } - ``` +> 📘 Making internal monologue visible to AutoGen +> +> By default, MemGPT's inner monologue and function traces are hidden from other AutoGen agents. +> +> You can modify `interface_kwargs` to change the visibility of inner monologue and function calling: +> ```python +> interface_kwargs = { +> "debug": False, # this is the equivalent of the --debug flag in the MemGPT CLI +> "show_inner_thoughts": True, # this controls if internal monlogue will show up in AutoGen MemGPT agent's outputs +> "show_function_outputs": True, # this controls if function traces will show up in AutoGen MemGPT agent's outputs +> } +> ``` The only parts of the `agent_groupchat.py` file you need to modify should be the `config_list` and `config_list_memgpt` (make sure to change `USE_OPENAI` to `True` or `False` depending on if you're trying to use a local LLM server like web UI, or OpenAI's API). Assuming you edited things correctly, you should now be able to run `agent_groupchat.py`: ```sh @@ -307,7 +313,7 @@ User_proxy (to chat_manager): [examples/agent_docs.py](https://github.com/cpacker/MemGPT/blob/main/memgpt/autogen/examples/agent_docs.py) contains an example of a groupchat where the MemGPT autogen agent has access to documents. -First, follow the instructions in [Example - chat with your data - Creating an external data source](../example_data/#creating-an-external-data-source): +First, follow the instructions in [Example - chat with your data - Creating an external data source](example_data/#creating-an-external-data-source): To download the MemGPT research paper we'll use `curl` (you can also just download the PDF from your browser): ```sh diff --git a/docs/cli_faq.md b/docs/cli_faq.md index 5904eec6..f105e2fc 100644 --- a/docs/cli_faq.md +++ b/docs/cli_faq.md @@ -1,14 +1,18 @@ -# Frequently asked questions +--- +title: Frequently asked questions (FAQ) +excerpt: Check frequently asked questions +category: 6580d34ee5e4d00068bf2a1d +--- -!!! note "Open / local LLM FAQ" - - Questions specific to running your own open / local LLMs with MemGPT can be found [here](../local_llm_faq). +> 📘 Open / local LLM FAQ +> +> Questions specific to running your own open / local LLMs with MemGPT can be found [here](local_llm_faq). ## MemGPT CLI ### How can I use MemGPT to chat with my docs? -Check out our [chat with your docs example](../example_data) to get started. +Check out our [chat with your docs example](example_data) to get started. ### How do I save a chat and continue it later? diff --git a/docs/config.md b/docs/config.md index 907dd179..ece5cdc1 100644 --- a/docs/config.md +++ b/docs/config.md @@ -1,4 +1,9 @@ -### Configuring the agent +--- +title: Configuration +excerpt: Configuring your MemGPT agent +category: 6580d34ee5e4d00068bf2a1d +--- + You can set agent defaults by running `memgpt configure`, which will store config information at `~/.memgpt/config` by default. The `memgpt run` command supports the following optional flags (if set, will override config defaults): @@ -43,3 +48,4 @@ memgpt list [humans/personas] ``` ### Custom Presets +You can customize your MemGPT agent even further with [custom presets](presets) and [custom functions](functions). diff --git a/docs/contributing.md b/docs/contributing.md index 80101bca..d99b619c 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,3 +1,9 @@ +--- +title: Contributing to the codebase +excerpt: How to contribute to the MemGPT repo +category: 6580dabb585483000f0e6c7c +--- + ## Installing from source To install MemGPT from source, start by cloning the repo: diff --git a/docs/data_sources.md b/docs/data_sources.md index f119f98c..b648c454 100644 --- a/docs/data_sources.md +++ b/docs/data_sources.md @@ -1,4 +1,9 @@ -## Loading External Data +--- +title: Attaching data sources +excerpt: Connecting external data to your MemGPT agent +category: 6580d34ee5e4d00068bf2a1d +--- + MemGPT supports pre-loading data into archival memory. In order to made data accessible to your agent, you must load data in with `memgpt load`, then attach the data source to your agent. You can configure where archival memory is stored by configuring the [storage backend](storage.md). ### Viewing available data sources @@ -34,11 +39,8 @@ memgpt attach --agent --data-source memgpt-docs ``` - -!!! tip "Hint" - To encourage your agent to reference its archival memory, we recommend adding phrases like "_search your archival memory..._" for the best results. - - +> 👍 Hint +> To encourage your agent to reference its archival memory, we recommend adding phrases like "_search your archival memory..._" for the best results. ### Loading a file or directory You can load a file, list of files, or directry into MemGPT with the following command: diff --git a/docs/discord_bot.md b/docs/discord_bot.md index 25ff9eaf..abde7d00 100644 --- a/docs/discord_bot.md +++ b/docs/discord_bot.md @@ -1,4 +1,8 @@ -## Chatting with the MemGPT Discord Bot +--- +title: Chatting with MemGPT Bot +excerpt: Get up and running with the MemGPT Discord Bot +category: 6580da8eb6feb700166e5016 +--- The fastest way to experience MemGPT is to chat with the MemGPT Discord Bot. diff --git a/docs/embedding_endpoints.md b/docs/embedding_endpoints.md index 7727087e..52df427b 100644 --- a/docs/embedding_endpoints.md +++ b/docs/embedding_endpoints.md @@ -1,3 +1,9 @@ +--- +title: Configuring embedding backends +excerpt: Connecting MemGPT to various endpoint backends +category: 6580d34ee5e4d00068bf2a1d +--- + MemGPT uses embedding models for retrieval search over archival memory. You can use embeddings provided by OpenAI, Azure, or any model on Hugging Face. ## OpenAI @@ -47,11 +53,10 @@ MemGPT supports running embeddings with any Hugging Face model using the [Text E ## Local Embeddings MemGPT can compute embeddings locally using a lightweight embedding model [`BAAI/bge-small-en-v1.5`](https://huggingface.co/BAAI/bge-small-en-v1.5). -!!! warning "Local LLM Performance" - - The `BAAI/bge-small-en-v1.5` was chose to be lightweight, so you may notice degraded performance with embedding-based retrieval when using this option. - +> 🚧 Local LLM Performance +> +> The `BAAI/bge-small-en-v1.5` was chosen to be lightweight, so you may notice degraded performance with embedding-based retrieval when using this option. To compute embeddings locally, install dependencies with: ``` diff --git a/docs/endpoints.md b/docs/endpoints.md index 7d075041..f7e79e87 100644 --- a/docs/endpoints.md +++ b/docs/endpoints.md @@ -1,3 +1,9 @@ +--- +title: Configuring LLM backends +excerpt: Connecting MemGPT to various LLM backends +category: 6580d34ee5e4d00068bf2a1d +--- + You can use MemGPT with various LLM backends, including the OpenAI API, Azure OpenAI, and various local (or self-hosted) LLM backends. ## OpenAI @@ -72,4 +78,4 @@ $ memgpt configure Note: **your Azure endpoint must support functions** or you will get an error. See [this GitHub issue](https://github.com/cpacker/MemGPT/issues/91) for more information. ## Local Models & Custom Endpoints -MemGPT supports running open source models, both being run locally or as a hosted service. Setting up MemGPT to run with open models requires a bit more setup, follow [the instructions here](../local_llm). +MemGPT supports running open source models, both being run locally or as a hosted service. Setting up MemGPT to run with open models requires a bit more setup, follow [the instructions here](local_llm). diff --git a/docs/example_chat.md b/docs/example_chat.md index d3ffa802..1591a7a6 100644 --- a/docs/example_chat.md +++ b/docs/example_chat.md @@ -1,8 +1,13 @@ -!!! note "Note" +--- +title: Example - perpetual chatbot +excerpt: Using MemGPT to create a perpetual chatbot +category: 6580d34ee5e4d00068bf2a1d +--- - Before starting this example, make sure that you've [properly installed MemGPT](../quickstart) +> 📘 Confirm your installation +> +> Before starting this example, make sure that you've [properly installed MemGPT](quickstart) -## Using MemGPT to create a perpetual chatbot In this example, we're going to use MemGPT to create a chatbot with a custom persona. MemGPT chatbots are "perpetual chatbots", meaning that they can be run indefinitely without any context length limitations. MemGPT chatbots are self-aware that they have a "fixed context window", and will manually manage their own memories to get around this problem by moving information in and out of their small memory window and larger external storage. MemGPT chatbots always keep a reserved space in their "core" memory window to store their `persona` information (describes the bot's personality + basic functionality), and `human` information (which describes the human that the bot is chatting with). The MemGPT chatbot will update the `persona` and `human` core memory blocks over time as it learns more about the user (and itself). diff --git a/docs/example_data.md b/docs/example_data.md index c0663a18..3121c7f6 100644 --- a/docs/example_data.md +++ b/docs/example_data.md @@ -1,8 +1,13 @@ -!!! note "Note" +--- +title: Example - chat with your data +excerpt: Using MemGPT to chat with your own data +category: 6580d34ee5e4d00068bf2a1d +--- - Before starting this example, make sure that you've [properly installed MemGPT](../quickstart) +> 📘 Confirm your installation +> +> Before starting this example, make sure that you've [properly installed MemGPT](quickstart) -## Using MemGPT to chat with your own data In this example, we're going to use MemGPT to chat with a custom data source. Specifically, we'll try loading in the MemGPT research paper and ask MemGPT questions about it. ### Creating an external data source @@ -69,4 +74,4 @@ Now that the data has been loaded into the chatbot's memory, we can start to ask ### Loading other data types -In this example, we loaded a single PDF into a chatbots external memory. However MemGPT supports various types of data, such as full directories of files and even databases - [see the full data sources list](../data_sources). +In this example, we loaded a single PDF into a chatbots external memory. However MemGPT supports various types of data, such as full directories of files and even databases - [see the full data sources list](data_sources). diff --git a/docs/functions.md b/docs/functions.md index 7805ba06..bb77a9d9 100644 --- a/docs/functions.md +++ b/docs/functions.md @@ -1,3 +1,9 @@ +--- +title: Giving MemGPT more tools +excerpt: Customize your MemGPT agents even further with your own functions +category: 6580daaa48aeca0038fc2297 +--- + If you would like to give MemGPT the ability to call new tools or functions, you can write a Python `.py` file with the functions you want to add, and place it inside of `~/.memgpt/functions`. You can see the example function sets provided [here](https://github.com/cpacker/MemGPT/tree/main/memgpt/functions/function_sets). As an example, we provide a preset called [`memgpt_extras`](https://github.com/cpacker/MemGPT/blob/main/memgpt/presets/examples/memgpt_extras.yaml) that includes additional functions to read and write from text files, as well as make HTTP requests: @@ -30,15 +36,15 @@ There are three steps to adding more MemGPT functions: ### Simple example: giving MemGPT the ability to roll a D20 -!!! warning "Function requirements" +> ⚠️ Function requirements +> +> The functions you write MUST have proper docstrings and type hints - this is because MemGPT will use these docstrings and types to automatically create a JSON schema that is used in the LLM prompt. Use the docstrings and types annotations from the [example functions](https://github.com/cpacker/MemGPT/blob/main/memgpt/functions/function_sets/base.py) for guidance. - The functions you write MUST have proper docstrings and type hints - this is because MemGPT will use these docstrings and types to automatically create a JSON schema that is used in the LLM prompt. Use the docstrings and types annotations from the [example functions](https://github.com/cpacker/MemGPT/blob/main/memgpt/functions/function_sets/base.py) for guidance. - -!!! warning "Function output length" - - Your custom function should always return a string that is **capped in length**. If your string goes over the specified limit, it will be truncated internaly. This is to prevent potential context overflows caused by uncapped string returns (for example, a rogue HTTP request that returns a string larger than the LLM context window). - - If you return any type other than `str` (e.g. `dict``) in your custom functions, MemGPT will attempt to cast the result to a string (and truncate the result if it is too long). It is preferable to return strings - think of your function returning a natural language description of the outcome (see the D20 example below). +> ⚠️ Function output length +> +> Your custom function should always return a string that is **capped in length**. If your string goes over the specified limit, it will be truncated internaly. This is to prevent potential context overflows caused by uncapped string returns (for example, a rogue HTTP request that returns a string larger than the LLM context window). +> +> If you return any type other than `str` (e.g. `dict``) in your custom functions, MemGPT will attempt to cast the result to a string (and truncate the result if it is too long). It is preferable to return strings - think of your function returning a natural language description of the outcome (see the D20 example below). In this simple example we'll give MemGPT the ability to roll a [D20 die](https://en.wikipedia.org/wiki/D20_System). diff --git a/docs/index.md b/docs/index.md index 2408b8e1..1e978629 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,12 @@ -# 📚🦙 Welcome to MemGPT +--- +title: Introduction +excerpt: Welcome to the MemGPT documentation! +category: 6580d34ee5e4d00068bf2a1d +--- + +![memgpt llama](https://raw.githubusercontent.com/cpacker/MemGPT/migrate-docs/docs/assets/cozy_llama.webp) + +## What is MemGPT? MemGPT enables LLMs to manage their own memory and overcome limited context windows! diff --git a/docs/koboldcpp.md b/docs/koboldcpp.md index b74c8442..e176243e 100644 --- a/docs/koboldcpp.md +++ b/docs/koboldcpp.md @@ -1,3 +1,9 @@ +--- +title: koboldcpp +excerpt: Setting up MemGPT with koboldcpp +category: 6580da9a40bb410016b8b0c3 +--- + 1. Download + install [koboldcpp](https://github.com/LostRuins/koboldcpp/) and the model you want to test with 2. In your terminal, run `./koboldcpp.py -contextsize ` diff --git a/docs/llamacpp.md b/docs/llamacpp.md index f3bb03fc..1ef46f20 100644 --- a/docs/llamacpp.md +++ b/docs/llamacpp.md @@ -1,3 +1,9 @@ +--- +title: llama.cpp +excerpt: Setting up MemGPT with llama.cpp +category: 6580da9a40bb410016b8b0c3 +--- + 1. Download + install [llama.cpp](https://github.com/ggerganov/llama.cpp) and the model you want to test with 2. In your terminal, run `./server -m -c ` diff --git a/docs/lmstudio.md b/docs/lmstudio.md index 80f0ba3a..258a078c 100644 --- a/docs/lmstudio.md +++ b/docs/lmstudio.md @@ -1,16 +1,22 @@ -!!! warning "Important LM Studio settings" +--- +title: LM Studio +excerpt: Setting up MemGPT with LM Studio +category: 6580da9a40bb410016b8b0c3 +--- - **Context length**: Make sure that "context length" (`n_ctx`) is set (in "Model initialization" on the right hand side "Server Model Settings" panel) to the max context length of the model you're using (e.g. 8000 for Mistral 7B variants). +> 📘 Update your LM Studio +> +> The current `lmstudio` backend will only work if your LM Studio is version 0.2.9 or newer. +> +> If you are on a version of LM Studio older than 0.2.9 (<= 0.2.8), select `lmstudio-legacy` as your backend type. - **Automatic Prompt Formatting = OFF**: If you see "Automatic Prompt Formatting" inside LM Studio's "Server Options" panel (on the left side), turn it **OFF**. Leaving it **ON** will break MemGPT. - - **Context Overflow Policy = Stop at limit**: If you see "Context Overflow Policy" inside LM Studio's "Tools" panel on the right side (below "Server Model Settings"), set it to **Stop at limit**. The default setting "Keep the system prompt ... truncate middle" will break MemGPT. - -!!! note "Update your LM Studio" - - The current `lmstudio` backend will only work if your LM Studio is version 0.2.9 or newer. - - If you are on a version of LM Studio older than 0.2.9 (<= 0.2.8), select `lmstudio-legacy` as your backend type. +> ⚠️ Important LM Studio settings +> +> **Context length**: Make sure that "context length" (`n_ctx`) is set (in "Model initialization" on the right hand side "Server Model Settings" panel) to the max context length of the model you're using (e.g. 8000 for Mistral 7B variants). +> +> **Automatic Prompt Formatting = OFF**: If you see "Automatic Prompt Formatting" inside LM Studio's "Server Options" panel (on the left side), turn it **OFF**. Leaving it **ON** will break MemGPT. +> +> **Context Overflow Policy = Stop at limit**: If you see "Context Overflow Policy" inside LM Studio's "Tools" panel on the right side (below "Server Model Settings"), set it to **Stop at limit**. The default setting "Keep the system prompt ... truncate middle" will break MemGPT. image diff --git a/docs/local_llm.md b/docs/local_llm.md index 896e6589..e72287cf 100644 --- a/docs/local_llm.md +++ b/docs/local_llm.md @@ -1,14 +1,20 @@ -!!! question "Need help?" +--- +title: MemGPT + open models +excerpt: Set up MemGPT to run with open LLMs +category: 6580da9a40bb410016b8b0c3 +--- - If you need help visit our [Discord server](https://discord.gg/9GEQrxmVyE) and post in the #support channel. - - You can also check the [GitHub discussion page](https://github.com/cpacker/MemGPT/discussions/67), but the Discord server is the official support channel and is monitored more actively. +> 📘 Need help? +> +> If you need help visit our [Discord server](https://discord.gg/9GEQrxmVyE) and post in the #support channel. +> +> You can also check the [GitHub discussion page](https://github.com/cpacker/MemGPT/discussions/67), but the Discord server is the official support channel and is monitored more actively. -!!! warning "MemGPT + local LLM failure cases" - - When using open LLMs with MemGPT, **the main failure case will be your LLM outputting a string that cannot be understood by MemGPT**. MemGPT uses function calling to manage memory (eg `edit_core_memory(...)` and interact with the user (`send_message(...)`), so your LLM needs generate outputs that can be parsed into MemGPT function calls. - - Make sure to check the [local LLM troubleshooting page](../local_llm_faq) to see common issues before raising a new issue or posting on Discord. +> ⚠️ MemGPT + open LLM failure cases +> +> When using open LLMs with MemGPT, **the main failure case will be your LLM outputting a string that cannot be understood by MemGPT**. MemGPT uses function calling to manage memory (eg `edit_core_memory(...)` and interact with the user (`send_message(...)`), so your LLM needs generate outputs that can be parsed into MemGPT function calls. +> +> Make sure to check the [local LLM troubleshooting page](local_llm_faq) to see common issues before raising a new issue or posting on Discord. ### Installing dependencies To install dependencies required for running local models, run: @@ -95,19 +101,19 @@ Note that even though grammar-based sampling can reduce the mistakes your LLM ma Currently, MemGPT supports the following backends: -* [oobabooga web UI](../webui) (Mac, Windows, Linux) (✔️ supports grammars) -* [LM Studio](../lmstudio) (Mac, Windows) (❌ does not support grammars) -* [koboldcpp](../koboldcpp) (Mac, Windows, Linux) (✔️ supports grammars) -* [llama.cpp](../llamacpp) (Mac, Windows, Linux) (✔️ supports grammars) -* [vllm](../vllm) (Mac, Windows, Linux) (❌ does not support grammars) +* [oobabooga web UI](webui) (Mac, Windows, Linux) (✔️ supports grammars) +* [LM Studio](lmstudio) (Mac, Windows) (❌ does not support grammars) +* [koboldcpp](koboldcpp) (Mac, Windows, Linux) (✔️ supports grammars) +* [llama.cpp](llamacpp) (Mac, Windows, Linux) (✔️ supports grammars) +* [vllm](vllm) (Mac, Windows, Linux) (❌ does not support grammars) If you would like us to support a new backend, feel free to open an issue or pull request on [the MemGPT GitHub page](https://github.com/cpacker/MemGPT)! ### Which model should I use? -!!! info "Recommended LLMs / models" - - To see a list of recommended LLMs to use with MemGPT, visit our [Discord server](https://discord.gg/9GEQrxmVyE) and check the #model-chat channel. +> 📘 Recommended LLMs / models +> +> To see a list of recommended LLMs to use with MemGPT, visit our [Discord server](https://discord.gg/9GEQrxmVyE) and check the #model-chat channel. If you are experimenting with MemGPT and local LLMs for the first time, we recommend you try the Dolphin Mistral finetune (e.g. [ehartford/dolphin-2.2.1-mistral-7b](https://huggingface.co/ehartford/dolphin-2.2.1-mistral-7b) or a quantized variant such as [dolphin-2.2.1-mistral-7b.Q6_K.gguf](https://huggingface.co/TheBloke/dolphin-2.2.1-mistral-7B-GGUF)), and use the default `airoboros` wrapper. diff --git a/docs/local_llm_faq.md b/docs/local_llm_faq.md index c605886d..d77c1cd3 100644 --- a/docs/local_llm_faq.md +++ b/docs/local_llm_faq.md @@ -1,6 +1,12 @@ -### Problems getting MemGPT + local LLMs set up +--- +title: Troubleshooting +excerpt: FAQ for MemGPT + custom LLM backends +category: 6580da9a40bb410016b8b0c3 +--- -#### "Unable to connect to host ...", "API call got non-200 response code" +## Problems getting MemGPT + local LLMs set up + +### "Unable to connect to host ...", "API call got non-200 response code" This error happens when MemGPT tries to run the LLM on the remote server you specified, but the server isn't working as expected. @@ -11,23 +17,23 @@ Exception: API call got non-200 response code (code=400, msg={"error": {"message Correcting the endpoint from `http://localhost:5001/v1` to `http://localhost:5001` (no `/v1` suffix) fixes the example error. -### Common errors while running MemGPT with local LLMs +## Common errors while running MemGPT with local LLMs -#### "Warning: no wrapper specified for local LLM, using the default wrapper" +### "Warning: no wrapper specified for local LLM, using the default wrapper" **You can ignore this warning.** This warning means that you did not specify a specific wrapper using the `--model-wrapper` flag, so MemGPT is using the default wrapper. If you would like to silence this warning, specify a wrapper with `--model-wrapper` or during `memgpt configure`. -#### "Failed to parse JSON from local LLM response" +### "Failed to parse JSON from local LLM response" This error occurs when the LLM you're using outputs a string that cannot be parsed into a MemGPT function call. This is basically an LLM output error - the LLM was not able to properly follow MemGPT instructions and generate a MemGPT-compatible function call string. **You can reduce the frequency of these errors by using better models, and wrappers with grammar-based sampling**. For example, moving from a 2B model to a 70B model, or moving from a quantized model to the full unquantized version of the same model. -**If you use really small models (< 7B) or heavily quantized models (< Q5), you are likely to run into many MemGPT LLM output errors.** Try using the [recommended models first](../local_llm) before experimenting with your own custom models. +**If you use really small models (< 7B) or heavily quantized models (< Q5), you are likely to run into many MemGPT LLM output errors.** Try using the [recommended models first](local_llm) before experimenting with your own custom models. -Many JSON-related output errors can be fixed by using a wrapper that uses grammars (required a grammar-enabled backend). See instructions about [grammars here](../local_llm). +Many JSON-related output errors can be fixed by using a wrapper that uses grammars (required a grammar-enabled backend). See instructions about [grammars here](local_llm). For example, let's look at the following error: ```text @@ -62,6 +68,6 @@ This string is not correct JSON - it is missing closing brackets and has a stray } ``` -#### "Got back an empty response string from ..." +### "Got back an empty response string from ..." MemGPT asked the server to run the LLM, but got back an empty response. Double-check that your server is running properly and has context length set correctly (it should be set to 8k if using Mistral 7B models). diff --git a/docs/ollama.md b/docs/ollama.md index 0b9ad9b9..3ca619c2 100644 --- a/docs/ollama.md +++ b/docs/ollama.md @@ -1,8 +1,14 @@ -!!! warning "Make sure to use tags when downloading Ollama models!" - - Don't do **`ollama run dolphin2.2-mistral`**, instead do **`ollama run dolphin2.2-mistral:7b-q6_K`**. +--- +title: Ollama +excerpt: Setting up MemGPT with Ollama +category: 6580da9a40bb410016b8b0c3 +--- - If you don't specify a tag, Ollama may default to using a highly compressed model variant (e.g. Q4). We highly recommend **NOT** using a compression level below Q5 when using GGUF (stick to Q6 or Q8 if possible). In our testing, certain models start to become extremely unstable (when used with MemGPT) below Q6. +> ⚠️ Make sure to use tags when downloading Ollama models! +> +> Don't do **`ollama run dolphin2.2-mistral`**, instead do **`ollama run dolphin2.2-mistral:7b-q6_K`**. +> +> If you don't specify a tag, Ollama may default to using a highly compressed model variant (e.g. Q4). We highly recommend **NOT** using a compression level below Q5 when using GGUF (stick to Q6 or Q8 if possible). In our testing, certain models start to become extremely unstable (when used with MemGPT) below Q6. 1. Download + install [Ollama](https://github.com/jmorganca/ollama) and the model you want to test with 2. Download a model to test with by running `ollama run ` in the terminal (check the [Ollama model library](https://ollama.ai/library) for available models) @@ -32,7 +38,7 @@ In your terminal where you're running MemGPT, run `memgpt configure` to set the ? Select LLM inference provider: local ? Select LLM backend (select 'openai' if you have an OpenAI compatible proxy): ollama ? Enter default endpoint: http://localhost:11434 -? Enter default model name (required for Ollama, see: https://memgpt.readthedocs.io/en/latest/ollama): dolphin2.2-mistral:7b-q6_K +? Enter default model name (required for Ollama, see: https://memgpt.readme.io/docs/ollama): dolphin2.2-mistral:7b-q6_K ... ``` diff --git a/docs/presets.md b/docs/presets.md index 3113a3f1..9553b2da 100644 --- a/docs/presets.md +++ b/docs/presets.md @@ -1,3 +1,9 @@ +--- +title: Creating new MemGPT presets +excerpt: Presets allow you to customize agent functionality +category: 6580daaa48aeca0038fc2297 +--- + MemGPT **presets** are a combination default settings including a system prompt and a function set. For example, the `memgpt_docs` preset uses a system prompt that is tuned for document analysis, while the default `memgpt_chat` is tuned for general chatting purposes. You can create your own presets by creating a `.yaml` file in the `~/.memgpt/presets` directory. If you want to use a new custom system prompt in your preset, you can create a `.txt` file in the `~/.memgpt/system_prompts` directory. diff --git a/docs/quickstart.md b/docs/quickstart.md index 9d9ce173..4f02323c 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -1,3 +1,9 @@ +--- +title: Quickstart +excerpt: Get up and running with MemGPT +category: 6580d34ee5e4d00068bf2a1d +--- + ### Installation To install MemGPT, make sure you have Python installed on your computer, then run: @@ -9,7 +15,7 @@ pip install pymemgpt If you already have MemGPT installed, you can update to the latest version with: ```sh -pip install pymemgpt -U --pre +pip install pymemgpt -U ``` ### Running MemGPT using the OpenAI API @@ -32,8 +38,8 @@ memgpt run In this example we use the OpenAI API, but you can run MemGPT with other backends! See: -* [Running MemGPT on OpenAI Azure and custom OpenAI endpoints](endpoints.md) -* [Running MemGPT with your own LLMs (Llama 2, Mistral 7B, etc.)](local_llm.md) +* [Running MemGPT on OpenAI Azure and custom OpenAI endpoints](endpoints) +* [Running MemGPT with your own LLMs (Llama 2, Mistral 7B, etc.)](local_llm) ### Command-line arguments @@ -73,5 +79,5 @@ Once you exit the CLI with `/exit`, you can resume chatting with the same agent Check out the following tutorials on how to set up custom chatbots and chatbots for talking to your data: -* [Using MemGPT to create a perpetual chatbot](example_chat.md) -* [Using MemGPT to chat with your own data](example_data.md) +* [Using MemGPT to create a perpetual chatbot](example_chat) +* [Using MemGPT to chat with your own data](example_data) diff --git a/docs/storage.md b/docs/storage.md index 72b57901..1c1dcfc7 100644 --- a/docs/storage.md +++ b/docs/storage.md @@ -1,8 +1,12 @@ -# Configuring Storage Backends +--- +title: Configuring storage backends +excerpt: Customizing the MemGPT storage backend +category: 6580dabb585483000f0e6c7c +--- -!!! warning "Switching storage backends" - - MemGPT can only use one storage backend at a time. If you switch from local to database storage, you will need to re-load data and start agents from scratch. We currently do not support migrating between storage backends. +> ⚠️ Switching storage backends +> +> MemGPT can only use one storage backend at a time. If you switch from local to database storage, you will need to re-load data and start agents from scratch. We currently do not support migrating between storage backends. MemGPT supports both local and database storage for archival memory. You can configure which storage backend to use via `memgpt configure`. For larger datasets, we recommend using a database backend. diff --git a/docs/vllm.md b/docs/vllm.md index be716f9e..8aeb9c33 100644 --- a/docs/vllm.md +++ b/docs/vllm.md @@ -1,3 +1,9 @@ +--- +title: vLLM +excerpt: Setting up MemGPT with vLLM +category: 6580da9a40bb410016b8b0c3 +--- + 1. Download + install [vLLM](https://docs.vllm.ai/en/latest/getting_started/installation.html) 2. Launch a vLLM **OpenAI-compatible** API server using [the official vLLM documentation](https://docs.vllm.ai/en/latest/getting_started/quickstart.html) diff --git a/docs/webui.md b/docs/webui.md index fe7594fa..07a487b4 100644 --- a/docs/webui.md +++ b/docs/webui.md @@ -1,6 +1,12 @@ -!!! question "web UI troubleshooting" +--- +title: oobobooga web UI +excerpt: Setting up MemGPT with web UI +category: 6580da9a40bb410016b8b0c3 +--- - If you have problems getting web UI set up, please use the [official web UI repo for support](https://github.com/oobabooga/text-generation-webui)! There will be more answered questions about web UI there vs here on the MemGPT repo. +> 📘 web UI troubleshooting +> +> If you have problems getting web UI set up, please use the [official web UI repo for support](https://github.com/oobabooga/text-generation-webui)! There will be more answered questions about web UI there vs here on the MemGPT repo. To get MemGPT to work with a local LLM, you need to have the LLM running on a server that takes API requests. diff --git a/main.py b/main.py index 6e3ee9e0..5135f7d9 100644 --- a/main.py +++ b/main.py @@ -2,6 +2,6 @@ from memgpt.main import app import typer typer.secho( - "Command `python main.py` no longer supported. Please run `memgpt run`. See https://memgpt.readthedocs.io/en/latest/quickstart/.", + "Command `python main.py` no longer supported. Please run `memgpt run`. See https://memgpt.readme.io/docs/quickstart.", fg=typer.colors.YELLOW, ) diff --git a/memgpt/autogen/README.md b/memgpt/autogen/README.md index cc6e87bb..dabf7fe6 100644 --- a/memgpt/autogen/README.md +++ b/memgpt/autogen/README.md @@ -1,3 +1,3 @@ # MemGPT + Autogen integration -See [https://memgpt.readthedocs.io/en/latest/autogen](https://memgpt.readthedocs.io/en/latest/autogen/) for documentation on integrating MemGPT with AutoGen. +See [https://memgpt.readme.io/docs/autogen](https://memgpt.readme.io/docs/autogen) for documentation on integrating MemGPT with AutoGen. diff --git a/memgpt/autogen/examples/agent_autoreply.py b/memgpt/autogen/examples/agent_autoreply.py index 27eb385a..c033e554 100644 --- a/memgpt/autogen/examples/agent_autoreply.py +++ b/memgpt/autogen/examples/agent_autoreply.py @@ -58,7 +58,7 @@ elif LLM_BACKEND == "azure": azure_openai_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT") assert ( azure_openai_api_key is not None and azure_openai_version is not None and azure_openai_endpoint is not None - ), "Set all the required OpenAI Azure variables (see: https://memgpt.readthedocs.io/en/latest/endpoints/#azure)" + ), "Set all the required OpenAI Azure variables (see: https://memgpt.readme.io/docs/endpoints#azure-openai)" # This config is for AutoGen agents that are not powered by MemGPT config_list = [ @@ -108,7 +108,7 @@ elif LLM_BACKEND == "local": config_list_memgpt = [ { "preset": DEFAULT_PRESET, - "model": None, # only required for Ollama, see: https://memgpt.readthedocs.io/en/latest/ollama/ + "model": None, # only required for Ollama, see: https://memgpt.readme.io/docs/ollama "context_window": 8192, # the context window of your model (for Mistral 7B-based models, it's likely 8192) "model_wrapper": "airoboros-l2-70b-2.1", # airoboros is the default wrapper and should work for most models "model_endpoint_type": "lmstudio", # can use webui, ollama, llamacpp, etc. diff --git a/memgpt/autogen/examples/agent_docs.py b/memgpt/autogen/examples/agent_docs.py index 97833ece..3eaa74a2 100644 --- a/memgpt/autogen/examples/agent_docs.py +++ b/memgpt/autogen/examples/agent_docs.py @@ -1,6 +1,6 @@ """Example of how to add MemGPT into an AutoGen groupchat and chat with docs. -See https://memgpt.readthedocs.io/en/latest/autogen/#loading-documents +See https://memgpt.readme.io/docs/autogen#part-4-attaching-documents-to-memgpt-autogen-agents Based on the official AutoGen example here: https://github.com/microsoft/autogen/blob/main/notebook/agentchat_groupchat.ipynb @@ -61,7 +61,7 @@ elif LLM_BACKEND == "azure": azure_openai_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT") assert ( azure_openai_api_key is not None and azure_openai_version is not None and azure_openai_endpoint is not None - ), "Set all the required OpenAI Azure variables (see: https://memgpt.readthedocs.io/en/latest/endpoints/#azure)" + ), "Set all the required OpenAI Azure variables (see: https://memgpt.readme.io/docs/endpoints#azure-openai)" # This config is for AutoGen agents that are not powered by MemGPT config_list = [ @@ -111,7 +111,7 @@ elif LLM_BACKEND == "local": config_list_memgpt = [ { "preset": DEFAULT_PRESET, - "model": None, # only required for Ollama, see: https://memgpt.readthedocs.io/en/latest/ollama/ + "model": None, # only required for Ollama, see: https://memgpt.readme.io/docs/ollama "context_window": 8192, # the context window of your model (for Mistral 7B-based models, it's likely 8192) "model_wrapper": "airoboros-l2-70b-2.1", # airoboros is the default wrapper and should work for most models "model_endpoint_type": "lmstudio", # can use webui, ollama, llamacpp, etc. @@ -153,7 +153,7 @@ memgpt_agent = create_memgpt_autogen_agent_from_config( default_auto_reply="...", # Set a default auto-reply message here (non-empty auto-reply is required for LM Studio) skip_verify=False, # NOTE: you should set this to True if you expect your MemGPT AutoGen agent to call a function other than send_message on the first turn ) -# NOTE: you need to follow steps to load document first: see https://memgpt.readthedocs.io/en/latest/autogen/#loading-documents +# NOTE: you need to follow steps to load document first: see https://memgpt.readme.io/docs/autogen#part-4-attaching-documents-to-memgpt-autogen-agents memgpt_agent.load_and_attach("memgpt_research_paper", "directory") # Initialize the group chat between the agents diff --git a/memgpt/autogen/examples/agent_groupchat.py b/memgpt/autogen/examples/agent_groupchat.py index a79c5e98..99203ba1 100644 --- a/memgpt/autogen/examples/agent_groupchat.py +++ b/memgpt/autogen/examples/agent_groupchat.py @@ -59,7 +59,7 @@ elif LLM_BACKEND == "azure": azure_openai_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT") assert ( azure_openai_api_key is not None and azure_openai_version is not None and azure_openai_endpoint is not None - ), "Set all the required OpenAI Azure variables (see: https://memgpt.readthedocs.io/en/latest/endpoints/#azure)" + ), "Set all the required OpenAI Azure variables (see: https://memgpt.readme.io/docs/endpoints#azure-openai)" # This config is for AutoGen agents that are not powered by MemGPT config_list = [ @@ -109,7 +109,7 @@ elif LLM_BACKEND == "local": config_list_memgpt = [ { "preset": DEFAULT_PRESET, - "model": None, # only required for Ollama, see: https://memgpt.readthedocs.io/en/latest/ollama/ + "model": None, # only required for Ollama, see: https://memgpt.readme.io/docs/ollama "context_window": 8192, # the context window of your model (for Mistral 7B-based models, it's likely 8192) "model_wrapper": "airoboros-l2-70b-2.1", # airoboros is the default wrapper and should work for most models "model_endpoint_type": "lmstudio", # can use webui, ollama, llamacpp, etc. diff --git a/memgpt/cli/cli_config.py b/memgpt/cli/cli_config.py index 010326e4..ed6b3533 100644 --- a/memgpt/cli/cli_config.py +++ b/memgpt/cli/cli_config.py @@ -111,7 +111,7 @@ def configure_model(config: MemGPTConfig, model_endpoint_type: str): if model_endpoint_type == "ollama": default_model = config.model if config.model and config.model_endpoint_type == "ollama" else DEFAULT_OLLAMA_MODEL model = questionary.text( - "Enter default model name (required for Ollama, see: https://memgpt.readthedocs.io/en/latest/ollama):", + "Enter default model name (required for Ollama, see: https://memgpt.readme.io/docs/ollama):", default=default_model, ).ask() model = None if len(model) == 0 else model @@ -310,12 +310,12 @@ def configure(): print(f"Using deployment id {azure_creds['azure_deployment']}") else: raise ValueError( - "Missing environment variables for Azure (see https://memgpt.readthedocs.io/en/latest/endpoints/#azure). Please set then run `memgpt configure` again." + "Missing environment variables for Azure (see https://memgpt.readme.io/docs/endpoints#azure-openai). Please set then run `memgpt configure` again." ) if model_endpoint_type == "openai" or embedding_endpoint_type == "openai": if not openai_key: raise ValueError( - "Missing environment variables for OpenAI (see https://memgpt.readthedocs.io/en/latest/endpoints/#openai). Please set them and run `memgpt configure` again." + "Missing environment variables for OpenAI (see https://memgpt.readme.io/docs/endpoints#azure-openai). Please set them and run `memgpt configure` again." ) config = MemGPTConfig( diff --git a/memgpt/local_llm/README.md b/memgpt/local_llm/README.md index 0e019702..e9dd603b 100644 --- a/memgpt/local_llm/README.md +++ b/memgpt/local_llm/README.md @@ -1,3 +1,3 @@ # MemGPT + local LLMs -See [https://memgpt.readthedocs.io/en/latest/local_llm](https://memgpt.readthedocs.io/en/latest/local_llm/) for documentation on running MemGPT with custom LLM backends. +See [https://memgpt.readme.io/docs/local_llm](https://memgpt.readme.io/docs/local_llm) for documentation on running MemGPT with custom LLM backends. diff --git a/mkdocs.yml b/mkdocs.yml deleted file mode 100644 index 7c7e68a0..00000000 --- a/mkdocs.yml +++ /dev/null @@ -1,100 +0,0 @@ -site_name: MemGPT -site_url: https://memgpt.ai/ -repo_name: cpacker/MemGPT -repo_url: https://github.com/cpacker/MemGPT -# https://github.com/mkdocs/mkdocs/issues/2416 -edit_uri: ./edit/main/docs -site_description: MemGPT documentation -nav: - - Home: index.md - - 'User Guide': - - 'Quickstart': quickstart.md - - 'Example - perpetual chatbot': example_chat.md - - 'Example - chat with your data': example_data.md - - 'Configuration': config.md - - 'External data sources': data_sources.md - - 'Configuring LLMs': endpoints.md - - 'Configuring embeddings': embedding_endpoints.md - - 'FAQ': cli_faq.md - - 'Discord Bot': - - 'Chatting with MemGPT Bot': discord_bot.md - - 'LLM Backends': - - 'MemGPT + open models': local_llm.md - - 'oobabooga web UI': webui.md - # - 'oobabooga web UI (on RunPod)': webui_runpod.md - - 'LM Studio': lmstudio.md - - 'llama.cpp': llamacpp.md - - 'KoboldCpp': koboldcpp.md - - 'Ollama': ollama.md - - 'vLLM': vllm.md - - 'Troubleshooting': local_llm_faq.md - - 'Customizing MemGPT': - - 'Creating new MemGPT presets': presets.md - - 'Giving MemGPT more tools': functions.md - - 'Integrations': - - 'MemGPT + AutoGen': autogen.md - - 'Advanced': - - 'Configuring storage backends': storage.md - - 'Adding support for new LLMs': adding_wrappers.md - - 'Contributing to the codebase': contributing.md -theme: - name: material - features: - - announce.dismiss - - content.action.edit - - content.action.view - - content.code.annotate - - content.code.copy - # - content.code.select - # - content.tabs.link - - content.tooltips - # - header.autohide - # - navigation.expand - - navigation.footer - - navigation.indexes - # - navigation.instant - # - navigation.instant.prefetch - # - navigation.instant.progress - # - navigation.prune - - navigation.sections - # - navigation.path - # - navigation.expansion - # - navigation.tabs - # - navigation.tabs.sticky - # - navigation.top - - navigation.tracking - - search.highlight - # - search.share - # - search.suggest - # - toc.follow - - toc.integrate - palette: - - scheme: default - primary: indigo - accent: indigo - toggle: - icon: material/brightness-7 - name: Switch to dark mode - - scheme: slate - primary: black - accent: indigo - toggle: - icon: material/brightness-4 - name: Switch to light mode - font: - text: Roboto - code: Roboto Mono - favicon: assets/favicon.ico - logo: assets/memgpt_logo_circle.png - # icon: -markdown_extensions: - - admonition - - pymdownx.highlight: - anchor_linenums: true - line_spans: __span - pygments_lang_class: true - - pymdownx.inlinehilite - - pymdownx.snippets - - pymdownx.superfences -plugins: - - search