Skip to content

Commit e5ae282

Browse files
Initial content commit v1.0
1 parent 9638a7d commit e5ae282

File tree

251 files changed

+34856
-3
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

251 files changed

+34856
-3
lines changed

.gitignore

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
build/
12+
develop-eggs/
13+
dist/
14+
downloads/
15+
eggs/
16+
.eggs/
17+
lib/
18+
lib64/
19+
parts/
20+
sdist/
21+
var/
22+
wheels/
23+
pip-wheel-metadata/
24+
share/python-wheels/
25+
*.egg-info/
26+
.installed.cfg
27+
*.egg
28+
MANIFEST
29+
30+
# PyInstaller
31+
# Usually these files are written by a python script from a template
32+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
33+
*.manifest
34+
*.spec
35+
36+
# Installer logs
37+
pip-log.txt
38+
pip-delete-this-directory.txt
39+
40+
# Unit test / coverage reports
41+
htmlcov/
42+
.tox/
43+
.nox/
44+
.coverage
45+
.coverage.*
46+
.cache
47+
nosetests.xml
48+
coverage.xml
49+
*.cover
50+
*.py,cover
51+
.hypothesis/
52+
.pytest_cache/
53+
54+
# Translations
55+
*.mo
56+
*.pot
57+
58+
# Django stuff:
59+
*.log
60+
local_settings.py
61+
db.sqlite3
62+
db.sqlite3-journal
63+
64+
# Flask stuff:
65+
instance/
66+
.webassets-cache
67+
68+
# Scrapy stuff:
69+
.scrapy
70+
71+
# Sphinx documentation
72+
docs/_build/
73+
74+
# PyBuilder
75+
target/
76+
77+
# Jupyter Notebook
78+
.ipynb_checkpoints
79+
80+
# IPython
81+
profile_default/
82+
ipython_config.py
83+
84+
# pyenv
85+
.python-version
86+
87+
# pipenv
88+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
90+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
91+
# install all needed dependencies.
92+
#Pipfile.lock
93+
94+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
95+
__pypackages__/
96+
97+
# Celery stuff
98+
celerybeat-schedule
99+
celerybeat.pid
100+
101+
# SageMath parsed files
102+
*.sage.py
103+
104+
# Environments
105+
.env
106+
.venv
107+
env/
108+
venv/
109+
ENV/
110+
env.bak/
111+
venv.bak/
112+
113+
# Spyder project settings
114+
.spyderproject
115+
.spyproject
116+
117+
# Rope project settings
118+
.ropeproject
119+
120+
# mkdocs documentation
121+
/site
122+
123+
# mypy
124+
.mypy_cache/
125+
.dmypy.json
126+
dmypy.json
127+
128+
# Pyre type checker
129+
.pyre/
130+
131+
# custom
132+
/.vscode/
133+
/outputs/
134+
/__main__
135+
136+
.DS_Store

.pre-commit-config.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
repos:
2+
- repo: https://github.com/pre-commit/pre-commit-hooks
3+
rev: v4.3.0
4+
hooks:
5+
- id: end-of-file-fixer
6+
- id: trailing-whitespace
7+
- id: check-yaml
8+
- repo: https://github.com/psf/black
9+
rev: 22.6.0
10+
hooks:
11+
- id: black
12+
args: ["--line-length", "100"]
13+
- repo: https://github.com/pycqa/isort
14+
rev: 5.10.1
15+
hooks:
16+
- id: isort
17+
name: isort (python)
18+
args: ["--profile", "black", "--filter-files", "--line-length", "100"]

CITATION.cff

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
cff-version: 1.2.0
2+
message: "If you use this software, please cite it as below."
3+
authors:
4+
- family-names: "Izsak"
5+
given-names: "Peter"
6+
orcid: "https://orcid.org/0000-0001-8354-6823"
7+
- family-names: "Berchansky"
8+
given-names: "Moshe"
9+
orcid: "https://orcid.org/0000-0001-9227-8939"
10+
- family-names: "Fleischer"
11+
given-names: "Daniel"
12+
orcid: "https://orcid.org/0000-0003-4031-4410"
13+
- family-names: "Laperdon"
14+
given-names: "Ronen"
15+
title: "fastRAG: Efficient Retrieval Augmentation and Generation Framework"
16+
version: 1.0
17+
license: Apache-2.0
18+
date-released: 2023-02-16
19+
url: "https://github.com/IntelLabs/fastrag"

CONTRIBUTING.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Contributing to fastRAG
2+
3+
The following document describes the process of contributing and developing extensions to fastRAG.
4+
5+
## Setting up your development environment
6+
7+
Preliminary requirements:
8+
9+
- fastRAG installed in a developement enviroment (via `pip install -e`)
10+
- Python 3.8+
11+
- Pytorch
12+
- Any 3rd party store engine package
13+
14+
## Installing development packages
15+
16+
To install extra packages required for library development:
17+
18+
```sh
19+
pip install -e .[dev]
20+
```
21+
22+
We use [pre-commit](https://pre-commit.com/) to automatically format the code in a consistent way. Installing the dev packages will install `pre-commit`. To manually install it:
23+
24+
```sh
25+
pip install pre-commit
26+
pre-commit install # in project's dir
27+
```
28+
29+
It uses the `black` and `isort` utilities. No need to download them, they are handled by `pre-commit`. Have a look at [pre-commit-config](./.pre-commit-config.yaml) to see what it does.
30+
To explicitly run the hooks:
31+
32+
```sh
33+
pre-commit run --all-files
34+
```
35+
36+
That's it!
37+
38+
## New component contribution process
39+
40+
1. Fork the repository to your own github space
41+
2. Add your component as an extension or new addition following Haystack components hierarchy and according to the structure of the library (e.g., a new reader to `fastrag/readers/`).
42+
3. Provide a pipeline or script to validate the flow of the new component (a `yaml` file or modifications in `scripts/generate_pipeline.py`).
43+
4. Open a pull request and describe your contribution.

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
same "printed page" as the copyright notice for easier
187187
identification within third-party archives.
188188

189-
Copyright [yyyy] [name of copyright owner]
189+
Copyright 2023 Intel Corporation
190190

191191
Licensed under the Apache License, Version 2.0 (the "License");
192192
you may not use this file except in compliance with the License.

MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
global-include *.cpp *.cu

0 commit comments

Comments
 (0)