File size: 1,188 Bytes
b7ca87a
 
 
 
 
 
 
a620b08
 
 
2996371
a620b08
 
 
 
 
1a2b802
a620b08
 
 
 
 
 
 
 
 
 
2996371
a620b08
 
e1e4a09
 
 
 
dc474cb
e1e4a09
 
a620b08
 
2996371
d879dad
d5ed5c9
4f15baa
a620b08
b7ca87a
4f15baa
 
 
d5ed5c9
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
[project]
name = "ai-tutor-app"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
    "anthropic",
    "chromadb",
    "cohere",
    "fastapi",
    "google-genai",
    "hf-xet",
    "huggingface-hub",
    "langchain",
    "langchain-anthropic",
    "langchain-deepseek>=1.1.0",
    "langchain-google-genai",
    "langchain-openai",
    "llama-index",
    "nbconvert",
    "nbformat",
    "openai",
    "pydantic",
    "python-dotenv",
    "requests",
    "tiktoken",
    "uvicorn",
]

[project.optional-dependencies]
# Eval-only: the GraphRAG-vs-RAG experiment (F28). Pulls graphrag + lancedb/litellm/
# pandas, all imported lazily and only by the opt-in `graphrag` retriever — never on
# the production path. Kept out of the default install so the Spaces image stays lean.
# Reproduce the experiment with: uv sync --extra graphrag  (see evals/graphrag.md).
graphrag = ["graphrag>=3.1.0"]

[dependency-groups]
dev = [
    "httpx",
    "ipykernel",
    "pre-commit",
    "pytest>=9.0.3",
    "ruff>=0.15.10",
]

[tool.pytest.ini_options]
pythonpath = ["."]

[tool.ruff]
line-length = 88
target-version = "py313"