From aea5bedf26c1c829933b1bcb1ddcdff8f3a9eff9 Mon Sep 17 00:00:00 2001 From: Shaokun Zhang Date: Fri, 16 Feb 2024 09:05:21 -0500 Subject: [PATCH] update ecosystem (#1624) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * update ollama ecosystem * update ollama ecosystem --------- Co-authored-by: “skzhang1” <“shaokunzhang529@gmail.com”> --- website/docs/Ecosystem.md | 8 ++++++++ website/docs/img/ecosystem-ollama.png | Bin 0 -> 13837 bytes 2 files changed, 8 insertions(+) create mode 100644 website/docs/img/ecosystem-ollama.png diff --git a/website/docs/Ecosystem.md b/website/docs/Ecosystem.md index 63cdd93fc..88e3236dd 100644 --- a/website/docs/Ecosystem.md +++ b/website/docs/Ecosystem.md @@ -19,3 +19,11 @@ MemGPT enables LLMs to manage their own memory and overcome limited context wind [Microsoft Fabric](https://learn.microsoft.com/en-us/fabric/get-started/microsoft-fabric-overview) is an all-in-one analytics solution for enterprises that covers everything from data movement to data science, Real-Time Analytics, and business intelligence. It offers a comprehensive suite of services, including data lake, data engineering, and data integration, all in one place. In this notenook, we give a simple example for using AutoGen in Microsoft Fabric. - [Microsoft Fabric + AutoGen Code Examples](https://github.com/microsoft/autogen/blob/main/notebook/agentchat_microsoft_fabric.ipynb) + +## Ollama + AutoGen + +![Ollama Example](img/ecosystem-ollama.png) + +[Ollama](https://ollama.com/) allows the users to run open-source large language models, such as Llama 2, locally. Ollama bundles model weights, configuration, and data into a single package, defined by a Modelfile. It optimizes setup and configuration details, including GPU usage. + +- [Ollama + AutoGen instruction](https://ollama.ai/blog/openai-compatibility) diff --git a/website/docs/img/ecosystem-ollama.png b/website/docs/img/ecosystem-ollama.png new file mode 100644 index 0000000000000000000000000000000000000000..1cd707b7c98ba6bc641eaae45848dbc37a776345 GIT binary patch literal 13837 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 literal 0 HcmV?d00001