-
Notifications
You must be signed in to change notification settings - Fork 391
148 lines (111 loc) · 4.44 KB
/
integration-test-workflow-debian.yml
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
name: R2R CLI Integration Test (Debian GNU/Linux 12 (bookworm) amd64)
on:
push:
branches:
- '**'
workflow_dispatch:
jobs:
build-and-test:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
actions: write
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
TELEMETRY_ENABLED: false
POSTGRES_USER: ${{ secrets.POSTGRES_USER }}
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
POSTGRES_DBNAME: ${{ secrets.POSTGRES_DBNAME }}
POSTGRES_HOST: ${{ secrets.POSTGRES_HOST }}
POSTGRES_PORT: ${{ secrets.POSTGRES_PORT }}
R2R_PROJECT_NAME: ${{ secrets.R2R_PROJECT_NAME }}
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 -
- name: Install dependencies
working-directory: ./py
run: |
poetry install -E core -E ingestion-bundle
- name: Start R2R server
working-directory: ./py
run: |
poetry run r2r serve &
echo "Waiting for services to start..."
sleep 30
- name: Run integration tests
working-directory: ./py
run: |
echo "R2R Version"
poetry run r2r version
- name: Walkthrough
working-directory: ./py
run: |
echo "Ingest Data"
poetry run r2r ingest-sample-files
echo "Get Documents Overview"
poetry run r2r documents-overview
echo "Get Document Chunks"
poetry run r2r document-chunks --document-id=9fbe403b-c11c-5aae-8ade-ef22980c3ad1
echo "Delete Documents"
poetry run r2r delete --filter=document_id:eq:9fbe403b-c11c-5aae-8ade-ef22980c3ad1
echo "Update Document"
poetry run r2r update-files core/examples/data/aristotle_v2.txt --document-ids=9fbe403b-c11c-5aae-8ade-ef22980c3ad1
echo "Vector Search"
poetry run r2r search --query="What was Uber's profit in 2020?"
echo "Hybrid Search"
r2r search --query="What was Uber's profit in 2020?" --use-hybrid-search
echo "Basic RAG"
poetry run r2r rag --query="What was Uber's profit in 2020?"
echo "RAG with Hybrid Search"
poetry run r2r rag --query="Who is Jon Snow?" --use-hybrid-search
echo "Streaming RAG"
poetry run r2r rag --query="who was aristotle" --use-hybrid-search --stream
echo "User Registration"
curl -X POST http://localhost:7272/v2/register \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"password": "password123"
}'
echo "User Login"
curl -X POST http://localhost:7272/v2/login \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "[email protected]&password=password123"
echo "Users Overview"
poetry run r2r users-overview
echo "Logging"
poetry run r2r logs
echo "Analytics"
poetry run r2r analytics --filters '{"search_latencies": "search_latency"}' --analysis-types '{"search_latencies": ["basic_statistics", "search_latency"]}'
- name: GraphRAG
working-directory: ./py
run: |
echo "Create Knowledge Graph"
poetry run r2r create-graph --document-ids=9fbe403b-c11c-5aae-8ade-ef22980c3ad1
echo "Inspect Knowledge Graph"
poetry run r2r inspect-knowledge-graph
echo "Graph Enrichment"
poetry run r2r enrich-graph
echo "Local Search"
r2r search --query="Who is Aristotle?" --use-kg-search --kg-search-type=local
echo "Global Search"
r2r search --query="What were Aristotles key contributions to philosophy?" --use-kg-search --kg-search-type=global --max-llm-queries-for-global-search=100
echo "RAG"
r2r rag --query="What are the key contributions of Aristotle to modern society?" --use-kg-search --kg-search-type=global --max-llm-queries-for-global-search=100
- name: Advanced RAG
working-directory: ./py
run: |
echo "HyDE"
poetry run r2r rag --query="who was aristotle" --use-hybrid-search --stream --search-strategy=hyde
echo "Rag-Fusion"
r2r rag --query="Explain the theory of relativity" --use-hybrid-search --stream --search-strategy=rag_fusion
- name: Stop R2R server
run: |
pkill -f "r2r serve"