mirror of
https://github.com/khoj-ai/khoj.git
synced 2024-11-27 17:35:07 +01:00
c11742f443
- Detect when user intends to schedule a task, aka reminder Add new output mode: reminder. Add example of selecting the reminder output mode - Extract schedule time (as cron timestring) and inferred query to run from user message - Use APScheduler to call chat with inferred query at scheduled time - Handle reminder scheduling from both websocket and http chat requests - Support constructing scheduled task using chat history as context Pass chat history to scheduled query generator for improved context for scheduled task generation
146 lines
3.5 KiB
TOML
146 lines
3.5 KiB
TOML
[build-system]
|
|
requires = ["hatchling", "hatch-vcs"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "khoj-assistant"
|
|
description = "An AI copilot for your Second Brain"
|
|
readme = "README.md"
|
|
license = "AGPL-3.0-or-later"
|
|
requires-python = ">=3.9"
|
|
authors = [
|
|
{ name = "Debanjum Singh Solanky, Saba Imran" },
|
|
]
|
|
keywords = [
|
|
"search",
|
|
"semantic-search",
|
|
"productivity",
|
|
"NLP",
|
|
"AI",
|
|
"org-mode",
|
|
"markdown",
|
|
"images",
|
|
"pdf",
|
|
]
|
|
classifiers = [
|
|
"Development Status :: 5 - Production/Stable",
|
|
"License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Topic :: Internet :: WWW/HTTP :: Indexing/Search",
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
"Topic :: Scientific/Engineering :: Human Machine Interfaces",
|
|
"Intended Audience :: Information Technology",
|
|
]
|
|
dependencies = [
|
|
"beautifulsoup4 ~= 4.12.3",
|
|
"dateparser >= 1.1.1",
|
|
"defusedxml == 0.7.1",
|
|
"fastapi >= 0.104.1",
|
|
"python-multipart >= 0.0.7",
|
|
"jinja2 == 3.1.3",
|
|
"openai >= 1.0.0",
|
|
"tiktoken >= 0.3.2",
|
|
"tenacity >= 8.2.2",
|
|
"magika ~= 0.5.1",
|
|
"pillow ~= 9.5.0",
|
|
"pydantic >= 2.0.0",
|
|
"pyyaml ~= 6.0",
|
|
"rich >= 13.3.1",
|
|
"schedule == 1.1.0",
|
|
"sentence-transformers == 2.5.1",
|
|
"transformers >= 4.28.0",
|
|
"torch == 2.2.2",
|
|
"uvicorn == 0.17.6",
|
|
"aiohttp ~= 3.9.0",
|
|
"langchain <= 0.2.0",
|
|
"langchain-openai >= 0.0.5",
|
|
"requests >= 2.26.0",
|
|
"anyio == 3.7.1",
|
|
"pymupdf >= 1.23.5",
|
|
"django == 4.2.10",
|
|
"authlib == 1.2.1",
|
|
"llama-cpp-python == 0.2.64",
|
|
"itsdangerous == 2.1.2",
|
|
"httpx == 0.25.0",
|
|
"pgvector == 0.2.4",
|
|
"psycopg2-binary == 2.9.9",
|
|
"lxml == 4.9.3",
|
|
"tzdata == 2023.3",
|
|
"rapidocr-onnxruntime == 1.3.11; python_version<'3.12'",
|
|
"openai-whisper >= 20231117",
|
|
"django-phonenumber-field == 7.3.0",
|
|
"phonenumbers == 8.13.27",
|
|
"markdownify ~= 0.11.6",
|
|
"websockets == 12.0",
|
|
"psutil >= 5.8.0",
|
|
"huggingface-hub >= 0.22.2",
|
|
"apscheduler ~= 3.10.0",
|
|
]
|
|
dynamic = ["version"]
|
|
|
|
[project.urls]
|
|
Homepage = "https://khoj.dev"
|
|
Documentation = "https://docs.khoj.dev"
|
|
Code = "https://github.com/khoj-ai/khoj"
|
|
|
|
[project.scripts]
|
|
khoj = "khoj.main:run"
|
|
|
|
[project.optional-dependencies]
|
|
prod = [
|
|
"gunicorn == 22.0.0",
|
|
"google-auth == 2.23.3",
|
|
"stripe == 7.3.0",
|
|
"twilio == 8.11",
|
|
"boto3 >= 1.34.57",
|
|
"resend >= 0.8.0",
|
|
]
|
|
dev = [
|
|
"khoj-assistant[prod]",
|
|
"pytest >= 7.1.2",
|
|
"pytest-xdist[psutil]",
|
|
"pytest-django == 4.5.2",
|
|
"pytest-asyncio == 0.21.1",
|
|
"freezegun >= 1.2.0",
|
|
"factory-boy >= 3.2.1",
|
|
"mypy >= 1.0.1",
|
|
"black >= 23.1.0",
|
|
"pre-commit >= 3.0.4",
|
|
]
|
|
|
|
[tool.hatch.version]
|
|
source = "vcs"
|
|
raw-options.local_scheme = "no-local-version" # PEP440 compliant version for PyPi
|
|
|
|
[tool.hatch.build.targets.sdist]
|
|
include = ["src/khoj"]
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/khoj"]
|
|
|
|
[tool.mypy]
|
|
files = "src/khoj"
|
|
pretty = true
|
|
strict_optional = false
|
|
install_types = true
|
|
ignore_missing_imports = true
|
|
non_interactive = true
|
|
show_error_codes = true
|
|
warn_unused_ignores = false
|
|
|
|
[tool.black]
|
|
line-length = 120
|
|
|
|
[tool.isort]
|
|
profile = "black"
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = "--strict-markers"
|
|
markers = [
|
|
"chatquality: Evaluate chatbot capabilities and quality",
|
|
]
|