From 951ab66a3eabf405ec1bdc11a99712b84c71c9ba Mon Sep 17 00:00:00 2001 From: Fernando Guerra Date: Tue, 19 Mar 2024 22:11:01 +0000 Subject: [PATCH] changing the repository of the blog --- .github/workflows/ci_docs.yaml | 1 - README.md | 4 +- README_ja.md | 4 +- README_zh.md | 4 +- docs/hr/blog/2023-09-08-introducing.md | 97 ------ docs/hr/blog/2023-09-09-vector-search.mdx | 217 ------------ .../2023-09-12-rag-question-answering.mdx | 182 ---------- ...-now-supports-cohere-and-anthropic-apis.md | 77 ----- .../2023-09-30-jump-start-ai-development.md | 82 ----- .../atlas_screen.png | Bin 390600 -> 0 bytes .../content.md | 187 ---------- .../2023-10-04-walkthrough-rag-app-atlas.md | 143 -------- ...on-duckdb-using-jinaai-and-superduperdb.md | 322 ------------------ docs/hr/blog/2024-03-13-nomic-integration.md | 243 ------------- docs/hr/blog/authors.yml | 35 -- .../rag-question-answering-components/Bot.jsx | 85 ----- docs/hr/blog/v1/releasingv1.md | 157 --------- docs/hr/content/docs/intro.md | 2 +- docs/hr/docusaurus.config.js | 20 +- 19 files changed, 17 insertions(+), 1845 deletions(-) delete mode 100644 docs/hr/blog/2023-09-08-introducing.md delete mode 100644 docs/hr/blog/2023-09-09-vector-search.mdx delete mode 100644 docs/hr/blog/2023-09-12-rag-question-answering.mdx delete mode 100644 docs/hr/blog/2023-09-29-superduperdb-now-supports-cohere-and-anthropic-apis.md delete mode 100644 docs/hr/blog/2023-09-30-jump-start-ai-development.md delete mode 100644 docs/hr/blog/2023-09-31-a-walkthrough-of-vector-search-on-mongodb-atlas-with-superduperdb/atlas_screen.png delete mode 100644 docs/hr/blog/2023-09-31-a-walkthrough-of-vector-search-on-mongodb-atlas-with-superduperdb/content.md delete mode 100644 docs/hr/blog/2023-10-04-walkthrough-rag-app-atlas.md delete mode 100644 docs/hr/blog/2024-03-11-rag-system-on-duckdb-using-jinaai-and-superduperdb.md delete mode 100644 docs/hr/blog/2024-03-13-nomic-integration.md delete mode 100644 docs/hr/blog/authors.yml delete mode 100644 docs/hr/blog/rag-question-answering-components/Bot.jsx delete mode 100644 docs/hr/blog/v1/releasingv1.md diff --git a/.github/workflows/ci_docs.yaml b/.github/workflows/ci_docs.yaml index c6632d88c3..0870433fee 100644 --- a/.github/workflows/ci_docs.yaml +++ b/.github/workflows/ci_docs.yaml @@ -5,7 +5,6 @@ on: - main paths: # run this action only when the docs folder is changed - 'docs/hr/content/**' - - 'docs/hr/blog/**' - 'docs/hr/*.js' workflow_dispatch: # allows triggering a GitHub action manually - see 'Actions' tab diff --git a/README.md b/README.md index a7bd6bdc32..858c0c2277 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@
-## Docs | Blog | Use-Cases | Installation | Community Apps | Slack | Youtube +## Docs | Blog | Use-Cases | Installation | Community Apps | Slack | Youtube
@@ -106,7 +106,7 @@ Also find use-cases and apps built by the community in the [superduper-community | Code | Minimal learning curve due to a simple and declarative API, requiring simple Python commands. | Hundreds of lines of codes and settings in different environments and tools. | -For more information about SuperDuperDB and why we believe it is much needed, [read this blog post](https://docs.superduperdb.com/blog/superduperdb-the-open-source-framework-for-bringing-ai-to-your-datastore/). +For more information about SuperDuperDB and why we believe it is much needed, [read this blog post](https://blog.superduperdb.com/superduperdb-the-open-source-framework-for-bringing-ai-to-your-datastore/). diff --git a/README_ja.md b/README_ja.md index c911621a24..774975fc07 100644 --- a/README_ja.md +++ b/README_ja.md @@ -11,7 +11,7 @@
-## Docs | Blog | Use-Cases | Live Notebooks | Community Apps | Slack | Youtube +## Docs | Blog | Use-Cases | Live Notebooks | Community Apps | Slack | Youtube
@@ -56,7 +56,7 @@ SuperDuperDB は複雑な MLOps パイプラインや特殊なベクターデー `SuperDuperDB はオープンソースです: プロジェクトをサポートするために star してください! ⭐` -SuperDuperDB についての詳細と、私たちが SuperDuperDB を必要とする理由については、[このブログ記事をお読みください](https://docs.superduperdb.com/blog/superduperdb-the-open-source-framework-for-bringing-ai-to-your-datastore/)。 +SuperDuperDB についての詳細と、私たちが SuperDuperDB を必要とする理由については、[このブログ記事をお読みください](https://blog.superduperdb.com/superduperdb-the-open-source-framework-for-bringing-ai-to-your-datastore/)。
diff --git a/README_zh.md b/README_zh.md index 66044aca02..0f8fa606c3 100644 --- a/README_zh.md +++ b/README_zh.md @@ -11,7 +11,7 @@
-## Docs | Blog | Use-Cases | Live Notebooks | Community Apps | Slack | Youtube +## Docs | Blog | Use-Cases | Live Notebooks | Community Apps | Slack | Youtube
@@ -46,7 +46,7 @@ ***开始使用:*** - 查看我们已经实现的使用案例[在这里的文档中](https://docs.superduperdb.com/docs/category/use-cases),以及社区构建的应用,在专门的[superduper-community-apps仓库](https://github.com/SuperDuperDB/superduper-community-apps)中查看,并尝试在[浏览器中的Jupyter上](https://demo.superduperdb.com/)使用所有这些应用! -想了解更多关于SuperDuperDB的信息,以及我们为什么认为它非常需要,请[阅读这篇博客文章](https://docs.superduperdb.com/blog/superduperdb-the-open-source-framework-for-bringing-ai-to-your-datastore/)。 +想了解更多关于SuperDuperDB的信息,以及我们为什么认为它非常需要,请[阅读这篇博客文章](https://blog.superduperdb.com/superduperdb-the-open-source-framework-for-bringing-ai-to-your-datastore/)。 --- diff --git a/docs/hr/blog/2023-09-08-introducing.md b/docs/hr/blog/2023-09-08-introducing.md deleted file mode 100644 index 57e62d62ec..0000000000 --- a/docs/hr/blog/2023-09-08-introducing.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -slug: bringing-ai-to-your-datastore-in-python -title: 'Introducing SuperDuperDB: Bringing AI to your Datastore in Python' -authors: [blythed] -tags: [AI, data-store, Python] ---- - -It's 2023, and unless you've been in cryo-sleep since mid-2022, you'll have heard about the explosion of powerful AI and LLMs. Leveraging these LLMs, developers are now able to connect existing data with AI using vector search. - - - -AI models can allow users to extract valuable information out of their existing data stores (databases, data lakes, data warehouses), in a host of different ways: semantic search, retrieval augmented generation, visual classification, conditional image generation, recommendation systems, anomaly and fraud detection, image search, multimodal search, time-series analysis and much, much more. - -In the AI-powered future, a full-featured data application will have five parts: - -- Backend -- Frontend -- Data store -- AI models -- Vector search - -There are many different solutions for AI model computations and vector search separately, but some deep pitfalls appear when you put both together. - -### A model has no natural way to talk to a datastore - -The most flexible frameworks for building AI models, like PyTorch, don’t understand text or images out-of-the-box without writing custom code. - -Model libraries containing precompiled and trained AI models often support text but not computer vision or audio classification. Worse, you can’t just pass a data store connection to such a library, and tell the library to use the connection to train the model: you have to write more custom code. - -There is no general Python abstraction bringing self-built models like PyTorch, models imported from libraries like Scikit-Learn, and models hosted behind APIs like OpenAI, together under one roof with existing data stores: even more custom code. - -The result is that developers still must perform considerable coding to connect AI models with their data stores. - -### Vector databases mean data fragmentation and difficulties with data-lineage - -A vector database is powerful but leaves architects and developers with questions: - -- Should all data now live in the vector database? -- Should the vector database only contain vectors? - -Ideally, data would stay in the primary datastore, but many datastores do not have a vector search implementation. - -On the other hand, it is problematic to make the vector database the primary datastore for an application, as most vector databases lack the specialized features of classical relational databases or document stores, and offer few consistency or performance guarantees. - -### Connect models and datastores with SuperDuperDB - -- SuperDuperDB is a framework which wraps data stores and AI models, with minimal boilerplate code. -- Arbitrary models from open-source are applied directly to datastore queries and the outputs can be saved right back in the datastore, keeping everything in one location. Computations scale using the rich and diverse tools in the PyData ecosystem. -- SuperDuperDB allows complex data types as inputs to AI models, such as images, audio and beyond. -- SuperDuperDB can instantly make a classical database or data store vector-searchable. SuperDuperDB wraps well-known query APIs with additional commands for vector search, and takes care of organizing the results into a consistent result set for databases without a native vector-search implementation. -- SuperDuperDB can use a query to train models directly on the data store. The fully open-source SuperDuperDB environment provides a scalable and serverless developer experience for model training. - -### Get started easily, and go far - -SuperDuperDB is designed to make it as simple as possible to get started. For example, to connect with SuperDuperDB using MongoDB and Python, just type: - -```python -from superduperdb import superduper -from pymongo import MongoClient - -db = MongoClient().my_database -db = superduper(db) -``` - -At the same time, SuperDuperDB is ready for the full range of modern AI tools. It scales horizontally and includes a flexible approach allowing arbitrary AI frameworks to be used together, including torch, transformers, sklearn and openai. - -- GitHub: https://github.com/SuperDuperDB/superduperdb -- Docs: https://docs.superduperdb.com -- Blog: https://www.superduperdb.com/blog - -### The road ahead - -In the weeks and months to come we’ll be: - -- Adding SQL support (already close to completion) -- Building bridges to more AI frameworks, libraries, models and API services -- Creating tools to manage a SuperDuperDB deployment in production - -### Useful Links - -- **[Website](https://superduperdb.com/)** -- **[GitHub](https://github.com/SuperDuperDB/superduperdb)** -- **[Documentation](https://docs.superduperdb.com/docs/category/get-started)** -- **[Blog](https://docs.superduperdb.com/blog)** -- **[Example Use Cases & Apps](https://docs.superduperdb.com/docs/category/use-cases)** -- **[Slack Community](https://join.slack.com/t/superduperdb/shared_invite/zt-1zuojj0k0-RjAYBs1TDsvEa7yaFGa6QA)** -- **[LinkedIn](https://www.linkedin.com/company/superduperdb/)** -- **[Twitter](https://twitter.com/superduperdb)** -- **[Youtube](https://www.youtube.com/@superduperdb)** - -### Contributors are welcome! - -SuperDuperDB is open-source and permissively licensed under the [Apache 2.0 license](https://github.com/SuperDuperDB/superduperdb/blob/main/LICENSE). We would like to encourage developers interested in open-source development to contribute in our discussion forums, issue boards and by making their own pull requests. We'll see you on [GitHub](https://github.com/SuperDuperDB/superduperdb)! - -### Become a Design Partner! - -We are looking for visionary organizations which we can help to identify and implement transformative AI applications for their business and products. We're offering this absolutely for free. If you would like to learn more about this opportunity please reach out to us via email: partnerships@superduperdb.com \ No newline at end of file diff --git a/docs/hr/blog/2023-09-09-vector-search.mdx b/docs/hr/blog/2023-09-09-vector-search.mdx deleted file mode 100644 index 2109462f67..0000000000 --- a/docs/hr/blog/2023-09-09-vector-search.mdx +++ /dev/null @@ -1,217 +0,0 @@ ---- -slug: introduce-vector-search-to-your-favourite-database-with-superduperdb -title: Enable Vector Search in MongoDB with SuperDuperDB -authors: [blythed] -tags: [AI, vector-search] ---- - -_In this blog-post we show you how to easily operate vector-search in MongoDB -Atlas using SuperDuperDB, leading to many savings and efficiencies in -your AI development._ - ---- - -In 2023 vector-databases are hugely popular; they provide the opportunity for developers to connect LLMs, such as OpenAI’s GPT models, with their data, as well as providing the key to deploying “search-by-meaning” on troves of documents. - - - -However: a key unanswered question, for which there is no widely accepted answer, is: - -:::info -How do the vectors in my vector-database get there in the first place? -::: - -Vectors (arrays of numbers used in vector-search) differ from the content of most databases, since they need to be calculated on the basis of other data. - -Currently there are 2 approaches: - -## Possibility 1: models live together with the database to create vectors at insertion time - -When data is inserted into a vector-database, the database may be configured to “calculate” or “compute” vectors on the basis of this data (generally text). This means that the database environment also has access to some compute and AI models, or access to APIs such as OpenAI, in order to obtain vectors. - -Examples of this approach are: - -- _Weaviate_ (support for a range of pre-defined models, some support for bringing own model) -- _Chroma_ (support for OpenAI and sentence_transformers) - -**Pros**: - -- The data and compute live together, so developers don’t need to create an additional app in order to use the vector-database - -**Cons**: - -- Developers are limited by the models available in the vector-database and the compute resources on the vector-database server -- Primary data needs to be stored in the vector-database; classic-database + external vector-search isn’t an expected pattern. -- Training of models is generally not supported. - -## Possibility 2: the vector-database requires developers to provide their own vectors with their own models - -In this approach, developers are required to build an app which deploys model computations over data which is extracted from the datastore. - -Examples of this approach are: - -- _LanceDB_ -- _Milvus_ - -**Pros**: - -- By developing a vector-computation app, the user can use the full flexibility of the open-source landscape for computing these vectors, and can architect compute resources independently from vector-database resources -- The vector-database “specializes” in vector-search and storage of vectors, giving better performance guarantees as a result - -**Cons**: - -- Huge overhead of building one’s own computation app. -- All communication between app, vector-database and datastore (if using external datastore) must be managed by the developer - -### Enter SuperDuperDB - -:::info -SuperDuperDB is a middle path to scalability, flexiblity and ease-of-use in vector-search and far beyond. -::: - -- SuperDuperDB is an open-source Python environment which wraps databases and AI models with additional functionality to make them “ready” to interface with one-another; developers are able to host their data in a “classical” database, but use this database as a vector-database. -- SuperDuperDB allows users to integrate any model from the Python open source ecosystem (torch, sklearn, transformers, sentence_transformers as well as OpenAI’s API), with their datastore. It uses a flexible scheme, allowing new frameworks and code-bases to be integrated without requiring the developer to add additional classes or functionality. -- SuperDuperDB can be co-located with the database in infrastructure, but at the same time has access to its own compute, which is scalable. This makes it vertically performant and at the same time, ready to scale horizontally to accommodate larger usage. -- SuperDuperDB enables training directly with the datastore: developers are only required to specify a database-query to initiate training on scalable compute. -- Developers are not required to program tricky boilerplate code or architectures for computing vector outputs and storing these back in the database. This is all supported natively by SuperDuperDB. -- SuperDuperDB supports data of arbitrary type: with its flexible serialization model, SuperDuperDB can handle text, images, tensors, audio and beyond. -- SuperDuperDB’s scope goes far beyond vector-search; it supports models with arbitrary outputs: classification, generative AI, fore-casting and much more are all within scope and supported. This allows users to build interdependent models, where base models feed their outputs into downstream models; this enables transfer learning, and quality assurance via classification on generated outputs, to name but 2 key outcomes of SuperDuperDB’s integration model. - -### Minimal boilerplate to connect to SuperDuperDB - -Connecting to MongoDB with SuperDuperDB is super easy. The connection may be used to insert documents, although insertion/ ingestion can also proceed via other sources/ client libraries. - -```python -import json -import pymongo - -from superduperdb import superduper -from superduperdb.container.document import Document -from superduperdb.db.mongodb.query import Collection - -db = pymongo.MongoClient().documents -db = superduper(db) - -collection = Collection('wikipedia') - -with open('wikipedia.json') as f: - data = json.load(f) - -db.execute( - collection.insert_many([Document(r) for r in data]) -) -``` - -### Set up vector-search with SuperDuperDB in one command! - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -```mdx-code-block - - -``` - -```python -from superduperdb.container.vector_index import VectorIndex -from superduperdb.container.listener import Listener -from superduperdb.ext.numpy.array import array -from superduperdb.ext.openai import OpenAIEmbedding - -db.add( - VectorIndex( - identifier=f'wiki-index-openai', - indexing_listener=Listener( - model=OpenAIEmbedding(model='text-embedding-ada-002'), - key='abstract', - select=collection.find(), - predict_kwargs={'max_chunk_size': 1000}, - ) - ) -) -``` - -```mdx-code-block - - -``` - -```python -from superduperdb.container.vector_index import VectorIndex -from superduperdb.container.listener import Listener -from superduperdb.ext.numpy.array import array -from sentence_transformers import Pipeline - -model = Model( - identifier='all-MiniLM-L6-v2', - object=sentence_transformers.SentenceTransformer('all-MiniLM-L6-v2'), - encoder=array('float32', shape=(384,)), - predict_method='encode', - batch_predict=True, -) - -db.add( - VectorIndex( - identifier=f'wiki-index-sentence-transformers', - indexing_listener=Listener( - model=model, - key='abstract', - select=collection.find(), - predict_kwargs={'max_chunk_size': 1000}, - ) - ) -) -``` - -```mdx-code-block - - -``` - -This approach is simple enough to allow models from a vast range of libraries and sources to be implemented: open/ closed source, self-built or library based and much more. - -Now that the index has been created, queries may be dispatched in a new session to SuperDuperDB without reloading the model: - -```python -cur = db.execute( - collection - .like({'title': 'articles about sport'}, n=10, vector_index=f'wiki-index') - .find({}, {'title': 1}) -) - -for r in cur: - print(r) -``` - -The great thing about using MongoDB or a similar battle tested database for vector-search, is that it can be easily combined with important filtering approaches. In this query, we restrict the results to a hard match involving the word “Australia”: - -```python -cur = db.execute( - collection - .like({'title': 'articles about sport'}, n=100, vector_index=f'wiki-index-{model.identifier}') - .find({'title': {'$regex': '.*Australia'}}) -) - -for r in cur: - print(r['title']) -``` - -### Useful Links - -- **[Website](https://superduperdb.com/)** -- **[GitHub](https://github.com/SuperDuperDB/superduperdb)** -- **[Documentation](https://docs.superduperdb.com/docs/category/get-started)** -- **[Blog](https://docs.superduperdb.com/blog)** -- **[Example Use Cases & Apps](https://docs.superduperdb.com/docs/category/use-cases)** -- **[Slack Community](https://join.slack.com/t/superduperdb/shared_invite/zt-1zuojj0k0-RjAYBs1TDsvEa7yaFGa6QA)** -- **[LinkedIn](https://www.linkedin.com/company/superduperdb/)** -- **[Twitter](https://twitter.com/superduperdb)** -- **[Youtube](https://www.youtube.com/@superduperdb)** - -### Contributors are welcome! - -SuperDuperDB is open-source and permissively licensed under the [Apache 2.0 license](https://github.com/SuperDuperDB/superduperdb/blob/main/LICENSE). We would like to encourage developers interested in open-source development to contribute in our discussion forums, issue boards and by making their own pull requests. We'll see you on [GitHub](https://github.com/SuperDuperDB/superduperdb)! - -### Become a Design Partner! - -We are looking for visionary organizations which we can help to identify and implement transformative AI applications for their business and products. We're offering this absolutely for free. If you would like to learn more about this opportunity please reach out to us via email: partnerships@superduperdb.com diff --git a/docs/hr/blog/2023-09-12-rag-question-answering.mdx b/docs/hr/blog/2023-09-12-rag-question-answering.mdx deleted file mode 100644 index c1049763c5..0000000000 --- a/docs/hr/blog/2023-09-12-rag-question-answering.mdx +++ /dev/null @@ -1,182 +0,0 @@ ---- -slug: building-a-documentation-chatbot-using-fastapi-react-mongodb-and-superduperdb -title: Building a Documentation Chatbot using FastAPI, React, MongoDB and SuperDuperDB -authors: [nenb] -tags: [RAG, vector-search] ---- - -_Imagine effortlessly infusing AI into your data repositories—databases, data warehouses, or data lakes—without breaking a sweat. With SuperDuperDB, we aim to make this dream a reality. -We want to provide everyone with the tools to build AI applications directly on top of their data stores, -with just a pinch of Python magic sprinkled on top!_ 🐍✨ - -_In this latest blog post we take a dive into one such example - a Retrieval Augmented Generation (RAG) app we built directly on top of our MongoDB store._ - - - ---- - -import Bot from './rag-question-answering-components/Bot'; - -Since we’re in the business of building open-source software, a logical in-house application of our own technology is a question-answering app, directly on our own documentation. We built this app using SuperDuperDB together with FastAPI, React and MongoDB (the “FARMS” stack). - -We use retrieval augmented generation, or RAG, to integrate an existing Large Language Model (LLM) with our own data; including documents found in vector-search in an initial pass, enables using an LLM on a domain it was not trained on. SuperDuperDB allows developers to apply RAG to their own standard database, instead of insisting that users migrate a portion of their data to a vector-search database such as Pinecone, Chroma or Milvus. - -Although SuperDuperDB’s functionality is more general than simply RAG and vector search, if a model’s output does indeed consist of vectors, it’s dead easy with SuperDuperDB to use these vectors downstream in vector search and RAG applications. We’ll post more about the range of possibilities with SuperDuperDB in the coming weeks. - -** 🤖 Let's ask the chatbot to tell us more about SuperDuperDB.** - - - -### Choosing our stack - -Right out of the box, SuperDuperDB supports MongoDB, a popular NoSQL database among full-stack developers. MongoDB's cloud service also provides a generous free-tier offering, and and we chose this for our storage. - -** 🚧 SuperDuperDB has experimental support for SQL databases which will be greatly expanded in the coming weeks and months!** - -We chose FastAPI for the web framework because it creates a self-documenting server, it’s extremely full-featured, and has a large community of users - and yes, because it’s trendy. The FARM stack combines both MongoDB and FastAPI, and so it seemed natural to build our RAG app by adding SuperDuperDB to FARM to make FARMS! - -### Setting up the code - -We decided to stick fairly closely to a typical FastAPI directory structure, the major difference being that we now have a new `ai/` subdirectory that contains two new modules: `artifacts.py` and `components.py`. - -``` -backend -|___ ai -| |___ __init__.py -│ |___ artifacts.py -| |___ components.py -│ |___ utils # AI helper functions here -│ |__ ... -|___ documents # Our REST backend has a single 'documents' route -| |___ __init__.py -| |___ models.py # Pydantic models here -| |___ routes.py # AI-enhanced CRUD logic here -|___ __init__.py -|___ app.py -|___ config.py -|___ main.py -``` - -### Artifacts - -** 🤖 Let's Question The Docs to learn more about Artifacts.** - - - -To build a program, you first must understand its data, and a RAG app is no different. Here, our data source are Markdown files, and we want to process them in a way which is most suitable for answering the questions we would like the LLM to answer. Here there's a trade-off: splitting the text into too large chunks, makes it harder to get good specificity in the vector-search step of RAG. However, splitting the docs into larger chunks, allows the LLM to use coherently ordered text to contextualize the answer it formulates. - -SuperDuperDB supports a wide range of models for prediction and training, and flexible serialization: for instance, we might use `spacy` for pre-processing labels, `torchvision` for vectorizing images and `transformers` for multi-modal retrieval. (But the program is not dependent on all these models! “Don’t pay for what you don’t use” is our motto.) - -Once we have our artifacts, `superduperdb` takes care of the rest. All serialization, creation and tracking of metadata, and job orchestration is handled automatically: the ultimate goal is to make the development of AI applications possible for anyone. For our RAG app, this step looks roughly like the following: - -```python -from superduperdb.container.document import Document -from superduperdb.db.mongodb.query import Collection -... - -# `artifacts` are chunked Markdown files -documents = [Document({"KEY": v}) for v in artifacts] -db.execute(Collection(name="NAME").insert_many(documents)) -``` - -### Components - -** 🤖 QtD again!** - - - -We are only going to use that first feature, and install our AI models inside our database. - -** 💡 But Components can also listen for specific events before performing an action, track statistics of database artifacts over time and even train models.** - -We chose `text-embedding-ada-002` for our text embedding model, which we compute on the app's own server. For the chatbot, we selected the well-known `gpt-3.5-turbo`; now we can start talking to our chatbot! - -### Querying the database - -Our app is a particularly simple example of a CRUD app without the UPDATE or DELETE actions: once we have created our artifacts, we just have to READ the database for the text most similar to our question. - -### Building queries - -Using SuperDuperDB to build a query to search for relevant text snippets is very similar to using a standard MongoDB driver such as `pymongo`, but with additional keyword arguments like n in this example, which says how many similar items to return from the database. - -```python -from superduperdb.db.mongodb.query import Collection - -context = ( - Collection(name="NAME") - .like( - {"KEY": query}, # Example: 'What is SuperDuperDB?' - n=5, - vector_index="NAME2", - ) - .find() -) -``` - -### Dispatching QA queries - -Under the hood, SuperDuperDB can be configured to perform searches and comparisons using a vector database like the open-source LanceDB, or MongoDB Atlas, which is what we used in QtD. - -Executing a query is also very similar to a standard CRUD application, except that the database needs to be wrapped in a SuperDuperDB after it is created: - -```python -from pymongo import MongoClient - -from superduperdb import superduper - -MONGO_URI = ... - -mongo_db = MongoClient(MONGO_URI) -db = superduper(mongo_db) # It's now a super duper database! - -db.execute(context) # proceed as normal -``` - -### Summary - -The FARM stack works well with SuperDuperDB in Python to build RAG applications. - -SuperDuperDB’s support for vector search allows developers to minimize the problems with LLM hallucinations, as well as extending LLM coverage to domains the LLM was not trained on. - -Many RAG and question-answering applications use `langchain`, but SuperDuperDB stands out with its lightweight third-party integrations, support for “bring your own model”, and greater scope, incorporating scalable inference and training directly in your database. - -### SuperDuperDB into the future! - -** 🤖 Let's see if the bot can help us decide what to do next.** - - - -Thanks for reading! If you have any questions about this article, or SuperDuperDB in general, please don’t hesitate to contact us at opensource@superduperdb.com. - -### Useful Links - -- **[Question the docs online](https://www.qtd.superduperdb.com/)!** -- **[Website](https://superduperdb.com/)** -- **[GitHub](https://github.com/SuperDuperDB/superduperdb)** -- **[Documentation](https://docs.superduperdb.com/docs/category/get-started)** -- **[Blog](https://docs.superduperdb.com/blog)** -- **[Example Use Cases & Apps](https://docs.superduperdb.com/docs/category/use-cases)** -- **[Slack Community](https://join.slack.com/t/superduperdb/shared_invite/zt-1zuojj0k0-RjAYBs1TDsvEa7yaFGa6QA)** -- **[LinkedIn](https://www.linkedin.com/company/superduperdb/)** -- **[Twitter](https://twitter.com/superduperdb)** -- **[Youtube](https://www.youtube.com/@superduperdb)** - -### Contributors are welcome! - -SuperDuperDB is open-source and permissively licensed under the [Apache 2.0 license](https://github.com/SuperDuperDB/superduperdb/blob/main/LICENSE). We would like to encourage developers interested in open-source development to contribute in our discussion forums, issue boards and by making their own pull requests. We'll see you on [GitHub](https://github.com/SuperDuperDB/superduperdb)! - -### Become a Design Partner! - -We are looking for visionary organizations which we can help to identify and implement transformative AI applications for their business and products. We're offering this absolutely for free. If you would like to learn more about this opportunity please reach out to us via email: partnerships@superduperdb.com diff --git a/docs/hr/blog/2023-09-29-superduperdb-now-supports-cohere-and-anthropic-apis.md b/docs/hr/blog/2023-09-29-superduperdb-now-supports-cohere-and-anthropic-apis.md deleted file mode 100644 index 7b92f439a8..0000000000 --- a/docs/hr/blog/2023-09-29-superduperdb-now-supports-cohere-and-anthropic-apis.md +++ /dev/null @@ -1,77 +0,0 @@ -# SuperDuperDB now supports Cohere and Anthropic APIs - -*We're happy to announce the integration of two more AI APIs, Cohere and Anthropic, into SuperDuperDB.* - ---- - -[Cohere](https://cohere.com/) and [Anthropic](https://www.anthropic.com/) provides AI developers with sorely needed alternatives to OpenAI for key AI tasks, -including: - -- text-embeddings as a service -- chat-completions as as service. - - - -## How to use the new integrations with your data - -We've posted some extensive content on how to use [OpenAI or Sentence-Transformers for encoding text as vectors](https://docs.superduperdb.com/docs/use_cases/items/compare_vector_search_solutions) -in your MongoDB datastore, and also [how to question-your your docs hosted in MongoDB](https://docs.superduperdb.com/blog/building-a-documentation-chatbot-using-fastapi-react-mongodb-and-superduperdb). - -Now developers can easily use Cohere and Anthropic and drop in-replacements for the OpenAI models: - -For **embedding text as vectors** with OpenAI developers can continue to import the functionality like this: - -```python -from superduperdb.ext.openai.model import OpenAIEmbedding - -model = OpenAIEmbedding(model='text-embedding-ada-002') -``` - -Now developers can **also** import Cohere's embedding functionality: - -```python -from superduperdb.ext.cohere.model import CohereEmbedding - -model = CohereEmbedding() -``` - -Similarly, for **chat-completion**, can continue to use OpenAI like this: - -```python -from superduperdb.ext.openai.model import OpenAIChatCompletion - -chat = OpenAIChatCompletion( - prompt='Answer the following question clearly, concisely and accurately', - model='gpt-3.5-turbo', -) -``` - -Now developers can **also** import Anthropic's embedding functionality: - -```python -from superduperdb.ext.anthropic.model import AnthropicCompletions - -chat = AnthropicCompletions( - prompt='Answer the following question clearly, concisely and accurately', -) -``` - -### Useful Links - -- **[Website](https://superduperdb.com/)** -- **[GitHub](https://github.com/SuperDuperDB/superduperdb)** -- **[Documentation](https://docs.superduperdb.com/docs/category/get-started)** -- **[Blog](https://docs.superduperdb.com/blog)** -- **[Example Use Cases & Apps](https://docs.superduperdb.com/docs/category/use-cases)** -- **[Slack Community](https://join.slack.com/t/superduperdb/shared_invite/zt-1zuojj0k0-RjAYBs1TDsvEa7yaFGa6QA)** -- **[LinkedIn](https://www.linkedin.com/company/superduperdb/)** -- **[Twitter](https://twitter.com/superduperdb)** -- **[Youtube](https://www.youtube.com/@superduperdb)** - -### Contributors are welcome! - -SuperDuperDB is open-source and permissively licensed under the [Apache 2.0 license](https://github.com/SuperDuperDB/superduperdb/blob/main/LICENSE). We would like to encourage developers interested in open-source development to contribute in our discussion forums, issue boards and by making their own pull requests. We'll see you on [GitHub](https://github.com/SuperDuperDB/superduperdb)! - -### Become a Design Partner! - -We are looking for visionary organizations which we can help to identify and implement transformative AI applications for their business and products. We're offering this absolutely for free. If you would like to learn more about this opportunity please reach out to us via email: partnerships@superduperdb.com \ No newline at end of file diff --git a/docs/hr/blog/2023-09-30-jump-start-ai-development.md b/docs/hr/blog/2023-09-30-jump-start-ai-development.md deleted file mode 100644 index 81b547c93c..0000000000 --- a/docs/hr/blog/2023-09-30-jump-start-ai-development.md +++ /dev/null @@ -1,82 +0,0 @@ -# Jumpstart AI development on MongoDB with SuperDuperDB - -MongoDB now supports vector-search on Atlas enabling developers to build next-gen AI applications directly on their favourite database. SuperDuperDB now make this process painless by allowing to integrate, train and manage any AI models and APIs directly with your database with simple Python. - -Build next-gen AI applications - without the need of complex MLOps pipelines and infrastructure nor data duplication and migration to specialized vector databases: - -- **(RAG) chat applications** on documents hosted in MongoDB Atlas -- **semantic-text-search & similiarity-search,** using vector embeddings of your data stored in Atlas -- **image similarity & image-search** on images hosted in or referred to on MongoDB Atlas -- **video search** including search *within* videos for key content -- **content based recommendation** based on content hosted in MongoDB Atlas -- **...and much, much more!** - - - -## Using SuperDuperDB to get started with Atlas vector-search - -There is great content on the MongoDB website on how to [get started with vector-search on Atlas](https://www.mongodb.com/library/vector-search/building-generative-ai-applications-using-mongodb). You'll see that there are several steps involved: - -1. Preparing documents for vector-search -2. Converting text into vectors with an AI "model" and storing these vectors in MongoDB -3. Setting up a vector-search index on Atlas vector-search -4. Preparing a production API endpoint to convert searches in real time to vectors - -Each of these steps contains several sub-steps, and can become quite a headache for developers wanting to get started with vector-search. - -With SuperDuperDB, this preparation process can be boiled down to one simple command: - -```python -from superduperdb.ext.openai.model import OpenAIEmbedding -from superduperdb.container.vector_index import VectorIndex -from superduperdb.container.listener import Listener -from superduperdb.db.mongodb.query import Collection - -db.add( - VectorIndex( - identifier='my-index', - indexing_listener=Listener( - model=OpenAIEmbedding(model='text-embedding-ada-002'), - key='key', # path of documents - select=Collection('documents').find(), - predict_kwargs={'max_chunk_size': 1000}, - ), - ) -) -``` - -Under the hood SuperDuperDB does these things: - -1. Sets up an Atlas vector-search index in the `"documents"` collection -2. Converts all documents into vectors -3. Creates a function allow users to directly search using vectors, without needing to handle the conversion to vectors themselves: `Collection('documents').like({'key': 'This is the text to search with'}).find()`. This function can easily be served using, for example, FastAPI. (See [here](https://docs.superduperdb.com/blog/building-a-documentation-chatbot-using-fastapi-react-mongodb-and-superduperdb) for an example.) - -## Take AI even further with SuperDuperDB on MongoDB - -AI is not just vector-search over text-documents -- there are countless additional ways in which AI can be leveraged with data. This is where SuperDuperDB excels and other solutions come up short in leveraging data in MongoDB. - -SuperDuperDB also allows developers to: - -- Search the content of [images](https://docs.superduperdb.com/docs/use_cases/items/multimodal_image_search_clip), videos and [voice memos](https://docs.superduperdb.com/docs/use_cases/items/voice_memos) in MongoDB -- Create [talk-to-your documents style chat applications](https://docs.superduperdb.com/blog/building-a-documentation-chatbot-using-fastapi-react-mongodb-and-superduperdb). -- Use classical machine learning models [together with state-of-the-art computer vision models](https://docs.superduperdb.com/docs/use_cases/items/resnet_features). - -### Useful Links - -- **[Website](https://superduperdb.com/)** -- **[GitHub](https://github.com/SuperDuperDB/superduperdb)** -- **[Documentation](https://docs.superduperdb.com/docs/category/get-started)** -- **[Blog](https://docs.superduperdb.com/blog)** -- **[Example Use Cases & Apps](https://docs.superduperdb.com/docs/category/use-cases)** -- **[Slack Community](https://join.slack.com/t/superduperdb/shared_invite/zt-1zuojj0k0-RjAYBs1TDsvEa7yaFGa6QA)** -- **[LinkedIn](https://www.linkedin.com/company/superduperdb/)** -- **[Twitter](https://twitter.com/superduperdb)** -- **[Youtube](https://www.youtube.com/@superduperdb)** - -### Contributors are welcome! - -SuperDuperDB is open-source and permissively licensed under the [Apache 2.0 license](https://github.com/SuperDuperDB/superduperdb/blob/main/LICENSE). We would like to encourage developers interested in open-source development to contribute in our discussion forums, issue boards and by making their own pull requests. We'll see you on [GitHub](https://github.com/SuperDuperDB/superduperdb)! - -### Become a Design Partner! - -We are looking for visionary organizations which we can help to identify and implement transformative AI applications for their business and products. We're offering this absolutely for free. If you would like to learn more about this opportunity please reach out to us via email: partnerships@superduperdb.com diff --git a/docs/hr/blog/2023-09-31-a-walkthrough-of-vector-search-on-mongodb-atlas-with-superduperdb/atlas_screen.png b/docs/hr/blog/2023-09-31-a-walkthrough-of-vector-search-on-mongodb-atlas-with-superduperdb/atlas_screen.png deleted file mode 100644 index 8dc192c4d3f48794ef43e49bc082906bb5dd7ad7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 390600 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

}oT;60a;pz{y@ZT?H-4 zMfi3b-VrF3cZ(@%2 z!i0Pc5qFaUkzNvZpSps^=sa`t!M5=nv~9agZV6uR<#L!E4Nfz#7QM+?nI2g4>6g!X zBw|^J_CZFd7TVtJ8;WF2liS&WbUr^F)KYai-6pPG5ro#Hze6XB$rsb9iVUfyS#|If zy(qL!L|JHjr|~AMtO&5(-zZ~EGu83CE3m0o^R!9W-*S_%@pMl%5W}uCvBU0dTy#^p z%&%TtU~^S2!fIwXKd|><*8F_2iA%DB;Jl!82>7(sdc2v$B{&K=@SJ(qg28ldb{j|Y zFU5b2p9N4{+E8a@kru=BKa~piZ2q`P`PydY{p(qsOE%yG?ix6C9EYo+?#hvLy+OKR zdj0I-@?2A03O0*Ky3%~vI$zo;@~5p+^G|+!BYz2;yS5mfXc$j#IfL!fvUG(j0}2YGez+;Kcey?SwX58@*9^8vbDX zy5uVF#A8qQYKuG05ruQtZ^S?4J`QL^v>!tkt+wf$X8aGPQ0&{w4T#KN*3R?Vqv%hD>AVe z75C@(J|HPwJL?pzW(Nz)w~#E%S@iTcA*ML`5q^;+toZuU#oz-?lX30l-^$fL1Ejd$f8N{03~fTew%^7y7BcrPxoJke zS+!+ZQtvBKTO9{IFL%M|874%*JYZ>U->bno=eE<5#< z&o%QIV$zMJktH8Ole~Rb6a~2JqnZ(I@{W#3DIk|gT!mm48QT?NaWjTag47vafw!*C zaRYC(N7Cbz4I$<`w_GN63#Qx()vTkuGEAlpX*VQSW2%c$9}UrM(qkteAIxMs=H!$NKUmZs|bcPSGrrL9V8jc*>B8_6D8d>B8e@A)K@c3Iu-)rm0!K zj1tL{TSXbUzbqN@^E;m(U7_{*k%fb_5!0`5d-c7$trJY@G(HmimR@3=UmrJ;Druhe ztibHHh|;6X%7^q5SE68b=;tOr3-TNq!`S4uNv+}ATzm=PF$eIolT=p-LZy&`t3Q!p z@gPE@ztvuJskMGMIP62cx!GaAOZR}_HSk6GLS?o!yT&a1?(KJ3a7q`B#NXO8vidygz1mKA1a>` zUrCu-TD{VX0%u9V)tJMGU5(PcM@MQXb{fh!JS@?EA(Rk_8W=XI{PBTa3S#AyOqp9Z z3wDCakb)afYsHdq3(YeKA{c?Zf*?=oPOYTaP6Fz}1FkIb>g!#0S@jajFS1{0c7QM~ z-*Fmfy3Y-WfFIE8y({Hkh;Grrexc2d@EI&lGwk+md{Ja7XF}8LQ8^JG<`^Y*ahv0b z@X=b%a_ocZ%bj3X%zfd7;zuh{#n<-#B`-tvH zTG;jxL908;$S+TSQ+P1ceHeUd?@S6`?tgC;H(i>Dzf8b6Cc}RC$Ze0Po4||E#t#SQ zu|GHWVQ9)MLf>JBn-~M*dYrVhKXMnNpvJ3HDqik2q!PE+lT_P9<+uB(EC(_UT7U|v z{U<$#6i6(qF(RS2n1BB2;MORZI(g$q+9&_VtXdWOrZ+s6;jy#9z%WSh*>}f13-{xq z5iD8!Sd_$c=$FxtdU>}Mduz;wuD=(fqA}~QNW|ZJ*Fp?6dEqx6+CAzV*?_wwj9cQp zERCOj_tJ4~vS(ZFHeeTLX!d|_B~=d;6>Bw*#KYPyo=O{t4o{L9)~ zG{!n)tY#Q#|4_Cmem(JtFtl7S>urk^Jkf_N(N$GcOzx0j=te97W2;5R6$&MID&smQ zrdAdgu!|16atK5kg94pI`_gZ$jWeBlYg?_Cp&bwQMBKNerR~M|ywY+nZf{x^POPu? z@_LYyc_f*q7A&Oleb5w=j7X0QJ)fy&RTTHJQ28YNs~lPTG+19V;JnR#Pk3*0X0*vm z(~B9!3n!-6dVD&T$hcI9pi!YeT}JJ@`dtsU7xh{(+7LznI7;#{@`bZmmewP!s#oR> z4*^U!)5HVC!;0K(<86tQ6+dh_IsaKGMlHsA=vaNcg)L2zn(rG-d)Gk(-CpDW zmPcKXq~LL-9}e7-1)UtpqQEA*!TE5TE+We>@IreE$C52Rx0n-umLn#T!T@BOO}BhDAFlDYl*R(+PAY_X@=p`8W_zuaBpbO!aSKbLl>zK(O_ z&0;C9U!Mk$>eQxVYQ6lZ03N2U;V%IKjxqhD=bhS=d0HKR6g2)z3qUBh1%HZTtb=nU z;eis#y;6;O1!(L<3|t&UBA>krv=~IN0G!o$O;xaD0=MTt!s?MTQka?sNQ*ZS%Mw1W zDw)L$1r|}4_VQ0^Yi8mT`T0oRMNKy%O>t2^wlS0#-+JGo!UB40%=_;{?H6^;tPCEd z`bv)}Z(?lnLup1{vkd+M;oL^FlmlwZB0_;!zpcAu;Iw`~WFXx!lpUan1_Lf~~ zsUFVXvG=G)w!cJ7Mu=N5#8H-f5E@O=E!>Bkl8>%0qzhbxD{AE0ZyX7fF*^CTC^7h= zx$isJ^===;DVqpsro#`z%jke2GUONLV0wN!ht}oB-sM_N^GtzMLvaG~>vJmS=#~-U z2=Tl8G6}w?ZL_@F%!cO&#z9M8c#p(`1RSRyOPrmQaF)2eCfMNo#(~`R?yiil0?M1_ zuF#^vQ^Q2`%`_1B6|K8tEwnnDc`qvyWTjn8x zklm`}&I9RAW(+}Y{;if!ife1Oc_~;($&qnh(5+q={SvhsI145&cj!fHx1ZSdKzAM~ z4|F4xn?eZb56-frg4Ie~J8So9iEQ(j-_Lq5I>E`s&$WK_V+@Q&9^E`2iMK!I@S|?V zcE@)04T@a}o$`3UBEt)K5O1^nx)bZMhr+cwG4xKN@uCtK=A!i3{!paLz5BY8?}dQ8 zWL6Q;YwUMDf>;Uh!uESHL0v@T8_xl(#0$j^^>)OXaGLcONwWad$q8I${kcy?G>dp8$HC>>~1zM865Wy|DE7Y=J{*%eg zYov>ZI}jYG*U$r)G)V_KX^Q)nm%`7I(nWENhXxi>$`%aJ2*j`AOv?x^a zf9aC{S1J(Bammz0A*a-h1(_TRHoP6_DH(D_rSx{wcq~$sb&5#LR(F1!yWX0 z9*@L*&ryBl#Y_n0Ds~Q}Gf%JcW*BM*D{l)#7}-hhY&dr4*%}0tna;g?=Fd+;FPAiY zC1?QgV+iQLo&c-!rhD3jwIAcec_Gbm)>=rC# zZT{5POsC_F#F%CqE4G%*d@C?5uUa3hpS7WSG87#P6HyryXm=sEmP^y`I}bm}bg@(x z3hz_?mNZwj(!2w_)v%q)_@|D@=CJf~jtuYea5&{=1Ny=y?|!X=J%ZGjX)8e0y2u3? z{qX)MtGly$0A(37rA}+}GllraH20B34*v1;gPue}hq;T((?pujaT=~9aVcc1$dL-d z!&FnJ4y7W`b+k%7?a(8+-Wp+&QV%*v0ovLva46aP%ob?;)!WzSgpqwTL^x5#QOoni zGG-0_d^+^vB8;*64DG4RyFnzs^OV%^2kXPBH=X)=6S!E|s3#HuDD)u-+SD#Y zOl5eT665eRJJxFM!a9TEI)FDCJTQF_rd@h}HN!jMYj{hX)ro;bv(g>osrqe|2(S{ zKX`GY)EP6qH!CK+l);(0RD1~(`EHrJ$oGXzV}XoFk@sv**JA%Q8i8f~=5gzzxV9XJ zq{0?L=)osJabJY5l_;rjiN-o%GVif1o7t%g6%b1oCw5EV9-}m)gTbhoI*Vo{fBQCH z{8plXsq|~xsWSYBv$&k7#8a#hcK}VaMx%!1D*%eniQ^T3W`BV17jNlG2im@<2nbr| z)y-%{(B85IaA`AD`Bv_t%Cm6zZm@iV>n}h;7itp3QA%iCbSo3%@rN~SRq^L>!57O4l*=1fDw=GE4c&Tad~QEMNKt40=}9}`^KM_y<=(w9Zht3mJiAU@{KLnAT;j!I zyk=FqKlU?~o1>Whnov)O9Os+GO6^F2c(}5qjLS9IO5s^q2z2@3+`Ty-Wcu$WF` z(`i{O%QPW#lT=r3{gvp*!)~%gKj%HUg|V3`IUPVpK)f+( za@1(PJBfk^$>(42lj9sUB9DnLk$Umlc5OZ@i?GuXBncS5g1g8IrocQ0ukNdeC^pru zGs)@9aNHkmVlkoN*iYmf7*WcQ2QnoC=V4ctr7cx7x!wM&p|IsR3uT))^7%UEY9mA4 zp8v<%TSry7ZtcU0G}0m7RlrhmP?}#AEf~=+H zIRSf~;6Wm(UcTOvRu>02a3sNoBQB`#b5-_8ZSBGGz{xc*i(|PMNslmsBRrH76G|u7 zuje2zZ>c49I&ypjN$xIQP-Ok)uLz8l%{?HebsSL&M>{;6q>65KUj$g)Q-qvhk5l6f zXjedJMrRPsj zA?7ZR)0Hg`?4V<9Fu6=i_{bSHXlr^^4kHUWB>3M2@tZXRFBX|?*X%zTP>#~kupS@6ZZgQ21{~>|xf?e~rl}E9v0>1$> z_ca@gG=%p0`H$T$`rV1S zlq7NW+|dq;lI`xdcQfr)ISzh`E(wWOGkuU#k+FsqdxXjf^@eTrv%;oZH_UJCIt(m3jk~wHw z^13dP86Gbh9{woQOuu1*{M^rOj*;;#LEcpcRzJp9; zcEbLG>;|b~O6@%x(8qbSTw3`JXdbc7Gty+ZtZzZT9$m1#)^Uo(Nanb{H5jAg+tE;x zs8GF(dIyeSc7qWOu`DyVvXp_2^F`zvzk%8umkvhHrtWlP`dyvmI~X^!3jky|`bNuy z{F$W~_txt|4*qav=4fxz@A}`JPJs%b(kBM3V`QUEYUf4Fo=v8_ymSn}0yEK1qH&mU zzMFoPx=_)->t+iEz4%~$L$k_$K_*{=+-pJ-_=y3-#D(W%TMAfRE-aRPLSgp)I9crjQXB_JsyZk zG8;Xr`Bp>jE6G3M{Uyzkzon4r?g-!0xXb)MZbFCc=I8L zO0{_70``s4kD>8nn*JxNA0)-}i?&#px!2^jphr))Ie^_d{h-C(IL*wD>RXE_hBAWjc4pd+OL&3%0$UdC&zLfyl38Z8Xe!LUA=Ja;F4H0p^Ae!Er4u2>h} z>;^&fGvw1PM67Kg?_rNhV#_WZ`YbhYQF9PEn^BcB{+6YM7qN%cOtuX$nXN%grAk0-%F(uqMGr+lV(~C1?Lz{?1uoOz#tNShOD#GM-`gU>LcZAr%SPrZJj`TR zm9)z@P&*pPHG`ZCob48leLi7*KW!Gh=1bOd&%4W6N06esBGcZr2I{b!!A+aU{Nw4YJ_Ehs%pD3Za z%W3%6Tzjmso_U2&KLFjEr5O(|+Wp<*puVrcr=Z%R3BXvbn zr^oi~?Rn;zuj=Rt@eo!l_S2T&;v55$TlOCAv+q=0p4n)cipOe835VOUDs?^*bPny# z1XVXjQ~PdmQmG@_(C^yI-Jddl+?@?)9u?p|BvS@EV=XJzHs3LL0vQe+bOqYBRn%Q9 z?t_v*fA&+UEoB)aoRYfeeadn6Me&3m7YSabzgvdU?{hfZFXk*6K{W`$fmWa44q^Cuowi;UH&gp0QHD zw!S_*-^dvlnZ4FBxEfOQ@2ay0&_n=tCiOmJLjF`uO;~+%m-^8TF#NsposW|L)F?Le#8KwLpT4>jHg1${NokYAj@3{BH$|7>E?w>v^u_hf7z`6$M?!Y z^uc_VZ)#?qyTNes$&N^5Bq51alXjj{FGF()k8anFFa@jTIo<0TA12k~n6}J>n&H6e ze%<}9Vhv?9P^qi734Bjj=ccwzq0)QbK1f9 z{rlH+Jk$(Sz#GR0WIlCviZh5h1>)^brcOF-`_(o!Cf4yTS1%vUJN+S@L+S|Yf+j}E z>Tq;g=9IJMYgdvj5Af+N2AqV;?lZ6>dX}fqQTp&9uoUW_?-NBzll= zOuxuI)ObP*jwx6F5#u#E%7h#ch%?>fU2}aiEctV|!6?BqbLY+erw9Tpx?W1FM}H$c z#ldsxcln>Er6Z zIiq`)MpzE-ATO5)te{grke*79hK7bKu*Mz#!F^kPd&cvgvMrxKJJwk*DX`*j9~g11 zy^;2;TeC?{Ip@AjYxI3usSoukcnUDY0XJeT21P4OKk&g!-8Ba}P1mOSJ#zWsm>);S`35K0kj(mjgF?%%F`tc+a25D)lTy z(iDEsAh$wBpJi6@|0M>f`PE~DJ4vvDkt6+%V7d}YnQ(}F%I)8Kx#JR$#6GH)vyQRh zz&ySHi*v*o&Rq!-87&*K6sGSrtkjE$1AD@{gy341O@_#a^gs&#@5SyUdT7{@E2+KB zHg2}3#}BKm`*1Ju-WA#cpd3q~oqLhP#oz55p|QFTj!Ad@5_^}4rst>gXiIB5)ORlo z>z`}>KL(=@3|}t2m9a{!VrG(GA5ML{S-itQ@yFR>6lLwcIF-6@D+DMZ$QxP{rgRA+ zp790n*kvy6`;JlmRlnihW*;ElVjzA~q7@L(S5dWiYiyid_@xs~wo%tXr%n88(tiX( zzUn`-JHAdn+!_qJu8TiD*4cxF*i(_ct|W)wKL}m+K`bv4wNyhRUTcnmfs8WtUxA80 zq6!b%#m8u=bas9iV*Ec8M-EB0D9GC7*N+RnKax#EKWJ6SNNn4~Gwc9o>Xp22mmPnv zFrYyy(wdYw|B8W)N*`EUBL--U=TA$5Vf=SXLIt4*SudY{&?-2X9%K7^Wu0*W*OOFo zzCC7u$b1S84i2X*N$c%wIL!yWgZet~Rx;MyG=BEnw$d3SV`C??7g8~>ztqWJ7l;v} zb;v}rOR9kuApvIp?hZ$|u)?34yw`xflUg>rtTTZBWl!MmxVdm^Xmg*mViE*0^YP1< zaHSsMs6SkU{C~K}A7AY3gJydB+S~oV4_?#v-bZty?&Xy-kjj-bqB*0MgJzxmNh&2R zusRa*{PG_s9P~gmy**3k!uQ1_oliIE!@oaZxGaTkVFI(u2HsU)+dm}zpRVyr4gnA~ z!G8HPTIqMsfbc#bu~Bt|Hp@y&Q=ELFB>5v8{d)4>!x7-i$P1j z_4jIcFWd}RIF)N zV?4iMH_7i`=PBphXK)${xOVFXx(Dv=ttTqaCjstNX& zGXQ@EPhnfU0}jhCX;ntP`2?`eo*w+Gz5&%g9<8eXzaOoa8P=1;>xi-{{aebo2mbP# z#V0_6L8dE5fwTS}>WDYb`meClPVru;;7uWUtsuaWdQGe&^&Ivzg$ zVWG+Tt3TqI74v`3RTL1q$6rxO6@z(EVmPG!-aUl<(6qn`lA&IZWUAoiqt!oM9`Ap7 z1}tE^LhpkIoz3l=zYp=k6leFTYZZDb!g08>$5|JC1oPlL?ON76zQ9r-0r3#Z0A3W{4?pD#=9@^+=#kJ>X=J|7O z>dcb|8APF!h={j>A8~X*O7iy(^^ar2NdPcwf=W3n5IcXW(iSsIm7ndz3ut5|n29qr zlLC_p7_{u8CHOVsbD`D8d*0)v`&s;VF@8E2nzXjb=ApR1E-D^{d@dIjEU zB&DjvgyXzYxW@(sGsfS3!)<^t?wECNG7~upDRSxN!Mxo$F=&2fqVKj0zklia@U~HR zW00nYQ_W}f?DU%+uPaIEK*EONRTuA`M@qqZ_pims=I5pIxz)^z4VVHMHH@#feC;xm zOq5U%BxD|d6_m#|rhiWioZ|c3&c-H||5b{N3ZfhzW085CJdnR8D58DoU&zm_B{Ea!i)r;6-+9n z3lx?Ef)zggcq_$kI6M%nD7pcS01EL+kxLbnUs+j!fMaeq2*)lKU^@g89^%|y8sn5Lmw_hrcg!t@xH2^NTao0;>6xjsOYSG? zlz{&LhePcfgZV!Z#j1=(%*YrLxHU=NfsjXO4E99(X91{cGP5VWcCtljog335c^WFR?eWsr3v|K4FpNC35M zp|ZwoJ$rIG@7tAf0hpAK`L^{s}*iWgi+f4m7yp;w9XH_vNe6N9z zRpgpH$cuLY@SJmOqA&#~8cFm;m~78Pg}|ZhnMe_ zHWs;y)A0Wu3EZ3G4$!s_LI%*5dHrD_8yhe^#HZ;bBdoQ0Scv}$BZ2T02JU+8HNRa) zII!;C`EA(ekcIP;vNeN$lq{#0g5K8NSIluD!kgFuH>(Mk08_0K)tUJ}OtPJaKI z4zup4t&du)EWNrhSjb?7Av(IkrTna2=a~1TsGXdE1^*Bbio*Im3yui=4~9(NH?0p1r*6ngF`Q4H=3~qb&7oMKJ^_}|fFe2=StNfm z9gQIR$jIE+wNpRS>WWZ7s9r0bxck09`wcZn$g~DG%l^Et#gf^8;>Gj@IcUIE{GL~cWe5Ko zM~jS^P%#NyRjg38kn!>H5zbu^r>>_yQ9pRX!`W6hdJdpjuVKi0VOv}v0qY*OS^mcN z2fh*o=RKGwG0V#q`j>;>eMM(0 zYM9q=3*;whY1DAFv_kQk;AZrU7d+hTp7+(1b6MT-@w(^uXkQbkX)Cb$_)O#(LRSC~ zEmq#Vjl%uCB!tBd@Pxn~1LEW@R-1J>8OCIym+hl%g|#m!YSF0roK^rnUzjiU6^)*N zds^1L07vsnsfg7)RBMvsf&3@oV_|Nf~qPTxhsI6H2?l10ZRFP3><_C;;+EDC%5Lu z)s+B*9ms2hg3$FIP^9r2na96tdfWlFvAo-8zH1`S|NUp(BUeC)$yTfud!!#CBk^fz z4()wc@Zp)mw$VtRLVmh{5O&Mw8t&n19Ha2>!=86yhGs;uyubq3kDVVs{1KKomxxhfdEH7$Q?C{D zfHvMaHzZ7086SXY5VqFC--G)UPth)5hO-nvlTK`XFq7)=@DLR=z$oztL>c`zAd1)N zGoW9ZPXZp&3+A0+!~KJQ4gS|N$OUY&IP+6{JY`vnpdmmGAV5w3?^0gVRg!s$ZiB*8 zCO& zrlRSeguZbGQgCGYTrJQqOrKm9sC~jv5L9*l=Gny@Kc+LP`_#=4dr2s3cM6U>JE{A$ zv~1)^8a{dz4T@&XbA2DMHeN5lw~`L#EfvDMrIC zc@Zw(%!)1A!!7OWzJ<)s)~dTTy<<@*M5TcVil#r1!o!(f1j59QL-q;E@1>4AWQ68= zfB~$wFJaVr7tBkI|0u&UZA79b1oz7Nx_yh)4~)C@3+Im6`WhV`-s0*+u)yNld_Qr(up-ylGc(QGIBnj^Oorz= zZfV1LlV!d+=A2->Cn@w47A2qpPE-6!PDpz?{2@t_u(QEBz;08|T7-@*Eg?1{!G>8T z4nL;XQ&7i3{mMSM&bDB=UaI-dDV9`a(t<}{l}m)VH079k*4$98EV^K0KkmGF)~xgc zqf7Kx!Pi>p|b0ToqsGx2hWdGEsQk8XJp46a?mM|UnHCZZ+EDu|zCr48$O-r6j z8p)mb3=wdR1JK`{THle zT1nm_4Q`|i2(Y>hxn1@-&RSgwtQF#|^8tfkoEud_J2n30xv6zw+1j)n2cj-=?k!SZ zg;uJ^RDRCmTNe*}IrY-AEA3!fKO6V1yp%w5?h3h$TwZwXK651PTX#L0F8kKgW!H2b%1^RNt+(ifnP#;&s<95G)3x5$YV;L! zcPEw!XJztwt>EtvR>yVTJDYhny`ej?Dl1(vizZ^y>~PKLg1P^r!#m544!(01b6WA- ztv{!XxUlr%qj`LybL5(!3{nM@P5E5W zwFCqGFO<&L3eze?qUnSH>3^2l?{b~$=_VQDbN8!INlG&*b8~)?F(wTAgBfsN=!(QD za>O^7_aWy?itjD|aCI=pf@1hBOkaaP7k<^73N5pZ>usA*ZBselK^ilmPm24{)Tc!m z!!T8X?wQeV@Wt0ei-)1tV>CQnQelx<6CxWYa>qdJJ<#sf(^J!X#39LoYh3Rk)a*^n zkc&!(KC7-g7N=SBGc#4r!sr`x=5TEPN=4;oMQ_HO9_+=oG}YH5bce*tTF<$)kPtr8 z8h>kNQkiXR2SeGu#1p*-Jl1OhViLS1VfJX@7>!Koz(8lum|G0{omj_yX+ia~LrDc> zubWNKFWV|yhlP{gr=uaaN(~L3GRiDTDH$6~R5iT?iyLVq1g!Efea^3zl5pii(WxK0 zYh+X}&^YwJ_??xq8kPMJSih(dtdDkX(}@!o~Zc%`#cr4&c~`pR!HHI&*=$Wg)EWw1=4c@e%4;CAa1#Veo_Qz*q_Ir zflbDKtWDNL9A<1bo(rCz)%id~aLZVl1T$H(^DGE$YeY*&Shg$nXk3`w8yj;8v|qKH zt$V4cE{~48e@0_hrqtR7-)@wCShCKrFk54%ay^cb2+>n~)@IbJDdN3Tz3!)i`$?xD zpL(s@7B{=bcj;Y*IJcmuZ-zbFl!sp_+prNv;=r!ni>A9q6cx!#5|%`rRTvs;s_dN1B^VcXh)hkv^;UEcu7Js;3Lc6}J&WnmEe-5R6ik)SE-rFZ577d1+C#Az zZZQU@_7QFd8w!$f$BVWa3>GircX}hJO>dXVtGUa3C1H{Om~;9k!29AH{|z|^W(MFU z4FkiAtA`lARYJkM6ADH2CcN0F14>ww3cc2HG0wovvx9D1?fRo2;pa}xc+T_7Qa`PF zGF~O6Y3s-ES2|}6P;=VNG3xg`c59&2&AjY#^Yr{xZNTXd+!P?fM#B$+sR`z0Us50a z?A{hLIc7L%YH3`k1XZ|_v-M6kHJba@=o4(Rv9p+;F|2Ez8xqBfp?ThBPzJ0dB@KL}W?01D38S%Z`j!Xb zDXt%M17XvvYLHt`353VmaCxj~Q3Xn~VPuB=j7x2p+1VTBXKcB-DJaHs)4iKdF(2KB zeK#}R^GEo>3~?f7oFq1CO&M4yr_v3=p--F91S>R-67rh_KZf~sYQF@>pp&?=s5SK! z7WF)~E68}{_hwb^_O!J1MT-|}-Nf~*5QJB#P94G!RxxtybP2}T2e;#vZ0L(ezl11@ z#G}hWAjQDm6|`>EL3?FI1Z!By<^}o%RTNft~46MJh0tfm~zGj zwn%P$QR+Uby`e(rKJGtbB0)#LqIB3Ah|-VrbZuh1yZ`O=3#QXj1-fYJ#x&lo1V@( zjameOuthPC6(`ZrKKSb9oL0Dz7^hhpC9_~3LNu#@MCeY8tIVz%OSV|LNY!#v(KFOC z=`KpPmN?e)I*P$A7$nn8qHZ<5HjnK-bEz7u=pdkCpSht>)^tn$BMKUuQh@MXryw=f zwtcYt-JbP{Mg9 z_)j}?rz)JMyjy32B)>R1CchI&KF`n)N%U$|e%ST3QXpVkx{CqdD-qM9?hq>F#S}UO zHh5m85Q_mU0PuNk-AJ{?aWI~FyRF*vOdh5>2@Qh^y5Pe+GG9ZzRrX^Qn->T?XuLzL z&lRW51&rxX%p5(dxd;fBqEoh7CLK7BR~l12d$R2sML8EVNsNNSV0PVr#VHtES_*l3 zW>_~}>sjdd8xHipDBBlu=RY+7-E{cHC$4X~nBOirPkN{9ZJcL}azf$S=M$leIy$0F zfmY28JrIVZ2;-`fh_iXP$UYf?Yv^p`Ix#mZoVd{JD#mLtT(c?PIO9ry^Fy;gHVd>( zZKtN=q%31f?M>nNuX&WdS@;C79!=!4*RSK07)7L@%dPRb4EDb$!mn#kff5l|use1w znhx;H6-ujy*N67!?wiG43l5cuyYYcjDRO@QNc5c-VH>Y~{2{+uZR-x}qYB~c+#Ll1 zw5reyhty#5QZ-|lEsrkHSiPTW#rNu(lQJd}>bjo6y*IbJP-C8QV>21wCA!qRP~3+L z@cDzK`Wf#qGUvjm=A1IL3FoxIOPga!tLasL&XT~7%!Br*b3fU z{byE6^|P3w;7d< zHeYB$njz-i+nn5Yq7|0oRF(Df*U}CZBaM;@{Miw}YNlEyhuM9%3W`gcn0jc`Q;*CI~OBf_!|bO5u=y>VDt2vljNyPeBl(*#-)j22=JO-=5j?=a&o~uhDSAGjxr*pZa9bw~BKXxFNI#Rz z?aCU=URDG`At85@QK_r4YiqxE69$MqgITYZX+OKdojHuyX`s{AXQ=CvEEV=8QL*Z)yzbV=pqPEY5ZmY67OM?0Ty&_#$qXTF`mCsK-z>z1`Fl`wD#-gp28sZ8V zaToH7KF(1`BeeX&8Y7=_+|R!z=GlZpINnClrYgC-KoA&C@(w1;fnn>&xUpBUqIlZ9ieOHP;VWv37%LLdQlQqs|H*oVw`S! z7Nhogrxy!S;2yN8nxWkhnK{$1xXwj&o_%jK>HSocvm>Zno5@+Gs-d()C(X*ShA<Yl+aE`^?6D1# zG&wYhl9f@&ZF@5b`FhR8hyHUiJ>c%?L&Nm9F!Q{Eyq_!7kuRB<_uiv|_Pngazg^o` z8Gc;Ft-Bbtu=v$G%v^PO+kQg_v9fNQE-ZnY1^J}bO)|z@5@zZ=8|D_TeG~d5wjeab78jcHKqgo1O zIdbvv?H<@ipcM=Dz zZTVLb;>kXXCguS^nA=YQqRyq>|$LK30F~XRsw=->-?^-H}rw_NVOz61lK9lzxPIag0jX?Hhx29o6DR{lpBnvhy*P z0a@OQ5=H>G?ml|iv1W*uM`@J?%k3L>Ge?9DB{Dx?<}}cTe2lVqsNd+eE=~_i7Zt$g zR^)}=o`^52bK}E0j0yL zsF>zRMv1$RKQ;_OY~sAI$8Oxo1$w=j(OeVLM#&{KF>AW~cCIZ>Wr?Rqn+0tlCXTERG1gw;S{Yxt4 zZ*#MiTEsD&URxvuDq*P$FfIPO7 z9|~QF*vtwd6Qfgj_J(V?ZUlV0p4%L`NA{rQlsHY+*0YEI`X}unjR{&fgmCrdOngu zGxA)}(gUv$JeWtcj<8OZas_S5SKt?8eAb4~T zmKYc<6aI=K|Gl(nO#a?`kFL;$LoC81<$dxu_5{+4k1QVBnup=RS|6G=)f-W8;B#`s z>lFBvwFrpdiPPYi&4ahZ^l;;wO1*dTm}woE-g}_6Kg@lKPEcxs-bs&BQky!&c}l<; zw_K0l^jIadtqaM?JJz>ceIYci9L1`{Rt~-yhc2m(g!5$P)Z)Qbgo5PzV}@g&;f|#q zXIUl!U4gqvKM)z;%Z;?PxeK>4n|%@Trq?)hA?W;yOj0*?DiR{WKe93vvwofF*PeaH zWuy3n#|d42!y=>lL1ZUEgChMi=-?rKu5J0UV2|TjKrzw^8Ug7$s>SF?h+RPquedfX zehrfvPoh%KZrFzJfHw-qCkSqU7NTh4)rZ5e5~m9|vWQd#Sa4KRvXl3Wk0R}Tdju*) z%GY108{eUV*lQ=jkN4OjIeoY&$Yz?Rx>ME63Nd2vsUdBR6+%3wq+gXXvPxNNn;U5O zBlp}psbF7>$;#*VF*FO=9P9JlkNsPgJ=2fm^z>q|;r?b>3JT0XPvy0yVxanoy63NAB`Ru%P%bMXi$^7OxSDVQIxsp7TWNpdFq^jR}wFVgA}DTtK{(ng9?%}zE( zEI}0&AlyyRl}imt{$U(&lDhJ?WTLuF%=zxLCfRd7=>`Q`T8!Y>_U?vo;lTi1KeGIZ zmVnS2wc^WQHKkRk|64BmyF{P5qh42n>a@I4A-4{M1=uTw&t1YC{p4(ib z@VMSST<9xFsLgdCPVTdMuur3237s8|v`cWbzUG$)@tB>Q#AvzRfjL+RTkaHiDaTus zTfA*aI;NJ#Y0mm}YSeNE-F)3uV^7}T)U__Z3#`{`-C9#O3;bSGHXt*C!6|0=rFt>< z&?&WaYEYAVO^b`T2GfkYwH2+qz6-Ht?%3>(kFmt?#O^Vbgo2&?qcwZpIlnV41tio3 z&@tf(POa1XDr@{$T<2+5X16qfr;x#SwTHpz-w0jm0x*qp_hcECq}e<|72|^Zr14MP zEC>|01owe{YMg9wP=4c8`<>512^N*~I36hu<@6H?OB)qhky+@LOHaTi(jK+FFhA0$ zgk%VBDG_2|O`wJO_#!wblsK4?jhzXXbIxBKg~7JGA;66v1NHp)ohp5uZ~Rr^XI`b5 z_XnE-3sF+Mxs?bj$Ufwhcrs;LJ$@+Sc(CC5y*{vK)GKs5$Ejy*8(DJtZX>nUGq+l7 zDySleYY_+|elLK}+g6!^J4**y2kddV37ny#kZ{jX%4>+T|QIV6~XO)z#l(3G%3i9I=zlalY+bNkBd%F)O*w2d(U&BLs5y`&bqEaZ;?A=qzFXronU8( zNK4yzPyeqx7bOTp?UAckrD=T#Zxd~Fyt@Xo3Sk7dwxH?9+wH{>lB=@UX>?SJ$(E%o z74TOCWKTHOn&5Yzk(+dW4lVenxWLD@+X_w$u?=k$2S*8D>|Z@2zg?ZZow+{d?8uS7 zp<#8LWvJf*7X_;Ix|ZfY^!A@%U9gObcZ}hkGSuc-66DW5f4)^`TN}fBL++=;+ad_5 zz0><@)nwqCU*=i%1g51k>N^l2n(n81j-jV94|(I(!BQbg7H&>KFN{tYPEWDvQDvuK zwWCOE3IGwTRx^Y{$nMNqJc;k#%dNV8oS1p2OQsWVtNB{1lrPDmBblY(ibKNQnlZUy1Qk+t3%^KcEwaDv3T# zy+tlE7Ss?C`!3za71XOHZx$kN9xNZZV$UlkcMu=piQ_2K8Y&P>!?^@`U?i=+U`f8Z zC@w_;-Hs?zB?I|gUl!u33cJ4N5k(Rgnr?J6sgF<`lg$bCoGbo227U3`IV@O+W@u0#vj zUxd?J2WH_uZ0qO9^BsPaHWF8l^DsWjS3xeMIrr3nVx$2nkoZQhFemde?4|`ok`Rlo zH;L0`bqQ#E@$ChZ*v=)N#L_^}iH`^J#>v1gkLqb!t)Y1dzp0<a*-kpr1Rig@fBVFZ;x*4`~tJ)S{%ynRI9OsAP$8R6JRgo{Pr zv@LqOvUn^?*2!bzuOu>@AFXrS9d&1Vp}W2rQ$gUC@qJ?p2iCf4Q7IHXHejE_zVJ5w zffN~EjlMnV(%y)fu{ zzh^({02v|8@yE4)ao*rG(3)*E-~Dw}Oz*9qR0@~N@V!LZpU-bQqQ6GcEPRxdnM$vo zgo09eo(39Wawwf=&FjD+<~nBrApP61Cosfep>GnjMSh+VWwQjZR^N?J*ig#7xAIgGwyNW#vlm8^mI)?vm?oSrEYZl z5pynrW$Q;^ECjmbIM^es*V0{w6^rtnF&(5688gLL26WEJF&*npua?noKiwv!z)+lI zerQqQXdj*$d5&d9bg~C~wt2UEi`A0syO|K%ShAfx4+z3+*SFA#;mxl&Mo5bGgDnMO z$_C3H{&HoJ;5KVzdBpNfLZR*qJ<~g^=%D4D{1UR%3sj}J7Z@+nmgFsLSvv-i0-nf8 zcbPu2=l4*YPD?MzrgV3iID4p>+uMFqr!sEdw5OPAHn+jy{wYpLougTKCLbp@WtX)#?Tf&70R#K4Ow=a>gNSaGHf~ z=Ix_drP-!@JEP|n`N~BS`}lA{jN!Ah#M5fUmtZV$Cht3$c#oz#4^F#U(HzI&_}xgV zu_zJJ5aDNJxie^|+H7Pe)J&rfuY#`{=YCj`9e!&nC_3{}ggSI0<9LgltaX2Q0^`qN zriq;BLOhI*Fc|73a2eQmrPXKz09r#~%g?&cgG4XOWo9tSiQVx~U)du1bBYaKCi>A( zmImSD1^a{?<;Bz-FZr#qp@~R-AHnfGsB7JL^bj|j!0`+E-P^*dZ&R-C<<-7?#v#lZ z_Gc#0yljr8;(-O@lP#+-XAbyf0=u#1&(}VW!}-IEjW*EE;V2?>9(e@Px*_`>Tw`9Z z#VoAQzlI1FaJon7N`9@thNz?L@rFBQvgA&Sd9erIqz8QI&IdMb85sn&?2+v;!jP!`wYwo2D3`tCrL90WCpAt}PR@nWYciGTk5u z55q8V3c`z)8VE*Y8iVfyT6ZV|M2#r5q%U{Y;H;aIvh+?kRhyr2U{{6Iv?>5h>bQB@9}o-72xnyP%r)R za{AEtIxvX!nk;h!aZ5L@8wuB571v$>C$ZKjgtss#^+6gs&LE6Ny5Ebw(XsjYkI^Zg z3!!q#nHs07YI|76S{wT7fmU{dJqUz%VgLLl@=l4Qp9r0@v*|{ajCRKr;H_dYrLMl_ zeAGO*qGbI}a)uN5P9Io#?WT~cP**&>h~WOj7SeK}#=II~JVz-?48MKoDUBRfa2w)*+^ zB#{eBZrh{h8Gin$C;T{G0>vwonvKTrA^7$8R(({K@7fAQs?Zuf%nfo>Lkj5E(idOi znS4{1k0*$cumn(1dzM5^R4cy7`Udoig9!X6IY#6ORv)F2UloR<+Y@Px!*D&<;$Fbl z6f+BZV#1aRv>s*>tz!{IwBW(oPvB`=6!$sz{=H z*RLA((-V}4qy>72b6q@F9ZkTjC0?$pVwS8X?*WQ*C)L%q zF4L^Vx>px2Ph{1CK*8{4VO_^u3x#vyQZ@R?aK@vrHZhp|$Ge7eWigspZ>)l^?*o}kZNs{foW1DLdcJDi8W{RjmpJqGZy zC@FW65~Xf|3`?*=>W>=;nMKfWI1R|5J9fd)Nv^5vQVk7sU$5@LZW8SgZkee$nkEus z#0C)bzzPYx?#Q|I=zjLVpX0BQKrY-#PX>|21nM(a=QsWrD+(lNVrQrC!3t$#-ZeRs$xp1{+Yy=rsY+Ipn>IA!RH(u4g2<) zjy7KAdj6LO{pu;4YsgzZh8S!w1w_eef0@QAE@Ziug*XEa?E51W4i{qJyS*69ZSG58 zOUmb&kq0ZhX?(>O>jqXRkmQNlbcnP+@y$(b!%?S*n>Dd5*7Fm|LhXEs>9x;h^@gIm zu*m9joUvtHjP{S)?@sSTbe`tQ(tG6Z|9`B#1yq&Yx;CtY2q+!W-3ZdKNCBn0TS@6$ zG}3}1UDDFA=_Ono`<)Xu=+ou?h{Sw}LXp4GfZHXK{dnu+%vM+k=qE7zoSDg%^84Qg9>TwYm z$mtoOR2+27fW<=B)%zvffh8F=p16Bt+m74B$Bmv|dgiFApMrU{J$d?KA&_#}Pa27h zGE_NbM35&QTb1}_y?=w@Bvj6UL0nslEN-R8$vT&x=2*M!q=0p7TRVg%RMfm+xeqk) z)z=)+nD{XcF#cyOV3tSkQ8FOn&xDj5Fd7sl(r+UjbQ;Fiq8^DiyA&QeWqbGYuO%QR(mf`lv}tI1-K@?=#;{~3NR9R7t@9!{!l@S} zv1APs9?iCO%IwI@Do~WwFY#IuxS`@jC#(|$Ysde&^=KwM>WQM1v_zovVD~qdUu{7+ zaKG-GOMPleWk^}-VPPz~q?A#?8jf)&$Vp&e>mi`m|Lfkx%-(lBMu1Q-KV4qvyi@)spz9|syl_bc3^dbCm7uP#6@i{q5tonn{ za=>T1+7wZXbr~`1ce{PhBWqpSb1dOOp6;%2s`_;Li$qt^S9GNupL8F7hOO^|g|)dp zwX`2{vyTXLiexcFUYz0H-F>@XH=DQW6b#xpA^PxZB3!75=GA3m&1F;kqQJrd>wn|p z>wt|xKPBz2Y%#VPj6*`QjmoQ-r);sX`E=Y4;{la^dng{{dP@GovBA@Q^Y=Jc)W%NI9VzjlRJhWl~gZ&pZR zcx5K2(hybc##CTm^oTX^$Jn5#$mn(yX;6h;JL5T#Sniwd_BtODui6oED$<=r{*XNL zi3K;`9}2JdPU39?#a27~uhd_x%;~!XgMK1%h@*gG{KOdb+YOKdkRH=4e@A?Y67)bC zAE83b!TWXr+cM9ND^#=2A~BDTUUJ^u&A{*lTPl!hME`ovOCMs$E~#LWKD33J@gk7~ z=&>}RFu_Mi5tl9E6EkNs@Iz>Ki95tE|Eb%=jDpNjI2r}{6t~>+lf?9XGVaOvPq??| zEU!RC*5L}hW-!M{hbW@2(+%o;p-PhNnVo2U;=?G|U7@``B>fJm0biNb#oGN9-U(St zTY%-XG6E$FS_`}y-@AI0y9QuqEadM=V?7A|wBl*|IG7q){{?Xo7nZ64GK#)Ok5JO! zhiC63@~`-0}%_;qO4fh$lQU1^#w%`FBW4ET4<)B7f7q`f{WS80fxx{D)-re zEu^DRz)nYOyIj%Lt0zbHgYf22GK}iKiM6l3HV+2vk=E)LY4d`U2MU>vj*V{}M5Ss+ zgmwM3@89XyKIuSDjimJanNtXfYGu@4p4q>XR-}1>w&z?F4C<2<}kS(M`^PNoipBC*zx_9lG`>!b+Sx z+p^zbVmx+;=Eb3w)hfW9$AmfHS2CgP+B+A#-%HJ$)sgydDqNIUY9)<%t+S09o1+;F zs57{VAC*zwQRNVc`hJ-097UtvU3w?t+BS0xad6ZjIx*!_bM5B0BMQeJ4GaR2secYM z2rLn`*Q)!>ZhAG6G0ejp&&H6={VG0f6d$gyQTZA4MBnmqhLFE?UhT--84iM*N)`m- zz0nBR><&`cUNqYTPv~}lHzSH_CN(mH8kKjV&5YjD1F#qO4O*&WLS6`QX$qsqP{S3l zgUH;-^%NtOVHGJPYln~xV=${YP&2DIYP;&k*%EM!6VA%1%o9Co}O zyckceggsK=3mR^9@E=}(If41*SQsm@JvS!@q)^?&5|YT=8Bvq+DKiMzJr&4Ect4KO z3E*GJnD`96_rE&E`M*J#?)+emsvwLMJsh4q@OU~zP%16rO8!n4PR*&^Ex59}Cvvs! z1s?E^vM5FKT-HRCLhpKqKi*zL&Ho5~l~&zV_m)_(Ado}4jN5$V!HkV(mZqK9_8&F?X*7=KMh6;KvgzRsLWExOG`)sUy|`AI z@7sa*>II7it7hYT;sU=>{S6iGw%~@Jjrtk6P?I|WJT5X3#(k2g5WabesR8uV_kZwi zRtjY!-UCHgi>lmzPMJla2A{REa~{jKgGbKgITnF|9@|KbB&@H+fM8$)Bt@cGP8^HSxS5mNZUT=A3>^^>8S@sE4$^* zZ3CMwZ+F%{+`p{U4^s8XWA8NI_sNN&$eg=ma^x=`x7>|lWInRcpkJ)>1*A6_m0nhLUl&rB zJt71!0pB9rq0%I-Vd;C8-FV^lVR{`6+$?MHLREiwi)V`4OtWBZm_+^D_*h;IaXJ-y zUq0$%*wW;%)}5V^@=}%sVGNAILszX$9|yWBC`=}vri{Mj=*v>5wE>!lO8_kEQh^Av z7TiCF8&`Oar+wq7+ z-=Q2kbh!p&#@75J$)rwh=xsFfV%_$D(ybUH)`m zWZxTg#gBZOE}ca$)YP_}Cy1n#w zGPa>dO_(oz%=R)#QkFlo=^3p9=<&|DdXU2#!RXPI{x3%^0)n1tJ~J!aTFpY{LB*ykkshLo8_VsZrTGpAD}SDg;Y6&^BOX?q56En+%73 z-$HvK!h#0IAQNF7{@^-xEVeYJ(kp_b;(1+%2F}9cOMLa)M7<8FT0yM3v!%^PLT$5Sm4Nkk|#$^nbO z>PzV|dc2o1cDj6fDm30)YxFwOVRGhl4g>tP&-&KfMd&KF{Ug0t=Ez6-fs5bF`hR+L z`xHsNK<&OjA9sPiDJL!-z~Ekyg+nTAk&3k^U?=*(akRxTg7MMrKbaDlykZ4`YGvQJ zFRkXamT-)NfUEA%25GSjkQkvKORqX6e^U?oPp>3Vfc5XPV(Nz%R5^@^-_MErb{YGZ zLSGAy##D9E_rZ$9;%QQL&2kGad#92wpIIY|yQYW2BHa5TDtebIY8T0AYUbW|^bSR! zrvvdg*6#fnP6fM8qW|lf)PEX7Dh2|_WYM&|%~|YG{Qt4 zAM&X3^}_+NG2hI{EZ zZIS3)bv|OJo6^8qFR()yPdmi!5^yE=lAunX`?&i6_DpEXlCxWSx8r8l!@PIqKqy8` zlS(X8QL{l!pW(Mh-rs-w_Ci`90?`eR%gK3O`R;)FV|e&ermr6l!gPzjcL_I|vCa#h z^$27=s}rvGZTAS}u=CR0SgwtNjant5BaUP7GU1+rvs9KvB(5Ck<7V{HND|Se% zfBoB{!QUA;{%Q)8^w{EQC3=4W@)=kZl+_)^lxzn`e7d#Z(|6qfYi*HV3JUzHhH=IKhKe|Nb2o0%`G zDwC$v~4_trBd*a`k0SdZdg*25hE zI)aVH2JN7xOLu>gbvRCS{8?bK7jG6jMv^$=NYsJ>?9HwFy}8wj*evqLYbVBy6DlKL zoF0?ftUtJ zrx`eNyyU1+t*C3}JOUztF$-ai%23Xt0^i(q3*Dyq?RWmp4&x_7`V8b|W%v4GppUQ% zbgT(WMj5wIcs_h+r{3YHA{{9!{y{Kk%+sQt?avKj z`n6S1BjkPX-NRT@+GqPLfTi;=Kc)2lNez75WdXDF!ykW~67(22PVXh$_4WKf6X(`{ z4%qsCIp7G8j10g`70+v}%qoO!xa*(7*ZC_I^5m+>zYyF5NUNGF!Pf|AlO9BLlN+ zl~(9$G_bhX+sU?QU^ef1ng-4!|JaKzvjACr zKkQ3b1SbL>Tyo~=iqpS&xBoiA2L4-CfFCy8W-fu2i=gN)#|Ol%s}1YamHa>iQ+fV$ z{qXle`rm(&BAWjfpq1=j$B$dW5aGvMof-vE{zP|Xb=N#kjKm0e(UCz)XkvqhX!{qECE^GW$Y%h(C#iYzw_EeOHe0!mp zkm&mJ$k~o-nX4}#(GN*7H){*lg3c*cci?L?BPAn>IBawJJMUYa;pSG&B}h`YwY)8= zR>o|n4n!|0-RW2IIM)Xsz$fDL!Nt>juI{2QGT0M6F8Q{mGu9JDeG_Sd!b! zW8?4O2{c9Fv8$`^$v3}bV{&~dmf^r)WVgt;?^CP3S!T%Abb4df$WsbVskT3VS5H-Z zmxz1*{))iEr-OASs#+$-ca91LgY0@?0XH+K*?PJXFt+{85_J3p3 z|6#FxXh=YVOARF%#aU+j+3AD@l+yvaU|H!IXSR4Jm;swd6)aboq08V{@)gzWcridK zQ4q4ZKEvuO0&w|v_fROS{!zuX^Bdm}_R^DbWij-8&_rgl(kBA0M-ir$JdJhO#z=1O z^zNuU&U+qpObP+N$d510I)MRgZbk0kKDaK zBQ=&94+jSw6O&Hq-ZC!yJk>$cj#W($9#{G*Q!z9J`0FuaG4;a`F@P#TD&#HwVdNQm zY{HP^V(>F;$=vac9Lcexjq89{>(}D1pgOREo%0*MncFM&!?eb)#rkdZZ=NVF7f;k2 z;HvIrjX$&vn<|aV?-ij?wotkhnb(ACv@WI}o>NdhKuM$GGDLUJhY>K^sD3qYSL8Sv zx;dD(^KZ8X$l8_gxiW-H!|c(`&;$e8{6;~J-`MEiUsXQ3=b)Q{p@n9oV4!oX(TMkW zxwj9K#<{T%LoybcW!7=`HEi(t26Tqk3yQI+G%ICq$TcJnZ~LJ6!#X)jMmjiVVvi+- z*;g3jF_&7oSNPrhbm!3C{yS@LDQCJnRRlfNQAVhYSqBbk5Oow#uMxd%R+w!O5^G&J z%|6qNvii9Rv6ih$*-Hq6w$PTGdk(sBdQTx;*sLW!T(B}!k$EjL#`6_}Vaaxm8p!)z ze51_yQ90JORpsQIn|vDA>nq@2v9A!%;Y{zb&uNs-mDA9;&Ry&n3tWQeaboxO#O;o2 zba+~?^{l9jS>^R>(MgHJ^}dbCiofT>zj?-L0c;l+Qkbn6qb>=D1bT(Lcf-|jPRGc#nY7diesnPPoGLVBTL1ODY-^6en+KW@RX;} zx!kZYGyuhsg=Jo!bdj0#e zB!mB#f&0VLUM}I&%fhnqd1{Mvn$an%5;`>S{G3!~gj}E*4u67}CeVcCe2uRmU&(r= zW}kikX&kGrzM<8G99nwP5=74a;Su-Glbq|?ZA>mCMWOxUXSlBC^$qs@1v9uUr*|;` zMIm;sNt8{dZ7+%~T#uNL2(zoLx!h_^3lJAr>>G&dbKNH0(ixvQTXjv|g z(2Eo5nmLl$8Is%Iei~4%!OJFchCp<;bL8~8RH&A@vv-=KPbq}n ze4sR#(@P7HDKsX`b3;4*!yJJBDUxwfLG}nQKfD@3*MzwnNRQ&{{W3Fx4%;C|nc)G7 zlJxR31OPMI;<|X1RBKaOw`X%{z*o`vreP-_tfg@XkC)aq#_O_{Lt@Q%&2;#S&fENp zGJtyY$XPD2cYWHRjfD4(E^`E6o95g>9T&MA-)B;DHo?MhQl3vi2BjZny$J2JQLjJe zq~WcC3B~-o$^2KAB}ws*!ikKGj8hGOEr8#!2ZJ8U(k(sJyBQ|dsohj_K5SQT8x%lB zGuu-vdiG!iHItJMT`F1(iW_R4IZ~S@N|GrpEBmSUAl=$NVdRY5clK*G$l@e_Kfdi& zb1b`up)+4*k5r&#yFU1?NEsF$TxI&pC1V@Q{aPysk7}{MFlvDovI8_Uupd=MdQO>)j;+2J&W>P*8%lNLW7|WL$ZE zjXXW1uc^u0&VTNyW$0rOv&CI$Aj+iCYzp`L92YPh7hSOXcTpkQTFS@lu|K`FuC`@pYPVj$2obeRz_Dj=-@>iUZq8M`y!lQ zwm*}#EbIwWT1)mU={MMztS{ZKT6KRlBFFnr@I_8{rn28T#a|y@+2arrvbaq(%LwMy zUiJL+c!OV51OMTP27W@^8YR|EiG^)=@U;i3)F9Oz_7BK&lmBM8jSrZ!5R+hqh5LQhBdX^$_X$+X5#P78;QI3 zr0bZhJAc9Pzy=lZSI=J^H;MAE@_@BR=}YJ`&&_aA8J_iyZ#^nCxf+C#w8o^)R1FsU zm!VW&_0-!#Bf5T=Y%@V+Hac-ob3(+bf!$Ynp`Gqg=-aO6eo#mrqkRg^N0W_IM#129 zxa(*PL}ttVWWZ?eMuz>%P(00MHk!3;*h??rZvW^31Ih93kupg`iEN2-XLF-K23tHV z|8sl`oFLH8ArI<7SZE?2;GJ@veO-(|P2w-pp{VIy2jWB9>G-DCQLfC-3F&g!Q<_~OZhe%Z zjL{r5K5`zuZhDyaWI9JP`>Joz*V}SLKKBTLFaz_lb#-$7D*{KN#-L|-Zg)v|^XU)) z@Agegw$z~C3ho?c3=11GzH%?_pCxMkKPkT!mf`T6XjJMiWY+G09GujQ8UTvEV<|*? zIMflN$fN^`TxGgB-jH=Q9>XGqK{Qj^mZ!nAoGl3yJcOR>BctZT-cL3tlEQDojrKo! z0Wdp@7_7F00RhHf~B46@cW6k4+YHJM}&MdRUC|f%^QltA|U2h}a z$R{sD-=}|L(ZgY7`}vYwtpD!%_qQ1m3KNZPh4t%(FK6jVuvT3%UVIB>Q_*S|isvj< zu%EN(Vk#R-+f4Iq^9ci8+58$AG}70UB@kE=tV5oU)pQf0Y;az$*61ajzWo(mt%4ne zKb~5K@Ev7)o{3MhfZm~|!k=6F&4V){7XARp$QR9p++RAkOGI-szB`APFFdr;T;>@K z&-K@gksOBt5oeRmQn|b^nA}t>*OZaQqMp9c6}I{yuyCvvGe2{LI%gVDCVbQk#TQ_oG=726mcBe-F0*E24B*1@d~Jf90Vi0esoE<0EhZMG`0YR&dim zlifGG+P6G@pUiqLQzFE4Ai&MEB+q-M#-c8+;TKNBS&!gGjey!ld&iBF%mL2$@o5j| z%1xc=&8EFsm|f0ojeUmcV1mNHWg7B;q02`h^?gGwhE(UxLba~(Q7!55(Yf_+S=}2` zaPWFlNs4Jpo^l7h;~j%f$}%8ExzjW-&CL_gIorMCZW+L4(#xtADqvDX%kZ&*CwQLt%P;$Kl!ht#!dj&yMn7k}A%A4o$*izF zT%X^jxy?AU_&XlID139DsNqn$|A;N_3O<#1@5@Ae?Qa2bB`DBmrKJyMK=-JR3 zEMREzfaO<4k!Oym+%%7Bix^GW-xzNCw(6hm-u3FO3QsSxrtSO83u0=WtF$cRTNZYuD{WKzqnyhpx9w>p#y0gG z=@0u$%8jYxQX1rdlI3RtR|+1^V>=J{$i0`|^Z!&RTso5R4@DDCxmC!B7rz)Gn1|>j z6Bh$A+C_DikTyCGr*+Q4igHc9T#EP zVa%6GAFoPv8{bP(uo$9vT4zY4bZmNw`kN}P!;B;)`r~6;_q|CxS~96KwYLMBz93ek z0Z1ym+40ql`YD#Q4PY;kl#RjJ|$qv#3p_rCTt_!x_elKxzM#;P9QnKEbXAmijD&{KeZGR^51z zDDf|H=k06h_<#%1XCmFl8F&4vMBI*_`KAcIx4}$ya|ZD76(%1lER8$57+ox37TV#} z+KYQP3zeimrHOhd{U;ReErZYPy*i+6p6Nt%l&ZTzOjB&`iPe_|?u0Y=_TwyX;EO

@s2oE$os;8ZzzWDBi3GP4TS4OF^QhA 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

c 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 xf?$-|W60Th$GO&` zOWm#FUgC1AcIHSYh%QrJcK&c+b7U$dIhJskbge3o>y#!k6Ziy7pauFC9ba^1gzl7> zp%NgW)qOA3L8Hq>ud$PpcoYhvu3XSRvyJD-71OP#{av=DTw~&XFJHJ<^)tH+xxNRxVMUF-xLw59WgQ?B?i6hE*l-XUSSOv(@s=6TMu9{$l zDL*i#pX}Vx5A{QUY7q^~&PsPGS)prFeKAf*$#w1U1v?aEzLBQEvC$pBs{39k31e+! zNd)0pro`p!F%+UU*UhmKNO0B;pH{A9`}x70-axYGd0r~ruHM*7N|3NLqoxlF_U6-5 zZcaAO`Vg#M!E#s_658hk<9;I0e zwa-?}OTg4z-l+H}qPYU7T{|I_BB}ZjB-wr8v)g@xZKgZ)LE%Mucy!B~OL1R|6}Lul zu(D`0Y-9-4D-E9NdVhJYpSQ-~5Nn-!=eF^45Zh4rJLauUy#euk2ywaIAf_ix6)7p_e%3O*)LYco+M|P_GZc|=!f*{o~Lm+NIHEb zBny@*rsnx1!FVP*PG445ih`{s6#oZnZyi@vyR8i?A}l~)(I5@d4br_x=>|ywX~9K< zNH032K|;DixhP&TMmMm81M*FL~L1f4Fb}h<(>pqXP*`auY>L1agWE|3apv{W&GSZ zmNrOemOs6GyKYYb8<@(c{2uKrZ0fjBbHFUfe)>D)Paoq8+P!8AMPYlxPNuS8v)0M^ z5h)ssLH2HLPC?DlNd-6J-hFn#n;;2##W{he5P?I9dq<sh|$>|CVhZu!5(xgy5 zuBNkWbiKozBD+Ws!>QmPm4gL02aM$|%@%6Bt#z}eX)@XU9tN&hz%z$27LU4*<_BU) z^T>mPB|e)e7x5^D1{0zmsp;SlzEaCQpD11r0~_vM@73YsOL8K;i@@EM|D@O<5nwRX zoQ;;xGOWxst)rPa9>_pl>-~y`Y3ZFX{{?Dxxe$5?E$CS+I*2G!zxTVwFB%H`Z#>r# zP`ce>z0SZ(-cVIgSWvy4uP5DNpp(z4N-0Xvupn8;vdD=)RPXUDBSqquHR^Sx$UCzt z5u#4C{ulIce=p1~xnKCyaPERIS{YHO?Ka<)Ah`(TlcugFlo0_Uq=11lX)xOnfo})c z6}lve49go~*=+z2S9oLOxk0qR{#uI(PLI*%RljLi9$1!-^MWA<$XiNU--y2xB}>bc zreKkN3NAFwvhVT4)@5h}e~PjmNz(nPH;B%k^IC|ZYL^7kP~X+Y^bEq!^jSSxIi$yt zW9gRyx{to@N#4>g$Y`mBPi0QXO!8G7gH zJ6Dq&BxL($56yNrvDD`;qMo)vw_FjMZZgpBSr_l`RCI*lupQl1=!68q;sX~pG8C(x zUr#Q3(63Se;DU7$zTbj`1jd9nVuGD%tM7qXj8Gy!(AiDf)qEyiMGG>)B9Z!5ITo_n z84;Se!5j2=s<;A(s8q8$LW3i*G0tFJbr_cF<%4T%zak+S8od!?6?KZNYjXr%08Xmb zrMohxWh78mW+I~dKHs2UF&C))-TYY#A;*8ou9N9->)o%xpxCFn^`+fD$^JV!vM%V; zLk6A1pX-Ava_+DUS|~^Jx~~+0fsqP{;OEul?cWeaTB(*clb9xIBK2ZF(6N1~Nik8z z5)Egp&%VWarNkAvfdH0Pp9F^N9oD-d?{g*6FvCB201!rMTS^^$Y$PLI4bjZ#&1fng z5OjzsXGK$$a4E`WN2lgu&D}J*qSozBtIo*WIgo!YmA_vyQ&7s@;e9Oo)UHe3D3g{i z-Eoo4q#;b`l)QwL0)k8PG`p^L_%$W(Im9>1{g15cJLex*B8K*Cv!iI5xJ4Q7tCJ^( zO!;4)Yw0@B!zF_@7tABYQK`x-Dx>XPuA)Apko}ytR|t7k$K5jZ%7(zT@5-R|o(s%C z^}SFcel>$qCr4Pe=p}nl|PRB6Tr`N}I(6Z;$>2}LP54d0oAp2j5(4%6u9yaK!ar(6i zBvUXlWbP$B@J*;T&l$r=?a5LZ4L{Ss0w1>uXhHK}LNAOQBtAeN)6Cs!n?=kb(`1vL zErDS?V6LwU#6#R2GZVe2IkF%^6Bvz4V%OOMe_KLqn*yhn|!92}FtVP}}N(JS-!-p`m5-RFOOph12A{>*??GPWnW zur3|_IQv(1Iq~A~D6yGa9j*DV2dQ?P_h)E2A>=b@F-4KGEbt?jv%KvlX3g@2X_Ipq z3(AFHG|v0<%OIqKQZ>{7Qqb#KG!DVT>TcGRUXPC@ztA}3wVZ;15#}Ip-D@k>VPgl@ ztYco@BJE)pcaM+B9foW;kNK5caKw#8n%!4YTyUrOnol-(2Tj_OM(p!6NL~v8g7Qy} za&&sPcaATJK9TgKEG4RKe7T4)+uzv=)&#&5eJ)*&9(4jLonp0)e0;4U5muaO^p$cg zr#v-OZ_DG7Jm;_Xy0iEz3y?g&$aKoCkX&-2yFPY3kE_4jm3^lK_9vUKdk3BvV3qXH zuJJ@Q!s$|`+Ld;RM&u)ckUT5y+M0wZ6Xa&7BE$x5yLv9iIox$(;FSP z?@3nSWx%}V)0D->7k&3N#{)dkMvYF&XtP^l>x{)kA&fr9p5-N=L`i{dd$ zYN|LiOj0Fk$)rDMzf4%;EP)(Ep?m%jXohagMBywltk8n5qFf(cJp6eE9^q&VF}ADU zl+q!~CWeU6fheaRsmP{xJnh~Wg|)sw>pch;AV_adPBGH<}{*8a|gRM$&8^kX!F4;_7ggV zfZ06#cbp&NSn=+gWtWB7j;TZ~DiwWagP0C`vXp3C5woYit49xc zB0z7UN_omt%NzpTs)m*voj`MyUOyDuZVi}>Q9t2Uhy8$TvJs3Z{W3R{)hc@6{vpmA zY3%}Pt&h6}(sG1Swc(oOwZ-G@^eEd>_E#cnw%ClamQnW&R@j8wp#yac zMIUt?_O3&1h3#$}#qgloNUU(jsnoFZ#soD6*9k2xc14?#lybu!QfFnvSCx2#>tOXbo}K&Z{|&&(v#U44l{Tlf40l|M)r80k8Psw0@2Q&z3PaGJeUA zNHENe{{d+Vw+>n;;&yS`m~iGI8HTjlJD`MeSOcmnx)r6-<4VqSHD~^%u8bAvE&bvbBJF%mo<;F_@%>esR0FZP< z6bc}aroB8JTQhyYZYLAe31|E<37{FSG5*jhvp}6@ElC&H(KH53*(Nm(urJ&wCjh8_}nmuAV;ojaX=lDD;fj*xe7y@A+*|8zcI;bC=3nx7g zoQ7_e@50m-@f?2siVerHjJ>AYD3Aej--c}oq zZ=OQ`o?{<#J64&hhH6F^np9gn04wB%Pmhyi(-7OI*15VGlcy)?31Dw+c)kPi@M*$G zHQ6PmFGB$Xs>njS{k_I)skZ~v%F3W35c!Y2-gs$ll#G!4#9dOxjKXCJ0vrcRa!E#B z*BixvPE0iF>1OnOs0%L6sz6%^@&Yi}TgqYS(TBwrcTKVt$^4!tb9BPnn^wjj$2aD_ zh1&{Wi8^D_FY6=g6@Aw~#z`DsKtr!HiBvFf=th8;q0f*$N*2Yl+Tadmh?W|$ItE$$ z^ry*GQy4?NW?m_sH=DfIxZ!xHOv(cr^dLxFO&FS~m=rmxYdo^^sST@8>t}r{8E}4N zGZA_pmR#v^gv5{*;OQKKCu7~eTjUDpCpSqshzg@AAo<}01wCQ7Xr`aE)5Lro1=K;? zbLePw2V+22v>zB+Jjy_umJi~-i;5|#H76A?A>tw3$&InbEoay6fWsW1yhN)*N4sk% zIf5qre%E8F+6XRx%J$Z2dO3i>P2@9-0Pjn`=N!@K#n5aw6#Ow{(0Z?pX2h-rz%j3# z@9q4ofv<@0@_wtU$^fspK6blrSD(tK(*!GCg=(K2U?+>a`7_~co-d@|)%fV8iS z&eVktnq=2Ma?Td*i(8#bWv$p*=)zpvnzX8Q9v$V5obu1@uql0}GUGF^+DI6Sj&_P@ zqCO=VN(&RxKyyB^$>v6uWnLT2h{t+uQplIl9vKNhrW*-g+lHnizJ}g&e3*@8++)S0 zL%qOTPJRb?qN2CYIP8K@gWe-S05EPOT*q$N$#BMT-kPH1=)1LWS#3th*Ch$lM%S{%Jsd2Pv%8!QMbEL`Ru1AABVRL)qXl-0+yTVARuRkPn<(!NEa)s$0)$%?z}1 zXaPCAojb7znHE|}tB;)dQ(AEIgwtgJWA1dvZrfNm6UvR_YXzn*T6U`TX}mZX{~a$B zR-$O`RA#A9by2|cBAdD+X_8Gq)LPr@Jp!mOYt#8z>8DN?7|q0o!KX?JtPfeiM=vh~ zq94g+3F{LSleKB&JX9Dxz4*?nwmU56eL1Ny5 z168&EtZY=}*~ZaJ5SN{IfYf@eb~LU=UGa}+ZO9C7`&Xu}!tj;s$xMBgST?c&jMTaS zoRERD;mzW>G{0IPin1pJ(+BU8i4aMPlVj#=bR7*4|5P-{nlb0Uzg2_>ULMV^e0prH zs%BnkIGO0cTe9bpafpH!`Vepwco_5pBjD#n=BQvIfO%c!272eJG2~Q5c0C4(4~A7n z)tR{3T?JI3nxq>j_T8#+aC3kT*WA)XdV3@4tft+lk2%QZ=u8af%6|AkYCe*-)b-|R z9nsXikoG>QU`Ke+4_tiX(PP)nH@4RVM-v2~rd zgy#YvSAOdI7)wSsU4ScmI@{VE189A08p;72%Y7rQS8J{`^dqCf{79p523MuH!=fZx z%P$_$J`Wmvx5M|#PzRclp9$)LMOQ>@Q}mb_oKXeC2G(Eu(4|#Da=Ps=9p7C4U@Bj% zRt_E?(}7TKvJ_|lu{3df?kH1@S8_Q~4bI9cI)prOQVE{ZhwaY{gN`U6Gy@WY1_daK zZSLP(Ha+Uw->`{{+CQ;_WEB0z`z$x|j-WX|Mam~j@b>21J7*IY>Zh`7U;Gvi9$y71 zYC&L6d2YYJHY6@IjCmE_&X-V*t+0d^7U2^J-#V59l*`C}kI%-bnA5wz@BL8o9=mmuF zS?VR&(!@EnK=IjIFeU*IJ5r_4<$ge-E?j;Z0F_~ZO@h+RYSD6FL;T-D)d0t#5gevo zPvNcHo!tImz3ZJt9rRT(8<~u39SHN=Q%ei$l%j$)k$eC@6QXX7uS34C(s7U#G4`C| z>2r{E86BO%<0aO1eAy36`J}Il#?K42YV-^*OX|d2h|+BpPO$PIsf#wIS!&r}WJ2h5 zF?&}~lrJf}QcDNG(taM(1vTUYY5O5Fqjc~aT%X5Dd61Z5@QWm*VRU3_@Wc-s>YAie z3=SRr^|SB-dyi)doVk573b6KVP1OUJKnF^3jBJB5sXRXv2lkW>4YOM+{5dLV=1i15 zoGxizq6%4GWMnx#0G4e0#){7_FulIl3T9lHrS1!mcr@T)Jn*IAPC%n5H$7PlXJZvx zN;>rE=olX1RfzNCrD@n^4Lt4H8)1|w7015oB=AZNczQ6BG|kkw0%Iec!gckTI`GGO zeOpw^x`$Es#VUjJKoDM9U-$}s3mOc~6_~fclUcY1jDEqc(*w|BpEv?i?~0r9qWYR| zJTotlDr6AaZC*-s5=;!&97xnWkZm8bgIY%+%x`PmT%{roG1*)nzr54ChW*QZ}=01P&f+NW1ge+0pzR;#tKKB#yKh!gFT z4DU=Q`D~BZ?it+z&>Y&xgT9x9;r$2w7ThARdiHeXLAZ^ru3o-&v#h3y@_{(F5k%90r&06*AlNg zC^bjyYZht|;x3rY@VZQTwZhBPP`^9<5G45e`-Cz> zGCGhP)b=N)x`TYWxZVO48pt!aRtx|%4?>#+x_FdAo_qDbR4xj1Q}?V8x+ESRdFIuh zH)t=a>Nt8z=)l~_FHMKg^R)K=p)ScFC^lUoX|i8CLnh)(%oO#d?#^BDv{V9NgdY0M z{n%`h`c`pm*m+L%GH`b9GV1+oq?QvPOh-8=az^z|HS&rEvXoXvrUijv!}hAzfc#)% zmom912lSjMb%)nH_{7DdKPKU+qqSb#nDK?lpNTOC*be|m$e#$5pR35f#Ni~4`KF|H z-*h-Qu+n1lNn>*n^1J@AUJmR2*OkTI+Nu$Z57xk;33w~P%a#Fej^8|?swB&1erLjg zqS;R}`jV0AXyftLmpImUlK1o6Xp+Fy>9|;Y;OZYk#Orgp#WcFqd^SQWsrY8Ez|oRm z0#SSjS|n{90%cb?C@=$n?#%)wh%nmGxBxZ0m>OA_c_rnN!-Kk4<+COvBbO+kc=C(d zOm>(F3@r=`B$v4FoT<5pYf3{mm8>6tO%@CmvQx|Tfakp;Hi;zP7X{@$Eww{pPMnwe z`HB@L2QuMnXc2o$a%nBRM`Cny73IPhpouea&dXuFH(FT?K-W*J)Zc2D(claxEEhaT zrg%~_rmN6M!_s=QvEM1t&>{ zKFG#jfTHk6t9Esc#U)fR+}y2>t*eLqXo@_>$I=owt2Lu?z1hQ8Q7w)S*_)XlsqC>u za-eH%lR`p5`aC+CEYhRfgy8t9)#Swc{|X}u4iZw&?z0DiZx28T=$?(W;8HMZB28QP zrE1&h{yw0d2WLNam<;1F%|;=khD&~1M2(6wg;qHvE#<2fzD{2BPXW!x^&InXOxN*I*1{bc0{v2pUx_Rgoq38h7I8PcOU>(;^ecZ zPv@zD9YTU`ICb2D)#Ucf-+vQhf;HYPXAe%Wtr){N+Hu6B-j{{hK{Hql>!O1rujb%5 zlJls>ttxog?T=^5vxnV2H|JLB@-oVeuw3>CtT+IHw9A{z-KM#yE!=EQp$1!7yx?C% zz8quM+FSPau&1RC7JDkA>6QIZ=o zzMJj>KgKtWN^{*(wi+=S;~IBZrt`f@is}}00#3H|_s?FBkoDT+A{zt?ZPP&{7u{z( z$`9K?4`HzqbFhxHPj%SY$aMqb&V`q5Ya2*?p<`jnLcgj9-i#$@tc^Bum;|-YN($@Z zZ@(~%7IObmAu5OF$~i(H?oiRNfmmiNULprEpxO-HFD5+V z!QLw?Q`0nL9(?bi10S&$nPW-=Ww79OE1~7rVR|tHjQtsGI?FN0PwAr!Dt?;pjr5+n z1q(enmjc2V&`y2$nHHIzcz#7ZV2zjxnl>rwzrfMwt`k}z6m}%}L4!Rj1b=X$@hmtx z6sk4Lu@JWGmaFk0r6UQT?CR!UznraE%@M!$TuuQi8MPBArA{`=4XUHwK++%fKgp~1 z6lKf>6}m0mMQ!qg8lykZjJ!W0JLvyx*dM)^p0xdjp&FpiTDaR?dp+q#x;rRaaeNuj z_R3yZx<95T%jKjnf84VDuw48wjS9V+EdOFm8NHgS=qGrpzmDKoi|UILsQ)MkEVlBt zv-Jf9H298Y`@6n;+L&_s85&b56bphB|0%*)O<~3OAww~CkB<*t7j>iJS9E>`(qr+D zNq$f`6T#|%Z-(0ix*YkD96kaee-6xsH|dqlvh!sr+1ow)!kgk}hw~yk+HP1*OST(` z64k!*A#}hPNCz!ya$KS=yU0;#-0{&_Vv6T!2Ki;Hbf%M|b`zZx8AS@;>raN>nU{o; z(ZMA{JXW|bcb=Qwb?mgmdy{_^p502@XckuQ&OB$CHg?EUNDV-VPL+Oh^Ks z;KZz?H=}7ll{n|@V-qNpbB*zN5R$`fd1-L+Yfy#-OH+WFT-59F5=xs-gLT{qA*T=Z zfLxx*J-Q5@Youta*V0_#(Ckv6hAMo0Hf}D&xc4N5YM zW@0eFxq^+kvB-{t)tCfK?%JJob<=OZKZS9cm|*Tpd3^oxF_>bjkEv*V<(fz^)-_svuxe* zXm9-(#kB27Lv8w$ji+v0~X!t|ArAQ}0u|(nk@? z-z|7i`8e3*hX0rVq7@{$CG-8TG3{=8mBKdEXnDs{hkItUF&?s~dlSa6!%_t>QCdDK z_FX>58%&z4wvNxM(r9>N3GV_y(L&R4x$7gd9i?JKoGOOmbcLwhXy9j9yT+pxm*5?2)6K)0Bn6Og{j1X%7}$Oe z`Quf35R3K5Dgn%SJ_Xtl=+_LCd?s86zU(twvit*Ey93<^JuAV&$U{|ySVutb{4hf6 zUMj2ISO4s?!if;!lNh7z;pi0kgR&nclZO&UK0_l~{=uCWc6%TcKhu_{P4i@WR_CZ# z=ZJIWu{kAJ>;q+POVr2Axg~e{P%3Z$u|+%7OEN&u5*|+E@>8J-zx%}(u(KXu-eF~d zuCg~w(&CadW!jq`32}1BYj+x!1*u;qI>9AxynqMK?3j#I;6c6|Pq*R(#JXvVpqZBJ z(g{!~8{NgJg!v?HBAdoNPCiO7tz3rXDHDG?pW@i!=Mn<}bGX14In@ljxb{@^6ZBsw zFVAp}QCA40H3eaKSY1}+_+5Cg>TsZm**1}BFQ6cz4w8BSgE?dLM*^+mxqvwjWAuQp zs8we&72zjwLpQBQw{k5k30l?fkt~UJYufPu56=@mu14=F@>qojD&nOFQx$O03sA7l zUTC1d1)n}*sz^yzc=%l-`Elk-1zo7q`pt=g5PESt)oFnBz_e@O_D}9poGMuR+*%7z z;G{SIk5J&_-wFi`m5aW=LXlkMZ>{k){O}%_3jZ}=jNw=rl|1XiPk zEa{pfVtt=avHf)cp)=Y>o&xB#+eIj4e$~-iX1#2_8=#nR>WRisY5%E4nif-ez2mfN zNY(F#%fM(>FyvT}S!S(iyUbjx|3~OX@ixZHa3#a2nm(76r?X|uDbMG3XDPt!(y`QI zqRmXGd!V9xfhrHUM;b>NwC8e`b+wxQ`LU^FRn7VcP)!V8O&9f5Zzdol6wmtF>_a+mb_`HdH!*veMgmz|Sur(rn_HtHzVV+ABteu^~JDyhF-WZACEdh4J zj|~ZAhg_JTHSm42hq!*O5ki8@Rv7?c43j)DvwH=$?JP&3!B_*mEEPMwFO~_p7q=ZK z&f$>KnKY0B4}}m zB_9Qe4I>*w&xYh)`N{7@Ln$wxSoEwDTy=1eeE{D+IyT!;Eq)Q%j2(obseofPq@%|# zM@e)>bc{fOr8i4S@7G$zWL{3$2fY1Tg(mbL}tqwF#KG^+PZY<+p{qbpW+(P)c(hD(}7>c)R_EIu`J z2}2#D6b0CEbW>|bD2Qi9cS2W`e*Ri`*nGd%Mk8xonIdKz-W>AbL0u6P)Gv~1aWTT}S*sp| z76pol_`fL6&@goYgQ5riSU~*(tTK#);*_Ai)|9KDZmpHV5eWcgvmpdKn~$F;#=)X@ zuipWB3zg)KH{CiUI@0ei2KsH*46TnnGJpz7ce#6}#5@FSg&5@l<78*^N`f_(^@5zh zAMEK4`p=8~$I3f>{rn7$R+p$793IA2R&scTc3S^F^|{fvN@}l8nob*l+6JFd!$7n~ zLPRmp^jm3*r>yWWbY2Ah-q}Lc3CVDmyjk3x{0hlfH@X}Pwijy-B;~0h`gJfZncPpR z&hX;YiNcgPoM=$hLIFR~6b|so3P5*qw1)VDg6P~N%$?w&4TQpC3Df^|a(RJqcl*R% ztJxNAt!wXDvq()8;)46;zMn?$b@)BEQ!J=7smDRI;&C!Lj+nQ`2=LU%>+<_)rZ+aQfv2wa{|%@?3X6t97i z7vDxhih`gV;YE7=rO^9xwXekJl+y(+g*PY=8xG{Z*K($LQ*Y$zz4kfoS#aBGhu3Bm zfSUe0I|5%s39Zo+O)i79OTGVf15ok*DZ5f)V2LtmH}QR3v_!}B96+uDwgUjydCSQD zp+9PUlsbQ*2`CmF19BY;cKu8WR1|%x<&7InuX>GXgc87`*Ae;F`y{2{i;=`JVI|Px z-8jYV(W$x2=Epg0mb4^i`rk)TVv640<}TaB^+5`c<5TbPGJoJ4|C?j?=T82DFebl4 z=$LLhqzDgChIPJF4K=S^AgjCaDX;tfmL5D00=!23FmX)sKm6hjUL%leHUmM|q6GE2 ze4M~Lc8+RN@TTGIF^5r2qvLmtrSz{Zo~3IFJe zx;NL>uX;)BC$u+U@lMv724lv!u&3jETnm?eP|MVh%{X?kOeg1>Ee8@Gh$Fs8j z*gt;o%nyCWO?5V5|Am}iapd}UX8NnAceXrP*6ErT?zww&?_zIB#!*JZ5s|yFjR@=( z(QYVw4BPFIsWWaJ`u>mB50ycBEoB1u#c%9xa8F^WQ)J%L!E$96 zt@-CWF~_NXrMN&+R66n~CgPv(fq%Hx--0@H`ft0Zmudy`_5H3mpBl+VT3DItNys#p#n6Cwq!sS3He zjCyQ<_5bJ(xMH(z)+6FSh`oRJZU6P{l&A^-{oH@*mm-9Nh4R2LOa^LBGpN3bSCgNg zA&YOWqq-;8@YE)kt>K@RVGjS_Jm%SzZ*SayAyusKPsp=)@L84yzA$xrt8(!XE2Ihq z1Pm|4Bf|b4d+G1Iphq$gyeTH3qaAjr{OLnzG!TWAz(E{$fj3b=i#ZH_%G4K zzc2|CDP~D4M5bCoTu-P^#b5foG<2FOAb9T6w(E700j|F5DYf9*K!9; z$Ks$ndzC7d`-~P9kr(B#!JB|CuNV8`^1QtmlcQqKtOVJ4Kj~A)4r(g)O4ySo_x-GU zU#}U`E@e>%1RCQTyv(HUKkr5O8t3LD?x^EBUKigcL)Jyl&u~ON&MV&vihhtoeLPVU zk#AqRe`7Q0W+K#Ng<%2ILnw+>0+wJvSR#vhhL}=18gcCc4BYrH(gwzMaK!p>YKAQK zrVLPQ(bz{t%M}hZUQo*pceR$UWPjSKdM01{g!#(T`3++x>gfam%>cSd?rDE_`uDc^ zce} zL0mY`<$z&C_3AVJxz=mfHd=LWZ3@v{0h&f7xzadSx6)X%eL>Lr?9w9p0snO=ObByF zD>rD8K~G`y)-kO8+=Y;vr|5|9TK645`evR#I@hgZfuH>~H zxdqU6O3-B&_Q-3hNgJ>EZWE_`zBTae3|n?i7s2NgKxUzKFoRcEY!*0;U{lk0Y!Y4# zLde7X@4|w9v*iqI!6A{H>Z##Lh1fFZ9nRthAAoEqk#@G(4x88Zn^bd!(UrYP8F~-_ zd3H38?~FgK&CxdHR?j|L0<9vw`A4aS2QWRpQeBzt@pb}b3LL`BiEQDOk$-*LzY0uZ zkzu(i1K_)z+ghuG7NYGJ(sq2e(%!O>g(!6;;_5Oo-a!U%pozRNauIX<;#P8a9kt zyadogW(J7Yr-x==cbWPuUn&*_f;pM039@q@{){__QM521+=fYgCiw_M?5_dowr6`kISw6UoIQ~?nh#s5ul{*vK5JaG5W3X#YT_pCN;MR2)%FGAQ5NkT@(f31 zJAtXF3S5H>3>1-5%`B*$YTl4G9CXzN9j`kCdGx-zf_@u9Hm_879^5FG!iA{)*d2vQ?VP z7g`6XOb!2^b;VB4Utg|VrB*8>%Gz(u7T37gjuKuzG19l^c@H6PU1l?`yU%;uisCKq zn*OREXoV%V6e@$*juG@bH*v5ycc`0Rv3DcEmB zztIpq(5C|$Mp$9UAf1_NJ<>B?J-@vCBCX>U@5Sy#Do`~*gPb)`?D6Ru-e4!pbz61S zs#B!do<}r%?hr=2Bgn*OJGJSIn0DouqSLS^xP9&PgV?*_8Wo3mHy{!h?W4_1{jkh= ziD9$YXnKo;i8oKOO1L8xEXjQw0{BvQ1&&69$`BY$A3$XoR65^pqk$%t_4)LHmrEXc zzQX5URzRDyBvfBf72OIWqS4{V)l`G@H?Fpdj-n#0S2g|P8t-)f?z!spP4NS7gXGA4 zeQ_=a0dfz6AF*Z30kz7_wEa|2bf$m|5%ylrOB%AlI7+^;4_xuZ@1U(0Z%(MfDLFFJ zt9KxwleOj?7pq`15|FD_HNoX}L}sA%B$i1Uw{7fxFB2JszRQ->Xl6%bteVwW3e(fq zTg-EfX=-=p-T5$TI{_0o#kdzbBJ@7>RVp;phgNG!{-TxlU%!BWfP4u{;G(RqX!8Ynm(hPoQH7E# zycfy`hbQISqkb{xb;#)1*fM#|WL`Y5!E12_;?SuwBWDV*)oOVxN{BRrIscY%>P};9 zJY#2TzwHWMzajDF=CTfaZI}Sj0eQqytrr8bb)ybP&Fa=SqJGSYM+Gi6nv)}<9pKAT zKncUgo*@T}OnGPj$}xf9obvBq%AbGdpXlpJL7n0Gp=QS}Z=abKK)i6L5 z0@Tms^LJ@)APOR>eBKV#O2VCgG{kF_$}nu%;^AZifqMrN0DAni*qeC1(yghS+UD0c znqs9}bi6r$H>h2m=AtQ3>s@Z4iKS1m)c7_N9~sCA&m5l!G`rZ%2Q)Xl z&Ud!;BqNr;7@SUs=4_eaNH)WPhfFF4ax|m88^oEbx4r+V7o}Kcro9$`luw3ryNfhS z3%IfGc5m0fh-KD)#r3*!MZ!L`l z8Y9FmIh!60>B)o4W9hMWR7HjB-|g_9;8No+1KOf1IDmgJwgbKPv$-^_CV^-PL9JN>mE#tqba1Zk zMLP-q4KVVbodv=rxWLgshwiCky5Mg=Sf6XRzCFo{_o|=B?N?<4=y%&E=~$Lgl%_bi zrXvYEs(oE+y~#HhG(U=J>}QO(Jb0{D8Eths+!~9;uli+}japKTvPa4u4q4B_wh}IC z9wqR2SsIBKjvB|ZBLfWjWZSGZ;Ou*}ICPJ=d6S`Ut;avGPgUqh&R}D>x(ImC5(31c z3TqlG5pfBCU2R?wh>wjdUTq~p-3JocB0$2t;o$^>9C8iNDWPpKYkam;!RO6O)*+8p z6pH7R^R9*p@{iZr_`SjgPdtAO*4o~>*lRao@uvZXN)_7v6TCIIasEDSKd8})G*xaK zrZbA|{7REx`Af~4N!1gXNff6$fUW&5UT>GXMiO+X;NkpY2U`nhTs9Rnm0#j(c1Ae( zjxIjmc!%P~W-*D}<>Ipg)2nLy(8R4{qVd=xO`CM^%E{J*O7rjo<$J6|0E z2ZRCZ;57*)y=oMfZgEM135+%@G51485OU;d8-e&ngX4_4V*q%nCxql)JGc)C~?qfk{MX}AYM{@$Z;EC|tOB8Z_s zD8%jVlhk9eEmHkzOHn$NgxHbYdD&vk+nCEpV!7j_vYf7q<4waUc=k1O7m80DdwE$0 z(6E-5kX`hfGPxWZ>9n>s>(C_4EA1m⩔>9i1t)@<(;W&_+qnNjLY)J>E!&?c>-X| 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%0D($F8Y6X|L_(s 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�N$~M4 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 diff --git a/docs/hr/blog/2023-09-31-a-walkthrough-of-vector-search-on-mongodb-atlas-with-superduperdb/content.md b/docs/hr/blog/2023-09-31-a-walkthrough-of-vector-search-on-mongodb-atlas-with-superduperdb/content.md deleted file mode 100644 index 8986e02ea4..0000000000 --- a/docs/hr/blog/2023-09-31-a-walkthrough-of-vector-search-on-mongodb-atlas-with-superduperdb/content.md +++ /dev/null @@ -1,187 +0,0 @@ -# Walkthrough: How to enable and manage MongoDB Atlas Vector Search with SuperDuperDB - -*In step-by-step tutorial we will show how to leverage MongoDB Atlas Vector Search -with SuperDuperDB, including the generation of vector embeddings. Learn how to connect embedding APIs such as OpenAI or use embedding models for example from HuggingFace with MongoDB Atlas with simple Python commands.* - -:::info -SuperDuperDB makes it very easy to set up multimodal vector search with different file types (text, image, audio, video, and more). -::: - - - -**Install `superduperdb` Python package** - -Using vector-search with SuperDuperDB on MongoDB requires only one simple python package install: - - - -```bash -pip install superduperdb -``` - -With this install SuperDuperDB includes all the packages needed to define a range of API based and package based -vector-search models, such as OpenAI and Hugging-Face's `transformers`. - -**Connect to your Atlas cluster using SuperDuperDB** - -SuperDuperDB ships with it's own MongoDB python client, which supports -all commands supported by `pymongo`. In the example below -the key to connecting to your Atlas cluster is the `db` object. - -The `db` object contains all functionality needed to read and write to -the MongoDB instance and also to define, save and apply a flexible range -of AI models for vector-search. - -```python -from superduperdb.db.base.build import build_datalayer -from superduperdb import CFG -import os - -ATLAS_URI = "mongodb+srv://@/" -OPENAI_API_KEY = "" - -os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY - -CFG.data_backend = ATLAS_URI -CFG.vector_search = ATLAS_URI - -db = build_datalayer() -``` - -**Load your data** - -You can download some data to play with from [this link](https://superduperdb-public.s3.eu-west-1.amazonaws.com/pymongo.json): - -```bash -curl -O https://superduperdb-public.s3.eu-west-1.amazonaws.com/pymongo.json -``` - -The data contains all inline doc-strings of the `pymongo` Python API (official -MongoDB driver for Python). The name of the function or class is in `"res"` and -the doc-string is contained in `"value"`. - -```python -import json - -with open('pymongo.json') as f: - data = json.load(f) -``` - -Here's one record to illustrate the data: - -```json -{ - "key": "pymongo.mongo_client.MongoClient", - "parent": null, - "value": "\nClient for a MongoDB instance, a replica set, or a set of mongoses.\n\n", - "document": "mongo_client.md", - "res": "pymongo.mongo_client.MongoClient" -} -``` - -**Insert the data into your Atlas cluster** - -We can use the SuperDuperDB connection to insert this data - -```python -from superduperdb.db.mongodb.query import Collection - -collection = Collection('documents') - -db.execute( - collection.insert_many([ - Document(r) for r in data - ]) -) -``` - -**Define your vector model and vector-index** - -Now we have data in our collection we can define the vector-index: - -```python -from superduperdb.container.vector_index import VectorIndex -from superduperdb.container.listener import Listener -from superduperdb.ext.numpy.array import array -from superduperdb.ext.openai.model import OpenAIEmbedding - -model = OpenAIEmbedding(model='text-embedding-ada-002') - -db.add( - VectorIndex( - identifier=f'pymongo-docs', - indexing_listener=Listener( - model=model, - key='value', - select=Collection('documents').find(), - predict_kwargs={'max_chunk_size': 1000}, - ), - ) -) -``` - -This command tells the system that we want to: - -- search the `"documents"` collection -- set-up a vector-index on our Atlas cluster, using the text in the `"value"` field -- use the OpenAI model `"text-embedding-ada-002"` to create vector-embeddings - -After issuing this command, SuperDuperDB does these things: - -- Configures an MongoDB Atlas knn-index in the `"documents"` collection -- Saves the `model` object in the SuperDuperDB model store hosted on `gridfs` -- Applies `model` to all data in the `"documents"` collection, and saves the vectors in the documents -- Saves the fact that `model` is connected to the `"pymongo-docs"` vector-index - -You can confirm that the index has been created and view the index's settings -in the [Atlas UI](https://cloud.mongodb.com/). It should look like this: - -![](atlas_screen.png) - -The nesting of the index signifies the fact that the index created looks -into the `_outputs..` path, which is where the model's vector outputs are stored -automatically by SuperDuperDB. - -**Use vector-search in a super-duper query** - -Now we are ready to use the SuperDuperDB query-API for vector-search. -You'll see below, that SuperDuperDB handles all logic related to -converting queries on the fly to vectors under the hood. - -```python -from superduperdb.db.mongodb.query import Collection -from superduperdb.container.document import Document as D -from IPython.display import * - -query = 'Find data' - -result = db.execute( - Collection('documents') - .like(D({'value': query}), vector_index='pymongo-docs', n=5) - .find() -) - -for r in result: - display(Markdown(f'### `{r["parent"] + "." if r["parent"] else ""}{r["res"]}`')) - display(Markdown(r['value'])) -``` - -### Useful Links - -- **[Website](https://superduperdb.com/)** -- **[GitHub](https://github.com/SuperDuperDB/superduperdb)** -- **[Documentation](https://docs.superduperdb.com/docs/category/get-started)** -- **[Blog](https://docs.superduperdb.com/blog)** -- **[Example Use Cases & Apps](https://docs.superduperdb.com/docs/category/use-cases)** -- **[Slack Community](https://join.slack.com/t/superduperdb/shared_invite/zt-1zuojj0k0-RjAYBs1TDsvEa7yaFGa6QA)** -- **[LinkedIn](https://www.linkedin.com/company/superduperdb/)** -- **[Twitter](https://twitter.com/superduperdb)** -- **[Youtube](https://www.youtube.com/@superduperdb)** - -### Contributors are welcome! - -SuperDuperDB is open-source and permissively licensed under the [Apache 2.0 license](https://github.com/SuperDuperDB/superduperdb/blob/main/LICENSE). We would like to encourage developers interested in open-source development to contribute in our discussion forums, issue boards and by making their own pull requests. We'll see you on [GitHub](https://github.com/SuperDuperDB/superduperdb)! - -### Become a Design Partner! - -We are looking for visionary organizations which we can help to identify and implement transformative AI applications for their business and products. We're offering this absolutely for free. If you would like to learn more about this opportunity please reach out to us via email: partnerships@superduperdb.com diff --git a/docs/hr/blog/2023-10-04-walkthrough-rag-app-atlas.md b/docs/hr/blog/2023-10-04-walkthrough-rag-app-atlas.md deleted file mode 100644 index 0fa4fc41f3..0000000000 --- a/docs/hr/blog/2023-10-04-walkthrough-rag-app-atlas.md +++ /dev/null @@ -1,143 +0,0 @@ -# How to efficiently build AI chat applications for your own documents with MongoDB Atlas - -*Despite the huge surge in popularity in building AI applications with LLMs and vector search, -we haven't seen any walkthroughs boil this down to a super-simple, few-command process. -With SuperDuperDB together with MongoDB Atlas, it's easier and more flexible than ever before.* - -:::info -We have built and deployed an AI chatbot for questioning technical documentation to showcase how efficiently and flexibly you can build end-to-end Gen-AI applications on top of MongoDB with SuperDuperDB: https://www.question-the-docs.superduperdb.com/ -::: - -Implementing a (RAG) chat application like a question-your-documents service can be a tedious and complex process. There are several steps involved in doing this: - - - -- Serve a model or forward requests to convert text-data in the database to vectors in a vector-database -- Setting up a vector-index in a vector-database which efficiently finds similar vectors -- Setting up an endpoint to either run a self hosted LLM or forward requests to a question-answering LLM such as OpenAI -- Setting up an endpoint to: - - Convert a question to a vector - - Find relevant documents to the question using vector-search - - Send the documents as context to the question-answering LLM - -This process can be tedious and complex, involving several pieces of infrastructure, especially -if developers would like to use other models than those hosted behind OpenAI's API. - -What if we told you that with SuperDuperDB together with MongoDB Atlas, these challenges are a thing of the past, -and can be done more simply than with any other solution available? - -Let's dive straight into the solution: - -**Connect to MongoDB Atlas with SuperDuperDB** - -```python -from superduperdb.db.base.build import build_datalayer -from superduperdb import CFG -import os - -ATLAS_URI = "mongodb+srv://@/" -OPENAI_API_KEY = "" - -os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY - -CFG.data_backend = ATLAS_URI -CFG.vector_search = ATLAS_URI - -db = build_datalayer() -``` - -After connecting to SuperDuperDB, setting up question-your-documents in Python boils down to 2 commands. - -**Set up a vector-index** - -```python -from superduperdb.container.vector_index import VectorIndex -from superduperdb.container.listener import Listener -from superduperdb.ext.openai.model import OpenAIEmbedding - -collection = Collection('documents') - -db.add( - VectorIndex( - identifier='my-index', - indexing_listener=Listener( - model=OpenAIEmbedding(model='text-embedding-ada-002'), - key='txt', - select=collection.find(), - ), - ) -) -``` - -In this code snippet, the model used for creating vectors is `OpenAIEmbedding`. This is completely configurable. -You can also use: - -- CohereAI API -- Hugging-Face `transformers` -- `sentence-transformers` -- Self built models in `torch` - -The `Listener` component sets up this model to listen for new data, and compute new vectors as this data comes in. - -The `VectorIndex` connects user queries with the computed vectors and the model. - -By adding this nested component to `db`, the components are activated and ready to go for vector-search. - -**Add a question-answering component** - -```python -from superduperdb.ext.openai.model import OpenAIChatCompletion - -chat = OpenAIChatCompletion( - model='gpt-3.5-turbo', - prompt=( - 'Use the following content to answer this question\n' - 'Do not use any other information you might have learned\n' - 'Only base your answer on the content provided\n' - '{context}\n\n' - 'Here\'s the question:\n' - ), -) - -db.add(chat) -``` - -This command creates and configures an LLM hosted on OpenAI to operate together with MongoDB. -The prompt can be configured to ingest the context using the `{context}` format variable. -The results of the vector search are pasted into this format variable. - -**Question your documents!** - -```python -input = 'Explain to me the reasons for the change of strategy in the company this year.' - -response, context = db.predict( - 'gpt-3.5-turbo', - input=input, - context=collection.like({'txt': input}, vector_index='my-index').find() -) -``` - -This command executes the vector-search query in the `context` parameter. The results of -this search are added to the prompt to prime the LLM to ground its answer on the documents -in MongoDB. - -### Useful Links - -- **[Website](https://superduperdb.com/)** -- **[GitHub](https://github.com/SuperDuperDB/superduperdb)** -- **[Documentation](https://docs.superduperdb.com/docs/category/get-started)** -- **[Blog](https://docs.superduperdb.com/blog)** -- **[Example Use Cases & Apps](https://docs.superduperdb.com/docs/category/use-cases)** -- **[Slack Community](https://join.slack.com/t/superduperdb/shared_invite/zt-1zuojj0k0-RjAYBs1TDsvEa7yaFGa6QA)** -- **[LinkedIn](https://www.linkedin.com/company/superduperdb/)** -- **[Twitter](https://twitter.com/superduperdb)** -- **[Youtube](https://www.youtube.com/@superduperdb)** - -### Contributors are welcome! - -SuperDuperDB is open-source and permissively licensed under the [Apache 2.0 license](https://github.com/SuperDuperDB/superduperdb/blob/main/LICENSE). We would like to encourage developers interested in open-source development to contribute in our discussion forums, issue boards and by making their own pull requests. We'll see you on [GitHub](https://github.com/SuperDuperDB/superduperdb)! - -### Become a Design Partner! - -We are looking for visionary organizations which we can help to identify and implement transformative AI applications for their business and products. We're offering this absolutely for free. If you would like to learn more about this opportunity please reach out to us via email: partnerships@superduperdb.com diff --git a/docs/hr/blog/2024-03-11-rag-system-on-duckdb-using-jinaai-and-superduperdb.md b/docs/hr/blog/2024-03-11-rag-system-on-duckdb-using-jinaai-and-superduperdb.md deleted file mode 100644 index 0e0ee2a1d3..0000000000 --- a/docs/hr/blog/2024-03-11-rag-system-on-duckdb-using-jinaai-and-superduperdb.md +++ /dev/null @@ -1,322 +0,0 @@ ---- -slug: rag-system-on-duckdb-using-jinaai-and-superduperdb -title: 'Implementing a RAG System on DuckDB Using Jina AI and SuperDuperDB' -authors: [anita, fernando] -tags: [Jina AI, DuckDB, LanceDB, RAG] ---- - -# Implementing a RAG System on DuckDB Using Jina AI and SuperDuperDB - -### Querying your SQL database purely in human language - -![RAG = DuckDB + SuperDuperDB + Jina AI](https://cdn-images-1.medium.com/max/3840/1*1-DJQuXhJvJpw_zbJNeESA.png) - -Unless you live under a rock, you must have heard the buzzword **“LLMs”**. - -It’s the talk around town. - -LLM models, as we all know, have so much potential. But they have the issue of hallucinating and a knowledge cut-off. - -The need to mitigate these two significant issues when using LLMs has led to the rise of RAGs and the implementation of RAGs in your existing database. - -### What is RAG? - - - -### Let’s paint a picture. - -Let’s say you work for an e-commerce company. And you want the non-technical marketing personnel to be able to get updated customer shopping information from the database at will. - -**A straightforward way is to build a system that lets them chat with the database in natural human language a.k.a RAG.** - -**RAG**, which stands for **Retrieval-Augmented Generation**, is a method used in natural language processing (NLP) to enhance the capabilities of language models. It combines the power of two distinct components: a retriever and a generator. The retriever is used to fetch relevant context or documents from a large corpus of text, and the generator is then used to produce a coherent and contextually relevant output based on both the input query and the retrieved documents. - -To build a RAG system, you need two major things - -* A database with a vector search functionality - -* LLM model(s) - - - -**One popular and fast OLAP database that fits this use case perfectly is DuckDB.** - -[**DuckDB**](https://duckdb.org/) is an **in-process SQL OLAP (Online Analytical Processing)** database management system. It’s designed to be fast and easy to use, focusing on data analytics. Unlike traditional OLTP (Online Transaction Processing) databases optimized for transactional workloads, OLAP databases like DuckDB are optimized for complex queries and aggregations typical in data analysis tasks. - -*Find more information about DuckDB [here](https://duckdb.org/docs/)* - -At the moment**, DuckDB** does not have native vector-search support. - -**SuperduperDB will help with extending this functionality to DuckDB.** - - -[**SuperDuperDB**](https://superduperdb.com/) is a Python framework designed to integrate AI models, APIs, and vector search engines with existing databases directly. It supports hosting your models, streaming inference, and scalable model training/fine-tuning. The framework aims to simplify the process of building, deploying, and managing AI applications without complex pipelines or specialized infrastructure. SuperDuperDB enables the integration of AI and vector search directly with databases, facilitating real-time inference and model training, all while using Python. This makes building and managing AI applications easier without moving data to complex pipelines and specialized vector databases. - - **SuperduperDB can enhance the lightweight, fast nature of DuckDB by adding a vector search functionality and AI models to the database in a few simple steps.** - -*SuperduperDB also supports other popular databases, like MongoDB, Postgres, Mysql etc. More info about SuperDuperDB data integration can be found [here](https://docs.superduperdb.com/docs/category/data-integrations)* - - - -The **Jina Embeddings v2** will be used as an embedding model to be used to generate vector embeddings on the existing data. - -[**Jina AI**](https://jina.ai/) offers a top-tier embedding model: Jina Embeddings v2, designed to enhance search and retrieval systems with 1 million free tokens for new API keys, facilitating personal and commercial projects without requiring a credit card. This model stands out for its deep integration of cutting-edge academic research and rigorous testing against state-of-the-art (SOTA) models, ensuring exceptional performance. It is the first open-source model to support an 8192-token length, representing entire chapters within a single vector. The model supports multilingual embeddings, including German-English, Chinese-English, and Spanish-English, making it ideal for cross-lingual applications. It also boasts seamless integration capabilities, fully compatible with OpenAI’s API and easily integrating with over ten vector databases and retrieval-augmented generation (RAG) systems, ensuring a smooth and efficient user experience. - - -Jina AI mission is to lead the advancement of multimodal AI through innovative embedding and prompt-based technologies, focusing specifically on areas like natural language processing, image and video analysis, and cross-modal data interaction. - -*Find more information about Jina [here](https://jina.ai/).* - -In this use case, the retriever will be our vector search, and our generator will be OpenAI’s ChatGPT model **(LLM)**, which will synthesize the output retrieved from the vector search. - -The architecture would look something like this. - -![RAG with DuckDB, Jina AI and SuperDuperDB](https://cdn-images-1.medium.com/max/41050/1*ixzqM-caGrKmwNICE8lH4A.png) - -The data we will be ingesting into the database will be from [Kaggle](https://www.kaggle.com/datasets/zeesolver/consumer-behavior-and-shopping-habits-dataset?resource=download&select=shopping_behavior_updated.csv), which has 17 columns that consist of customer shopping habit details. - -```python - import pandas as pd - - shopping_df = pd.read_csv("shopping_trends.csv") - shopping_df.info() -``` -![](https://cdn-images-1.medium.com/max/2000/1*7UziD5fjeDMucWbDsHpcgg.png) - -We will add a column called “Description”, which contains the description of each row. - -```python - def create_description(row): - description = f"Customer {row['Customer ID']} is a {row['Age']}-year-old {row['Gender']} who purchased a {row['Color']} {row['Item Purchased']} from the {row['Category']} category for ${row['Purchase Amount (USD)']}. " - description += f"The purchase was made in {row['Season']} from {row['Location']} in size {row['Size']}. " - description += f"Review rating was {row['Review Rating']}, and the purchase method was {row['Payment Method']} with {row['Shipping Type']} shipping. " - description += f"Discounts applied: {row['Discount Applied']}, Promo code used: {row['Promo Code Used']}. " - description += f"Customer has made {row['Previous Purchases']} previous purchases and prefers {row['Preferred Payment Method']} with a purchase frequency of {row['Frequency of Purchases']}. Subscription status: {row['Subscription Status']}." - return description - - # Apply the function to create the description column - shopping_df['Description'] = shopping_df.apply(create_description, axis=1) - - print(shopping_df['Description'][0]) -``` - -![](https://cdn-images-1.medium.com/max/5368/1*oouqj0tC7fhXm88Tok57cw.png) - -### Now, let's get started. - -Our RAG System implementation would be in 5 steps - - 1. Install the necessary libraries and set the environment variable - - 2. Connect DuckDB to SuperDuperdb - - 3. Define the schema of the data - - 4. Add a vector index and an embedding model to the database - - 5. Add ChatGPT Model to the database - -### Step-by-step: - -1. **Install the necessary libraries and set the environment variables.** - -*We would be using the Ibis framework to install DuckDB. Ibis is a Python library for data analysis that offers a pandas-like syntax better suited for big data systems. More info about it here [here](https://ibis-project.org/)* -```python - ! pip install "ibis-framework[duckdb]" - ! pip install superduperdb - ! pip install openai - ! pip install jina - - import os - - os.environ['OPENAI_API_KEY'] = 'OPENAI-API' - os.environ['JINA_API_KEY'] = 'JINA-API' -``` - -2. **Connect DuckDB to SuperDuperDB using a DuckDB URI.** - -*For this use case, we use Lance as the vector-search backend for DuckDB. We would also define an artifact store path locally and a metadata store path using SQLite.* -```python - from superduperdb import superduper - from superduperdb import CFG - - CFG.force_set('cluster.vector_search', 'lance') - artifact_store = 'filesystem://./my' - metadata_store ='sqlite:///my.sqlite' - - duckdb_uri = 'duckdb://my.ddb' - db = superduper(duckdb_uri, metadata_store=metadata_store, artifact_store=artifact_store) -``` -*You can view the configuration this way below.* -```python - print(CFG) -``` -![Config results](https://cdn-images-1.medium.com/max/5160/1*hSAK3L8Bj9vGIVDmeQU0lQ.png) - -*However, these configurations are optional. Alternatively, you can skip setting configuration and just connect to SuperDuperDB this way.* -```python - duckdb_uri = 'duckdb://my.ddb' - db = superduper(duckdb_uri) - - print(CFG) -``` - -![Config results](https://cdn-images-1.medium.com/max/5380/1*L7ZqSvgHQ-EiDcLNLedhPQ.png) - -*If none of these configurations are set, it defaults to in-memory vector search. Also, the metadata and artifact store path are None* - -3. **Define the table and schema. Add them as well as data to the database** - -*Defining the schema involves defining a table name, a unique identifier of the table as the primary key, a schema name, the column names, and their respective datatypes.* -```python - from superduperdb.backends.ibis.query import Table - from superduperdb.backends.ibis.field_types import dtype - from superduperdb import Schema - - shopping_table = Table( - 'shopping_table', #tablename - primary_id='Customer ID', #unique identifier - schema=Schema( - 'shopping-schema', #schema name - - - ) - ) - - - db.add(shopping_table) -``` -Next, add the Dataframe data to the DB. -```python - _ = db.execute(shopping_table.insert(shopping_df)) -``` -You can view the five rows of the table like this. -```python - list(db.execute(shopping_table.limit(5))) -``` - -![](https://cdn-images-1.medium.com/max/5520/1*NW3GLWmBA4qfw8qZNiB7LQ.png) - - - -4. **Add the Jina AI embedding model and the vector index to the database** - -*The **“Jina Embeddings v2” **would be used to create the vector embedding on the **“Description” **column on the **“shopping_table”.*** -```python - from superduperdb.ext.jina import JinaEmbedding - - # define the model - model = JinaEmbedding(identifier='jina-embeddings-v2-base-en') -``` -*The **Listener function **is used to listen to user queries and convert the queries to vectors automatically using the embedding model. * -```python - - from superduperdb import VectorIndex, Listener - - # define the listener - listener = Listener(model=model,key='Description',select=shopping_table) - - # define the vector index - db.add(VectorIndex(identifier='my-duckdb-index', indexing_listener= listener)) -``` -*More information about Listener can be found[ here](https://docs.superduperdb.com/docs/docs/fundamentals/component_abstraction).* - -At this stage, an embedding of all the rows in the description column is automatically populated. - -5. **Add the ChatGPT model to the database**. - -```python - from superduperdb.ext.openai import OpenAIChatCompletion - - # Define the prompt for the OpenAIChatCompletion model - prompt = ( - 'Use the following context to answer this question\n' - 'Do not use any other information you might have learned \n' - 'Check the context and filter out results that do not match the question' - 'Only base your answer on the context retrieved\n' - '{context}\n\n' - 'Here\'s the question:\n' - ) - - # Create an instance of OpenAIChatCompletion with the specified model and prompt - chat = OpenAIChatCompletion(identifier="chatgpt_model", model='gpt-3.5-turbo', prompt=prompt) - - # Add the instance to the database - db.add(chat) - -``` - - -### **Excellent, you have built a simple RAG.** - - - -Let’s test it by creating a simple function that helps to interact with the RAG system. -```python - from superduperdb import Document - - model_identifier = 'chatgpt_model' - column_to_vectorize = 'Description' - vector_index_identifier = 'my-duckdb-index' - - def chat_with_database(search_term, - model_identifier = model_identifier, - column_to_vectorize = column_to_vectorize, - vector_index_identifier = vector_index_identifier): - # Use the SuperDuperDB model to generate a response based on the search term and context - output, context = db.predict( - model_name=model_identifier, - input=search_term, - context_select=( - shopping_table - .like(Document({column_to_vectorize: search_term }), vector_index=vector_index_identifier) - .limit(5) - ), - context_key=column_to_vectorize, - - ) - return output.content -``` -The function above will be the function that would be called as soon as the user or marketing personnel types something related to the database data. - -To call the function, use the code below. -```python - user_query = 'Find me Customers between age 20 and 28 and with size L' - print(chat_with_database(user_query) -``` -![Query results](https://cdn-images-1.medium.com/max/2268/1*MfwkIsB__550jvbwBhbIBw.png) - -The above shows the results of the query - -To check how many models are in your Database, use the code below -```python - print(db.show('model')) -``` - -![JinAI Model and ChatGPT Model in the DuckDB](https://cdn-images-1.medium.com/max/2268/1*pq3wQQFG3bBaGxV3aI-0Qg.png) - -The above shows that two models are simultaneously in the database (the Jina Embeddings v2 and the ChatGPT model). - -### Conclusion - -Now that you have built and implemented your RAG system, the next step would be to wrap it all in a user interface. And then, you would have a system that helps non-technical chat with your Database purely in human language using Jina AI and SuperDuperDB. - -Check out the Jina AI open-source repo and SuperDuperDB open-source repo to stay updated on more functionalities. - - - -### Useful Links - -- **[Website](https://superduperdb.com/)** -- **[GitHub](https://github.com/SuperDuperDB/superduperdb)** -- **[Documentation](https://docs.superduperdb.com/docs/category/get-started)** -- **[Blog](https://docs.superduperdb.com/blog)** -- **[Example Use Cases & Apps](https://docs.superduperdb.com/docs/category/use-cases)** -- **[Slack Community](https://join.slack.com/t/superduperdb/shared_invite/zt-1zuojj0k0-RjAYBs1TDsvEa7yaFGa6QA)** -- **[LinkedIn](https://www.linkedin.com/company/superduperdb/)** -- **[Twitter](https://twitter.com/superduperdb)** -- **[Youtube](https://www.youtube.com/@superduperdb)** - -### Contributors are welcome! - -SuperDuperDB is open-source and permissively licensed under the [Apache 2.0 license](https://github.com/SuperDuperDB/superduperdb/blob/main/LICENSE). We would like to encourage developers interested in open-source development to contribute in our discussion forums, issue boards and by making their own pull requests. We'll see you on [GitHub](https://github.com/SuperDuperDB/superduperdb)! diff --git a/docs/hr/blog/2024-03-13-nomic-integration.md b/docs/hr/blog/2024-03-13-nomic-integration.md deleted file mode 100644 index b8b0a34341..0000000000 --- a/docs/hr/blog/2024-03-13-nomic-integration.md +++ /dev/null @@ -1,243 +0,0 @@ ---- -slug: nomic-integration -title: 'Integrating Nomic API with MongoDB using SuperDuperDB' -authors: [anita] -tags: [Nomic, MongoDB, API] ---- - -## Integrating Nomic API with MongoDB using SuperDuperDB - -![Photo](https://cdn-images-1.medium.com/max/4096/0*2OFjqtMwgV0LEwMm) - -One of the major components of building an RAG system is being able to perform a **vector search** or a **semantic search**. This potentially includes having an **embedding model** and **a database of choice**. - -**For this demo, we will be using Nomic’s embedding model and MongoDB in order to accomplish this** - -[**Nomic AI**](https://home.nomic.ai/) builds tools to enable anyone to interact with AI scale datasets and models. Nomic [Atlas](https://blog.nomic.ai/posts/atlas.nomic.ai) enables anyone to instantly visualize, structure, and derive insights from millions of unstructured data points. The text embedder, known as Nomic Embed, is the backbone of Nomic Atlas, allowing users to search and explore their data in new ways. - - - -[**MongoDB**](https://www.mongodb.com/) is a popular open-source NoSQL database that is known for its flexibility, scalability, and performance. Unlike traditional relational databases that store data in tables with fixed schemas, MongoDB uses a document-oriented approach to store data in flexible, JSON-like documents. [**MongoDB Atlas**](https://www.mongodb.com/atlas/database) is a database service that drastically simplifies how people can build AI-enriched applications. It helps reduce complexity by allowing for low-latency deployments worldwide, automated scaling of compute and storage resources, and a unified query API, integrating operational, analytical, and vector search data services. - -However, one thing still needs to be solved: how to generate and store embeddings of your existing data on the fly. - - -**SuperDuperDB helps to bridge this gap.** - -[**SuperDuperDB**](https://superduperdb.com/) is a Python framework that directly integrates AI models, APIs, and vector search engines with existing databases. -With SuperDuperDB, one can: - -* Seamlessly integrate popular embedding APIs and open-source models with your database, enabling automatic generation of embeddings for your existing data in your database - -* Effortlessly manage different embedding models and APIs ( text, images) to suit diverse needs. - -* Empower your database to process new queries instantly and create embeddings in real time. - -**One bonus point** about using SuperDuperDB is its flexibility in integrating with custom functions. - -**We would use this to integrate with the Nomic embedding model.** - - - -### **Let’s integrate the Nomic embedding model into your MongoDB using SuperDuperDB.** - - - -**Step 1: Install SuperDuperDB and Nomic** -```python - pip install superduperdb - pip install nomic -``` - - -**Step 2: Set your NOMIC API Key** - -Get your Nomic API key from the [Nomic Atlas website](https://atlas.nomic.ai/) and add it as an environment variable -```python - import nomic - NOMIC_API_KEY = "" - nomic.cli.login(NOMIC_API_KEY) -``` - - -**Step 3: Connect SuperDuperDB to your MongoDB database and define the collection** - -*For this demo, we will be using the default MongoDB testing connection. However, this can be switched to a local MongoDB instance, MongoDB with authentication and even MongoDB Atlas URI.* -```python - from superduperdb import superduper - from superduperdb.backends.mongodb import Collection - - mongodb_uri = "mongomock://test" - artifact_store = 'filesystem://./my' - - - db = superduper(mongodb_uri, artifact_store=artifact_store) - - my_collection = Collection("documents") - ``` - -*Note that* - -* *The MongoDB URI can also be either local-hosted or MongoDB Atlas* - -* *We also defined an artefact store path locally to store the model and data artefacts* - -Next, let’s ingest some sample data directly -```python - from superduperdb import Document - - data = [ - { - "title": "Election Results", - "description": "Detailed analysis of recent election results and their implications." - }, - { - "title": "Foreign Relations", - "description": "Discussion on current diplomatic relations with neighboring countries and global partners." - }, - { - "title": "Policy Changes", - "description": "Overview of proposed policy changes and their potential impact on the population." - }, - { - "title": "Championship Game", - "description": "Recap of the thrilling championship game, including key plays and player performances." - }, - { - "title": "Athlete Spotlight", - "description": "Profile of a prominent athlete, highlighting their achievements and career milestones." - }, - { - "title": "Upcoming Tournaments", - "description": "Preview of upcoming sports tournaments, schedules, and participating teams." - }, - { - "title": "COVID-19 Vaccination Drive", - "description": "Updates on the progress of the COVID-19 vaccination campaign and vaccination centers." - }, - { - "title": "Mental Health Awareness", - "description": "Importance of mental health awareness and tips for maintaining emotional well-being." - }, - { - "title": "Healthy Eating Habits", - "description": "Nutritional advice and guidelines for maintaining a balanced and healthy diet." - } - ] - - - - db.execute(my_collection.insert_many([Document(r) for r in data])) -``` -*If you already have existing data in your collection, skip the step above* - -Next, view the first row of your collection -```python - result = db.execute(my_collection.find_one()) - print(result) -``` - - -**Step 4: Define the embedding model in a function wrapper** -```python - from superduperdb import Model, vector - from nomic import embed - - - def generate_embeddings(input:str) -> list[float]: - """Generate embeddings from Nomic Embedding API. - - Args: - input_text: string input. - Returns: - a list of embeddings. Each element corresponds to the each input text. - """ - - outputs = embed.text(texts=[input], model='nomic-embed-text-v1') - return outputs["embeddings"][0] - - - model = Model(identifier='nomic_embedding_model', object=generate_embeddings, encoder=vector(shape=(768,))) -``` -*Note:* - -* *The model identifier is a name to identify the model. It can be any name of choice* - -* *The object is to call the custom function created to generate the nomic embeddings* - -* *The encoder argument above denotes the shape of the expected embedding output. The expected embedding shape for the NOMIC model is 768* - - - -Test your model output **on the fly**. -```python - model.predict("This is a test") -``` - - -**Step 5: Add the Nomic Embed model and the vector index to the database** -```python - from superduperdb import Listener, VectorIndex - - collection_field_name = "description" - - - listener = Listener(model=model,key=collection_field_name,select=my_collection.find()) - - # define the vector index - db.add(VectorIndex(identifier=f'my-mongodb-{model.identifier}', indexing_listener= listener)) -``` -*The **Listener Class** is used to listen to user queries and convert the queries to vectors automatically using the embedding model. More information about Listener can be found[ here](https://docs.superduperdb.com/docs/docs/fundamentals/component_abstraction).* - -At this stage, an embedding of all the rows in the description column is automatically populated. - - - -### **Congratulations, you are ready to run a vector search!** - -Run a simple vector search query with the code below - -*For this demo, we would limit the search results to 2. Feel free to increase the limit* -```python - user_query = 'sport articles' - limit_search_results = 2 - - - result = db.execute( - my_collection - .like(Document({'description': user_query}), vector_index=f'my-mongodb-{model.identifier}', n=limit_search_results) - .find({}, {'title': 1, 'description': 1, 'score': 1}) - ) -``` -To view the result -```python - for r in result: - print(r.unpack()) -``` - - -### Conclusion - -Now that you have implemented the vector search functionality, the next step would be to add a chat model to the system to create a complete, simple RAG system. This can also be done with SuperDuperDB. - -To explore more, check out our other use cases in the [documentation](https://docs.superduperdb.com/docs/category/use-cases) - -**SuperDuperDB also supports vector-supported SQL databases like Postgres and non-vector-supported databases like MySQL and DuckDB.** - -Please check the [*documentation*](https://docs.superduperdb.com/docs/category/data-integrations) for more information about its functionality and the range of data integrations it supports. - -### Useful Links - -- **[Website](https://superduperdb.com/)** -- **[GitHub](https://github.com/SuperDuperDB/superduperdb)** -- **[Documentation](https://docs.superduperdb.com/docs/category/get-started)** -- **[Blog](https://docs.superduperdb.com/blog)** -- **[Example Use Cases & Apps](https://docs.superduperdb.com/docs/category/use-cases)** -- **[Slack Community](https://join.slack.com/t/superduperdb/shared_invite/zt-1zuojj0k0-RjAYBs1TDsvEa7yaFGa6QA)** -- **[LinkedIn](https://www.linkedin.com/company/superduperdb/)** -- **[Twitter](https://twitter.com/superduperdb)** -- **[Youtube](https://www.youtube.com/@superduperdb)** - -### Contributors are welcome! - -SuperDuperDB is open-source and permissively licensed under the [Apache 2.0 license](https://github.com/SuperDuperDB/superduperdb/blob/main/LICENSE). We would like to encourage developers interested in open-source development to contribute in our discussion forums, issue boards and by making their own pull requests. We'll see you on [GitHub](https://github.com/SuperDuperDB/superduperdb)! diff --git a/docs/hr/blog/authors.yml b/docs/hr/blog/authors.yml deleted file mode 100644 index 41042e4020..0000000000 --- a/docs/hr/blog/authors.yml +++ /dev/null @@ -1,35 +0,0 @@ -blythed: - name: Duncan Blythe - title: CTO & Co-founder of SuperDuperDB - url: https://github.com/blythed - image_url: https://avatars.githubusercontent.com/u/15139331?v=4 - -timo: - name: Timo Hagenow - title: CEO & Co-founder of SuperDuperDB - url: https://www.linkedin.com/in/timohagenow/ - image_url: https://media.licdn.com/dms/image/D4E03AQGg35RuVoXOYQ/profile-displayphoto-shrink_800_800/0/1682109861734?e=1715817600&v=beta&t=ntyPTlLo6a2kXWChTp09eanvWGFaYkQcnxtsBqjkq58 - -nenb: - name: Nick Byrne - title: Engineer at SuperDuperDB - url: https://github.com/nenb - image_url: https://avatars.githubusercontent.com/u/55434794?v=4 - -fernando: - name: Fernando Guerra - title: Growth at SuperDuperDB - url: https://www.linkedin.com/in/fernando2guerra/ - image_url: https://avatars.githubusercontent.com/u/9541936?v=4 - -anita: - name: Anita Okoh - title: Data Scientist at SuperDuperDB - url: https://www.linkedin.com/in/anita-okoh/ - image_url: https://avatars.githubusercontent.com/u/12241062?v=4 - -rocky: - name: Md Fazlul Karim - title: Engineer at SuperDuperDB - url: https://www.linkedin.com/in/fazlulkarimweb/ - image_url: https://media.licdn.com/dms/image/D4D03AQEx0B8iKeYK7A/profile-displayphoto-shrink_800_800/0/1684785144602?e=1715817600&v=beta&t=oKhK5mUPgBVI6w7y9JH0lD3VgwuDRqVjcP_MhadJJe0 diff --git a/docs/hr/blog/rag-question-answering-components/Bot.jsx b/docs/hr/blog/rag-question-answering-components/Bot.jsx deleted file mode 100644 index 00b8cf9d0e..0000000000 --- a/docs/hr/blog/rag-question-answering-components/Bot.jsx +++ /dev/null @@ -1,85 +0,0 @@ -import React from "react" -import { useState } from 'react' -import ReactMarkdown from 'react-markdown' -import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter'; -import { hopscotch } from 'react-syntax-highlighter/dist/esm/styles/prism'; - -const MarkdownDisplay = ({responseText}) => { - return ( -

- - ) : ( - - {children} - - ) - } - }} - /> -
- ) - }; - - const handleSubmit = async ({ inputText, setResponseText }) => { - try { - setResponseText('Awaiting response to "' + inputText + '"...'); - const response = await fetch('https://question-the-docs.fly.dev/documents/query', { - method: 'POST', - headers: { - 'accept': 'application/json', - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ "query": inputText, "collection_name": 'superduperdb' }), - }); - const data = await response.json(); - setResponseText(data.answer); - } catch (error) { - console.error('Error:', error); - } - }; - - const Query = ({ inputText, setInputText, setResponseText, question}) => { - - const handleInputChange = (event) => { - setInputText(event.target.value); - }; - - const submit = async () => {await handleSubmit({inputText, setResponseText})}; - - return ( -
- - -
- ) - }; - - -function Bot({question, answer}) { - const [responseText, setResponseText] = useState(answer); - const [inputText, setInputText] = useState(''); - - return ( - <> - - -

- -
- - ) -} - -export default Bot diff --git a/docs/hr/blog/v1/releasingv1.md b/docs/hr/blog/v1/releasingv1.md deleted file mode 100644 index 6fafeef561..0000000000 --- a/docs/hr/blog/v1/releasingv1.md +++ /dev/null @@ -1,157 +0,0 @@ ---- -slug: superduperdb-the-open-source-framework-for-bringing-ai-to-your-datastore -title: 'Integrating AI directly with your databases to eliminate complex MLOps and vector databases' -authors: [blythed, timo] -image: /img/super_intro.png -tags: [Launching Blog, release] ---- -🔮**TL;DR:** *We introduce SuperDuperDB, which has just published its first major v0.1 release. SuperDuperDB is an open-source AI development and deployment framework to seamlessly integrate AI models and APIs with your database. In the following, we will survey the challenges presented by current AI-data integration methods and tools, and how they motivated us in developing SuperDuperDB. We'll then provide an overview of SuperDuperDB, highlighting its core principles, features and existing integrations.* - -![](/img/introduction.png) - -### AI adoption is pressing, but difficult - -AI is changing every industry and will soon play a central role in software products and services. - -Developers today may already choose from a growing number of powerful open-source AI models and APIs. Despite this, there are numerous challenges which face developers when integrating AI with data and bringing machine learning models to production. - -### AI and data live in silos separate from one another - -Data is crucial for AI, and, most importantly, connecting AI with data is vital for delivering value whether in training models or applying models to application-relevant data. A key problem stems from the disconnect between where data resides (in databases) and the lack of a standard method for AI models to interface with these databases. This results in convoluted MLOps pipelines, involving intricate steps, numerous tools, and specialized vector databases, and contributes to the status quo in which data and AI live in isolated silos. - -### Connecting AI with your data to build custom AI is a big challenge - -Current solutions require extracting data from the database, and bringing it to AI models. More specifically, extracted data is ingested into complex “MLOps” and “extract-transform-load” (ETL) pipelines that involve various steps, tools, and even specialized “vector-databases” and “feature-stores”. These convoluted pipelines involve sending the data back and forth, from one environment, format, location, or programming language to another. - -![](/img/complex_pipelines.png) - -In setting up these pipelines, developers are forced to implement a different version of the same task every time they wish to productionize an AI model. Each sub-step of this process may involve multiple sets of installation targets, cloud setups, docker containers, and computational environments. Since every model has its own particular interface and requirements, this leads to huge operational and infrastructural overhead, which multiplies with the number of models, data types, databases, and hardware requirements. - -This becomes increasingly difficult when: - -- data is constantly updated and changing -- data resides in multiple locations, -- data security restrictions disallow the use of AI APIs and require end-to-end self hosting. - -Due to this complexity, both individual developers and teams often struggle to put AI-powered applications into production, lacking the required expert knowledge in various domains, and unable to meet the prohibitive costs of deploying and maintaining such pipelines. - -### Low-code AI tools and cloud-managed AI often don’t fit the bill - -A new wave of AI companies and services offer "few-click" interfaces and "low-code markups" to ease AI-data integration for certain use-cases. However, these fall short of wide applicability. User-interfaces are typically too far removed from the nuts and bolts of AI models to become broadly useful; low-code mark-up languages hide the most important details of AI implementation from the user and render it impossible to override baked in defaults. This means that as soon as an application departs from the most commonly used and documented AI use-cases, developers are left without options for customization. - -On the other hand, services of the major cloud providers also make the promise to simplify AI and data integration. These offerings presents two major issues: developers are encouraged to give up full ownership of their stack, leading to costly vendor lock-in. What’s more, these services do little more than repackage traditional MLOps and ETL pipelines, still resulting in substantial developer overhead. - -### The problem with vector databases - -The popularity of vector-databases, alongside tools such as LangChain and LlamaIndex, has surged in 2023. This boom has been fuelled by the prospect of combining vector-searches with LLMs and the fact that standard databases lack the necessary vector-search functionality, model support, and support for flexible data types required. While these tools allow developers to get started with vector-search quickly, the reality is that, in production, primary data resides in, and will most likely remain in established databases. This means that developers are required to introduce an *additional* specialized database, for this single purpose, to their stacks, leading to data duplication, migration, and management overhead. If data is already stored in an existing, preferred and battle-tested database, then why not simply leave the data there? - -# Unifying data and AI - -We believe, unifying data and AI in a single environment is the key to facilitating AI adoption. By doing this, the difficulties encountered with MLOps, ETL and vector-databases can be completely avoided. - -Specifically, developers need an environment that can work directly with data in the database, enabling flexible integration of AI models, and vector-search, with minimal boilerplate. Ideally this environment should allow developers to connect a model to the database, so that it automatically processes incoming data, making economical use of resources. - -# Enter SuperDuperDB -![](/img/SuperDuperDB_GitHub_Repo.png) - -SuperDuperDB’s mission is to bring AI to the database, making data migration, data duplication, MLOps, and ETL pipelines things of the past. - -SuperDuperDB is a general-purpose AI development and deployment framework for integrating any AI models (including enhanced support for PyTorch, Scikit-Learn, Hugging Face) and AI APIs (including enhanced support for OpenAI, Anthrophic, Cohere) directly with existing databases, including streaming inference, model training, and vector search. SuperDuperDB is **not** a database, it **makes** your existing databases “super-duper”. - -```python -from superduperdb import superduper - -# Make your database super-duper! -db = superduper('mongodb|postgres|duckdb|snowflake|://') -``` - -By bringing AI directly to data, solo developers and organizations can avoid the complexity of building and integrating MLOps and ETL pipelines as well as migrating and duplicating data across multiple environments, including specialized vector databases. SuperDuperDB enables the integration of AI with data in the database, storing AI model outputs alongside the source data. These insights and AI outputs are then ready for instant deployment in downstream applications. - -SuperDuperDB provides a unified environment for building, shipping, and managing AI applications, including first-class support for: - -- Generative AI & LLM-chat applications -- Vector search -- Standard machine learning use-cases (classification, segmentation, recommendation, etc.) -- Highly custom AI use-cases involving application specific, home-grown models. - -:::info Support us by leaving a star -🔮 Please support us by leaving a star the GitHub repo and share it with anyone who could be interested: [https://github.com/SuperDuperDB/superduperdb](https://github.com/SuperDuperDB/superduperdb) -::: - -## Core principles and features of SuperDuperDB - -### Open source - -We believe AI software should be open-sourced to the community. Truly open-source tools are the only sure way for developers to protect their stacks from vunerable dependencies. - -With SuperDuperDB, we are excited to be part of a thriving open-source AI ecosystem. There is a wealth of open-source AI software and models available, including `transformers` from Hugging Face, `llama-2.0` and other LLMs that can compete with OpenAI's closed source models, computer vision models in PyTorch, and a plethora of new open-source tools and models emerging from GitHub. - -SuperDuperDB is permissively open-sourced under the Apache-2.0 license, and aims to become a leading standard in adopting and extracting value from this ecosystem. - -### **Python first** - -Many tools on the AI landscape encourage developers to move away from Python, in favour of specialized user-interfaces, or specific mark-up languages only relevant to the tool in question. This not only ignores the important fact that Python is the programming language of AI research, development and tooling, but the advertised simplicity comes at the great cost of flexibility. - -By building SuperDuperDB as an open-source Python package, we are able to provide a simple interface with high-level abstractions for users who wish to get started quickly with AI models, but enabling experts to drill down to any level of implementation detail. - -By deploying models directly to the database from Python, there is no overhead incurred by task-switching to other programming languages or environments. Using SuperDuperDB developers may: - -- add, leverage and work with any function, program, script or algorithm from the Python ecosystem to enhance workflows and applications. -- retain full control over the inner workings of models and training configurations -- combine SuperDuperDB with favoured tooling such as the vastly popular FastAPI. ([See here for an open-source chatbot implementation based on SuperDuperDB and FastAPI](https://github.com/SuperDuperDB/chat-with-your-docs-backend), which showcases how easily SuperDuperDB and the Python ecosystem interact.) -- interface with their database using SuperDuperDB directly from a Jupyter notebook - the data scientist’s development environment of choice. - -### Avoid **complex pipelines** - -Arbitrary pipeline builders, as offered in typical MLOps tooling, typically consist of repeated rounds of ETL, with a variety of models and processors. By understanding the patterns which AI developers typically apply, we were able to build a framework which avoids the necessity of pipeline building while leveraging compute in the most efficient way possible. - -As a result, SuperDuperDB allows developers to: - -- avoid data duplication and migration. -- avoid additional pre-processing steps, ETL, and boilerplate code. -- activate models to compute outputs automatically as new data arrives, keeping deployments up-to-date. -- train AI models on large datasets, utilizing the in-built scalability of SuperDuperDB. -- set up complex workflows by connecting models and APIs to work together in an interdependent and sequential manner. - -### Avoid specialized vector databases - -With SuperDuperDB, there is no need to duplicate and migrate data to additional specialized vector databases — your existing database becomes a fully-fledged multi-modal vector-search database, with support for arbitrary data types, and generation of vector embeddings and vector indexes of your data with arbitrary AI models and APIs. - -### Support for arbitrary data types - -SuperDuperDB supports images, video, and arbitrary data-types which may be defined in Python; this includes efficient use of hybrid database-filesystem storage, allowing developers to make the most effective use of storage modalities and achieve great I/O performance. - -### First-class support for generative AI as well as classical machine learning - -SuperDuperDB levels the playing field for all AI models, regardless of complexity. Setting up applications such as retrieval-augmented-generation (RAG) chatbots, which combine generative AI and vector search, is as easy as setting up a wide range of industry use-cases involving tabular data, time-series, and more, all of which still hold immense value. Even applications that combine generative AI with classical ML algorithms can be seamlessly integrated into a single workflow. - -![](/img/firstclass.png) - -# Current Integrations: - -### Datastores: - -![](/img/datastore.png) - -### AI Frameworks & APIs: -![](/img/AI1.png) -![](/img/AI2.png) - - -# Use-cases and applications - -We have already implemented numerous use-cases and applications, such as LLM RAG chat, forecasting, recommenders, sentiment analysis which you can refer to in the [README of our main repository](https://github.com/SuperDuperDB/superduperdb) and in our [example use cases documentation](https://docs.superduperdb.com/docs/category/use-cases) - -![](/img/usecase.png) - -In addition, we already have several impressive applications and use-cases built by the open-source community, which we are excited to present in our dedicated community apps showcase repo: [SuperDuperDB Community Apps](https://github.com/SuperDuperDB/superduper-community-apps). - -# Vision, roadmap, and how to get started - -After reviewing the use cases, you’ll be ready to build your own AI applications using your own database. For assistance, please refer to our [documentation](https://docs.superduperdb.com/docs/docs/intro) and join our [Slack](https://superduperdb.slack.com/join/shared_invite/zt-1zuojj0k0-RjAYBs1TDsvEa7yaFGa6QA#/shared-invite/email). We would also love to hear about your project and help you to share it with the community. - -The current focus of the roadmap is making the deployment of SuperDuperDB absolutely production-ready and to improve optimizations for deployment, compute efficiency and scalability. - -:::info Leave a star -❤️‍🔥 If you haven’t yet, now is the time to leave a star on GitHub to support the project and share it with your friends and colleagues: https://github.com/SuperDuperDB/superduperdb -::: \ No newline at end of file diff --git a/docs/hr/content/docs/intro.md b/docs/hr/content/docs/intro.md index 50049fac4e..7b35369966 100644 --- a/docs/hr/content/docs/intro.md +++ b/docs/hr/content/docs/intro.md @@ -14,7 +14,7 @@ SuperDuperDB is **not** a database. SuperDuperDB is an open platform unifying da By integrating AI at the data's source, we aim to make building AI applications easier and more flexible: Not just for use in standard machine learning use-cases like classification, segmentation, recommendation, etc., but also generative AI & LLM-chat, vector search as well as highly custom AI applications and workflows involving ultra-specialized models. -For more information about SuperDuperDB and why we believe it is much needed, [read this blog post](https://docs.superduperdb.com/blog/superduperdb-the-open-source-framework-for-bringing-ai-to-your-datastore/). +For more information about SuperDuperDB and why we believe it is much needed, [read this blog post](https://blog.superduperdb.com/superduperdb-the-open-source-framework-for-bringing-ai-to-your-datastore/). ![](/img/superduperdb.gif) diff --git a/docs/hr/docusaurus.config.js b/docs/hr/docusaurus.config.js index d3d210830d..926b74beaf 100644 --- a/docs/hr/docusaurus.config.js +++ b/docs/hr/docusaurus.config.js @@ -48,7 +48,7 @@ const config = { indexDocSidebarParentCategories: 0, // whether to index blog pages - indexBlog: true, + indexBlog: false, // whether to index static pages // /404.html is never indexed @@ -183,13 +183,7 @@ const config = { editUrl: 'https://github.com/SuperDuperDB/superduperdb/blob/main/docs/hr', }, - blog: { - showReadingTime: true, - // Please change this to your repo - // Remove this to remove the "edit this page" links. - editUrl: - 'https://github.com/SuperDuperDB/superduperdb/blob/main/docs/hr', - }, + blog: false, theme: { customCss: require.resolve('./src/css/custom.css'), }, @@ -234,7 +228,12 @@ const config = { position: 'left', label: 'Use Cases', }, - { to: '/blog', label: 'Blog', position: 'left' }, + { + to: 'https://blog.superduperdb.com/', + label: 'Blog', + position: 'left', + target: '_self', + }, { href: 'https://docs.superduperdb.com/apidocs/source/superduperdb.html', label: 'API', @@ -279,7 +278,8 @@ const config = { }, { label: 'Blog', - to: '/blog', + to: 'https://blog.superduperdb.com/', + target: '_self', }, ], },