From 23e50ff7159112dea3c1988eacbe85de3696628e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pstr=C4=85g?= Date: Wed, 21 Aug 2024 14:25:17 +0000 Subject: [PATCH] docs: update logo (#86) --- README.md | 24 ++-- docs/assets/banner-dark.svg | 266 +++++++++++++++++++++++++++++++++++ docs/assets/banner-light.svg | 266 +++++++++++++++++++++++++++++++++++ docs/assets/favicon.ico | Bin 0 -> 15406 bytes docs/assets/guide_dog_lg.png | Bin 15525 -> 0 bytes docs/assets/guide_dog_sm.png | Bin 2533 -> 0 bytes docs/assets/logo.svg | 229 ++++++++++++++++++++++++++++++ docs/index.md | 113 ++++++++++++++- docs/stylesheets/extra.css | 10 +- mkdocs.yml | 56 ++++++-- 10 files changed, 937 insertions(+), 27 deletions(-) create mode 100644 docs/assets/banner-dark.svg create mode 100644 docs/assets/banner-light.svg create mode 100644 docs/assets/favicon.ico delete mode 100644 docs/assets/guide_dog_lg.png delete mode 100644 docs/assets/guide_dog_sm.png create mode 100644 docs/assets/logo.svg diff --git a/README.md b/README.md index 0bbc2843..53210ef7 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,26 @@ -#

🦮 db-ally

+
-

- Efficient, consistent and secure library for querying structured data with natural language + + + dbally logo + + +
+
+ +

+ Efficient, consistent and secure library for querying structured data with natural language

---- +[![PyPI - License](https://img.shields.io/pypi/l/dbally)](https://pypi.org/project/dbally) +[![PyPI - Version](https://img.shields.io/pypi/v/dbally)](https://pypi.org/project/dbally) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/dbally)](https://pypi.org/project/dbally) -* **Documentation:** [db-ally.deepsense.ai](https://db-ally.deepsense.ai/) -* **Source code:** [github.com/deepsense-ai/db-ally](https://github.com/deepsense-ai/db-ally) +
--- - -**db-ally** is an LLM-powered library for creating natural language interfaces to data sources. While it occupies a similar space to the text-to-SQL solutions, its goals and methods are different. db-ally allows developers to outline specific use cases for the LLM to handle, detailing the desired data format and the possible operations to fetch this data. +db-ally is an LLM-powered library for creating natural language interfaces to data sources. While it occupies a similar space to the text-to-SQL solutions, its goals and methods are different. db-ally allows developers to outline specific use cases for the LLM to handle, detailing the desired data format and the possible operations to fetch this data. db-ally effectively shields the complexity of the underlying data source from the model, presenting only the essential information needed for solving the specific use cases. Instead of generating arbitrary SQL, the model is asked to generate responses in a simplified query language. diff --git a/docs/assets/banner-dark.svg b/docs/assets/banner-dark.svg new file mode 100644 index 00000000..3b580fe3 --- /dev/null +++ b/docs/assets/banner-dark.svg @@ -0,0 +1,266 @@ + + + + + + diff --git a/docs/assets/banner-light.svg b/docs/assets/banner-light.svg new file mode 100644 index 00000000..e0ef1d4d --- /dev/null +++ b/docs/assets/banner-light.svg @@ -0,0 +1,266 @@ + + + + + + diff --git a/docs/assets/favicon.ico b/docs/assets/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..7683ac51a78708415fa084d00c6d6868f8c2d9b0 GIT binary patch literal 15406 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 literal 0 HcmV?d00001 diff --git a/docs/assets/guide_dog_lg.png b/docs/assets/guide_dog_lg.png deleted file mode 100644 index dee16c227311f84319c95ebc81fcc5e740eb5486..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15525 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 aftco+M=U=j%i+Wez=>n0%w8YG#r_`w^dcz$ diff --git a/docs/assets/guide_dog_sm.png b/docs/assets/guide_dog_sm.png deleted file mode 100644 index 85f91ee53228202908c70665841c7720820724bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2533 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 + + + diff --git a/docs/index.md b/docs/index.md index 1b5c6460..18f11b05 100644 --- a/docs/index.md +++ b/docs/index.md @@ -3,6 +3,117 @@ hide: - navigation --- +# db-ally docs + + + +
+ ![dbally logo](https://raw.githubusercontent.com/deepsense-ai/db-ally/mp/update-logo/docs/assets/banner-light.svg#only-light){ width="30%" } + ![dbally logo](https://raw.githubusercontent.com/deepsense-ai/db-ally/mp/update-logo/docs/assets/banner-dark.svg#only-dark){ width="30%" } +
+ +

+ Efficient, consistent and secure library for querying structured data with natural language +

+ +
+ + + PyPI - License + + + + PyPI - Version + + + + PyPI - Python Version + + +
+ --- ---8<-- "README.md" +db-ally is an LLM-powered library for creating natural language interfaces to data sources. While it occupies a similar space to the text-to-SQL solutions, its goals and methods are different. db-ally allows developers to outline specific use cases for the LLM to handle, detailing the desired data format and the possible operations to fetch this data. + +db-ally effectively shields the complexity of the underlying data source from the model, presenting only the essential information needed for solving the specific use cases. Instead of generating arbitrary SQL, the model is asked to generate responses in a simplified query language. + +The benefits of db-ally can be described in terms of its four main characteristics: + +* **Consistency**: db-ally ensures predictable output formats and confines operations to those predefined by developers, making it particularly well-suited for applications with precise requirements on their behavior or data format +* **Security**: db-ally prevents direct database access and arbitrary SQL execution, bolstering system safety +* **Efficiency**: db-ally hides most of the underlying database complexity, enabling the LLM to concentrate on essential aspects and improving performance +* **Portability**: db-ally introduces an abstraction layer between the model and the data, ensuring easy integration with various database technologies and other data sources. + +## Quickstart + +In db-ally, developers define their use cases by implementing [**views**](https://db-ally.deepsense.ai/concepts/views) and **filters**. A list of possible filters is presented to the LLM in terms of [**IQL**](https://db-ally.deepsense.ai/concepts/iql) (Intermediate Query Language). Views are grouped and registered within a [**collection**](https://db-ally.deepsense.ai/concepts/views), which then serves as an entry point for asking questions in natural language. + +This is a basic implementation of a db-ally view for an example HR application, which retrieves candidates from an SQL database: + +```python +from dbally import decorators, SqlAlchemyBaseView, create_collection +from dbally.llms.litellm import LiteLLM +from sqlalchemy import create_engine + +class CandidateView(SqlAlchemyBaseView): + """ + A view for retrieving candidates from the database. + """ + + def get_select(self): + """ + Defines which columns to select. + """ + return sqlalchemy.select(Candidate.id, Candidate.name, Candidate.country) + + @decorators.view_filter() + def from_country(self, country: str): + """ + Filter candidates from a specific country. + """ + return Candidate.country == country + +engine = create_engine('sqlite:///examples/recruiting/data/candidates.db') +llm = LiteLLM(model_name="gpt-3.5-turbo") +my_collection = create_collection("collection_name", llm) +my_collection.add(CandidateView, lambda: CandidateView(engine)) + +my_collection.ask("Find candidates from United States") +``` + +For a concrete step-by-step example on how to use db-ally, go to [Quickstart](https://db-ally.deepsense.ai/quickstart/) guide. For a more learning-oriented experience, check our db-ally [Tutorial](https://db-ally.deepsense.ai/tutorials/). + +## Motivation + +db-ally was originally developed at [deepsense.ai](https://deepsense.ai). In our work on various projects, we frequently encountered the need to retrieve data from data sources, typically databases, in response to natural language queries. + +The standard approach to this issue involves using the text-to-SQL technique. While this method is powerful, it is also complex and challenging to control. Often, the results were unsatisfactory because the Language Model lacked the necessary context to understand the specific requirements of the application and the business logic behind the data. + +This led us to experiment with a more structured approach. In this method, the developer defines the specific use cases for the Language Model to handle, detailing the desired data format and the possible operations to retrieve this data. This approach proved to be more efficient, predictable, and easier to manage, making it simpler to integrate with the rest of the system. + +Eventually, we decided to create a library that would allow us to use this approach in a more systematic way, and we made it open-source for the community. + +## Installation + +To install db-ally, execute the following command: + +```bash +pip install dbally +``` + +Additionally, you can install one of our extensions to use specific features. + +* `dbally[litellm]`: Use [100+ LLMs](https://docs.litellm.ai/docs/providers) +* `dbally[faiss]`: Use [Faiss](https://github.com/facebookresearch/faiss) indexes for similarity search +* `dbally[langsmith]`: Use [LangSmith](https://www.langchain.com/langsmith) for query tracking + +```bash +pip install dbally[litellm,faiss,langsmith] +``` + +## License + +db-ally is released under MIT license. diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index 698837d0..01232bf2 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -2,12 +2,6 @@ --md-primary-fg-color: #00b0e0; } -.md-header__button.md-logo { - margin: 0; - padding: 0; +.md-header__title { + margin-left: 0.5rem !important; } - -.md-header__button.md-logo img, .md-header__button.md-logo svg { - height: 1.8rem; - width: 1.8rem; -} \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 0129b1ff..096954a7 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,12 +1,15 @@ -site_name: db-ally +site_name: db-ally docs +site_description: Efficient, consistent and secure library for querying structured data with natural language +site_url: https://db-ally.deepsense.ai +repo_name: deepsense-ai/db-ally repo_url: https://github.com/deepsense-ai/db-ally +copyright: Copyright © 2024 deepsense.ai nav: - - Home: index.md + - db-ally docs: index.md - Quickstart: - quickstart/index.md - quickstart/quickstart2.md - quickstart/quickstart3.md - - Tutorials: tutorials.md - Concepts: - concepts/views.md - concepts/structured_views.md @@ -37,6 +40,7 @@ nav: - how-to/trace_runs_with_otel.md - how-to/create_custom_event_handler.md - how-to/openai_assistants_integration.md + - Tutorials: tutorials.md - API Reference: - reference/index.md - reference/collection.md @@ -86,26 +90,31 @@ nav: - about/contact.md theme: name: material - logo: assets/guide_dog_lg.png - favicon: assets/guide_dog_sm.png + logo: assets/logo.svg + favicon: assets/favicon.ico icon: repo: fontawesome/brands/github palette: - - media: "(prefers-color-scheme: light)" + - media: "(prefers-color-scheme)" + toggle: + icon: material/lightbulb-auto + name: Switch to light mode + - media: '(prefers-color-scheme: light)' scheme: default primary: primary toggle: - icon: material/brightness-7 + icon: material/lightbulb name: Switch to dark mode - - media: "(prefers-color-scheme: dark)" + - media: '(prefers-color-scheme: dark)' scheme: slate primary: primary toggle: - icon: material/brightness-4 - name: Switch to light mode + icon: material/lightbulb-outline + name: Switch to system preference features: - navigation.footer - navigation.tabs + - navigation.tabs.sticky - navigation.top - content.code.annotate - content.code.copy @@ -125,6 +134,7 @@ markdown_extensions: - pymdownx.snippets - pymdownx.inlinehilite - attr_list + - md_in_html - pymdownx.details - def_list - pymdownx.tasklist: @@ -161,3 +171,29 @@ extra: analytics: provider: google property: G-FBBJRN0H0G + feedback: + title: Was this page helpful? + ratings: + - icon: material/emoticon-happy-outline + name: This page was helpful + data: 1 + note: >- + Thanks for your feedback! + - icon: material/emoticon-sad-outline + name: This page could be improved + data: 0 + note: >- + Thanks for your feedback! + social: + - icon: fontawesome/brands/github + link: https://github.com/deepsense-ai + - icon: fontawesome/brands/x-twitter + link: https://x.com/deepsense_ai + - icon: fontawesome/brands/linkedin + link: https://linkedin.com/company/deepsense-ai + - icon: fontawesome/brands/youtube + link: https://youtube.com/@deepsenseai + - icon: fontawesome/brands/medium + link: https://medium.com/deepsense-ai + - icon: fontawesome/solid/globe + link: https://deepsense.ai