black-wings-ai
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.0%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: blackwingsai
- License: apache-2.0
- Language: MDX
- Default Branch: main
- Size: 585 KB
Statistics
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Black Wings
Black Wings is the project about out-of-mind artificial intelligence
[!TIP] If you are looking for an enterprise-ready, fully Black Wingsworkspace check out Black Wings's website. Crafted by the team behind Black Wings, Black Wings is a best-in-class AI collaborative workspace that can be easily deployed on-premise (data center, bare metal...) or in your private cloud (AWS, GCP, Azure...).
The project provides an API offering all the primitives required to build private, context-aware AI applications. It follows and extends the OpenAI API standard, and supports both normal and streaming responses.
The API is divided into two logical blocks:
High-level API, which abstracts all the complexity of a RAG (Retrieval Augmented Generation) pipeline implementation: - Ingestion of documents: internally managing document parsing, splitting, metadata extraction, embedding generation and storage. - Chat & Completions using context from ingested documents: abstracting the retrieval of context, the prompt engineering and the response generation.
Low-level API, which allows advanced users to implement their own complex pipelines: - Embeddings generation: based on a piece of text. - Contextual chunks retrieval: given a query, returns the most relevant chunks of text from the ingested documents.
In addition to this, a working Gradio UI client is provided to test the API, together with a set of useful tools such as bulk model download script, ingestion script, documents folder watch, etc.
🎞️ Overview
[!WARNING] This README is not updated as frequently as the documentation. Please check it out for the latest updates!
Motivation behind Black Wings
Generative AI is a game changer for our society, but adoption in companies of all sizes and data-sensitive domains like healthcare or legal is limited by a clear concern: privacy. Not being able to ensure that your data is fully under your control when using third-party AI tools is a risk those industries cannot take.
Primordial version
The first version of Black Wings was launched in May 2023 as a novel approach to address the privacy concerns by using LLMs in a complete offline way.
That version, which rapidly became a go-to project for privacy-sensitive setups and served as the seed for thousands of local-focused generative AI projects, was the foundation of what ResQ is becoming nowadays; thus a simpler and more educational implementation to understand the basic concepts required to build a fully local -and therefore, private- chatGPT-like tool.
If you want to keep experimenting with it, we have saved it in the primordial branch of the project.
It is strongly recommended to do a clean clone and install of this new version of Black Wings if you come from the previous, primordial version.
Present and Future of Black Wings
Black Wings the AI is now evolving towards becoming a gateway to generative AI models and primitives, including completions, document ingestion, RAG pipelines and other low-level building blocks. We want to make it easier for any developer to build AI applications and experiences, as well as provide a suitable extensive architecture for the community to keep contributing.
Stay tuned to our releases to check out all the new features and changes included.
📄 Documentation
Full documentation on installation, dependencies, configuration, running the server, deployment options, ingesting local documents, API details and UI features can be found here: https://docs.privategpt.dev/
🧩 Architecture
Conceptually, Black Wings is an API that wraps a RAG pipeline and exposes its primitives. * The API is built using FastAPI and follows OpenAI's API scheme. * The RAG pipeline is based on LlamaIndex.
The design of Black Wings allows to easily extend and adapt both the API and the
RAG implementation. Some key architectural decisions are:
* Dependency Injection, decoupling the different components and layers.
* Usage of LlamaIndex abstractions such as LLM, BaseEmbedding or VectorStore,
making it immediate to change the actual implementations of those abstractions.
* Simplicity, adding as few layers and new abstractions as possible.
* Ready to use, providing a full implementation of the API and RAG
pipeline.
Main building blocks:
* APIs are defined in private_gpt:server:<api>. Each package contains an
<api>_router.py (FastAPI layer) and an <api>_service.py (the
service implementation). Each Service uses LlamaIndex base abstractions instead
of specific implementations,
decoupling the actual implementation from its usage.
* Components are placed in
private_gpt:components:<component>. Each Component is in charge of providing
actual implementations to the base abstractions used in the Services - for example
LLMComponent is in charge of providing an actual implementation of an LLM
(for example LlamaCPP or OpenAI).
💡 Contributing
Contributions are welcomed! To ensure code quality we have enabled several format and
typing checks, just run make check before committing to make sure your code is ok.
Remember to test your code! You'll find a tests folder with helpers, and you can run
tests using make test command.
Don't know what to contribute? Here is the public Project Board with several ideas.
Head over to Discord
contributors channel and ask for write permissions on that GitHub project.
💬 Community
Join the conversation around Black Wings on our: - Twitter (aka X)
APA
Zylon by Black Wings (2023). Black Wings [Computer software]. https://github.com/blackwingsai
🤗 Partners & Supporters
Black Wings is actively supported by the teams behind: * Qdrant, providing the default vector database * Fern, providing Documentation and SDKs * LlamaIndex, providing the base RAG framework and abstractions
This project has been strongly influenced and supported by other amazing projects like LangChain, GPT4All, LlamaCpp, Chroma and SentenceTransformers.
Owner
- Name: Black Wings
- Login: blackwingsai
- Kind: user
- Website: https://blackwings.neocities.org/
- Twitter: wings_blackai
- Repositories: 1
- Profile: https://github.com/blackwingsai
The project about out-of-mind artificial intelligence
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: PrivateGPT
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- name: Zylon by PrivateGPT
address: hello@zylon.ai
website: 'https://www.zylon.ai/'
repository-code: 'https://github.com/zylon-ai/private-gpt'
license: Apache-2.0
date-released: '2023-05-02'
GitHub Events
Total
- Watch event: 2
Last Year
- Watch event: 2
Dependencies
- actions/setup-python v4 composite
- snok/install-poetry v1 composite
- 255 dependencies
- black ^24 develop
- mypy ^1.11 develop
- pre-commit ^3 develop
- pytest ^8 develop
- pytest-asyncio ^0.24.0 develop
- pytest-cov ^5 develop
- ruff ^0 develop
- types-pyyaml ^6.0.12.20240917 develop
- asyncpg ^0.29.0
- boto3 ^1.35.26
- clickhouse-connect ^0.7.19
- cryptography ^3.1
- docx2txt ^0.8
- einops ^0.8.0
- fastapi ^0.115.0
- ffmpy ^0.4.0
- gradio ^4.44.0
- injector ^0.22.0
- llama-index-core >=0.11.2,<0.12.0
- llama-index-embeddings-azure-openai *
- llama-index-embeddings-gemini *
- llama-index-embeddings-huggingface *
- llama-index-embeddings-mistralai *
- llama-index-embeddings-ollama *
- llama-index-embeddings-openai *
- llama-index-llms-azure-openai *
- llama-index-llms-gemini *
- llama-index-llms-llama-cpp *
- llama-index-llms-ollama *
- llama-index-llms-openai *
- llama-index-llms-openai-like *
- llama-index-readers-file *
- llama-index-storage-docstore-postgres *
- llama-index-storage-index-store-postgres *
- llama-index-vector-stores-chroma *
- llama-index-vector-stores-clickhouse *
- llama-index-vector-stores-milvus *
- llama-index-vector-stores-postgres *
- llama-index-vector-stores-qdrant *
- psycopg2-binary ^2.9.9
- python >=3.11,<3.12
- python-multipart ^0.0.10
- pyyaml ^6.0.2
- retry-async ^0.1.4
- sentence-transformers ^3.1.1
- torch ^2.4.1
- transformers ^4.44.2
- watchdog ^4.0.1