Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
math_tutor_dev
public_math_tutor
Commits
b667cf1d
Commit
b667cf1d
authored
Mar 03, 2026
by
Kantz
Browse files
fixed retrieval
parent
d93bc3e6
Changes
3
Show whitespace changes
Inline
Side-by-side
math-tutor/backend/app/deterministic_services/context_stores/context_store_base.py
View file @
b667cf1d
...
...
@@ -196,5 +196,5 @@ def update_retrieval_context(
sources
:
list
[
Source
],
)
->
None
:
merged
=
get_retrieval
(
sheet
)
+
sources
merged_sorted
=
sorted
(
merged
,
key
=
lambda
item
:
item
.
score
,
reverse
=
True
)
[:
8
]
merged_sorted
=
sorted
(
merged
,
key
=
lambda
item
:
item
.
score
,
reverse
=
True
)
set_sources
(
sheet
,
merged_sorted
)
math-tutor/backend/app/deterministic_services/orchestrators/orchestrator_task.py
View file @
b667cf1d
...
...
@@ -4,7 +4,6 @@ from app.LLM_services import task_hint_LLM
import
app.config
as
config
from
app.deterministic_services
import
(
context_store
,
embedding_provider
,
retrieval_store
,
task_catalog
,
)
...
...
@@ -61,20 +60,14 @@ def _retrieve_context_for_task(state: base.ChatState, query_text: str) -> None:
return
def
_retrieve
()
->
dict
:
embedder
,
cache_hit
=
embedding_provider
.
get_embedder
()
sources
=
retrieval_store
.
retrieve_with_subsections
(
sources
=
retrieval_store
.
retrieve_for_subsections
(
pg_url
=
config
.
get_postgres_url
(),
embedder
=
embedder
,
query
=
query_text
,
subsection_refs
=
refs
,
k
=
8
,
expand_links
=
True
,
)
context_store
.
update_retrieval_context
(
state
.
sheet
,
sources
)
return
{
"subsection_refs"
:
refs
,
"source_count"
:
len
(
sources
),
"embedder_cache_hit"
:
cache_hit
,
}
base
.
log_timed_call
(
...
...
@@ -98,7 +91,6 @@ def _on_bootstrap(state: base.ChatState, query_text: str) -> None:
def
_on_turn_logic
(
state
:
base
.
ChatState
)
->
None
:
_ensure_context_task_fields
(
state
,
state
.
last_user
)
_retrieve_context_for_task
(
state
,
state
.
last_user
)
# Antwort generieren
...
...
@@ -126,8 +118,9 @@ def run_chat(
draft
:
str
|
None
=
None
,
selected_task
:
dict
|
None
=
None
,
)
->
dict
:
def
on_turn_logic
(
state
:
base
.
ChatState
)
->
None
:
if
selected_task
:
def
_apply_selected_task
(
state
:
base
.
ChatState
)
->
None
:
if
not
selected_task
:
return
selected_file_id
=
str
(
selected_task
.
get
(
"file_id"
,
""
)).
strip
()
selected_task_id
=
str
(
selected_task
.
get
(
"task_id"
,
""
)).
strip
()
if
selected_file_id
and
selected_task_id
:
...
...
@@ -136,12 +129,19 @@ def run_chat(
selected_file_id
,
selected_task_id
,
)
def
on_bootstrap
(
state
:
base
.
ChatState
,
query_text
:
str
)
->
None
:
_apply_selected_task
(
state
)
_on_bootstrap
(
state
,
query_text
)
def
on_turn_logic
(
state
:
base
.
ChatState
)
->
None
:
_apply_selected_task
(
state
)
_on_turn_logic
(
state
)
return
base
.
run_chat_common
(
messages
=
messages
,
draft
=
draft
,
on_bootstrap
=
_
on_bootstrap
,
on_bootstrap
=
on_bootstrap
,
on_turn_logic
=
on_turn_logic
,
on_build_reply
=
_on_build_reply
,
)
math-tutor/backend/app/deterministic_services/retrieval_store.py
View file @
b667cf1d
...
...
@@ -92,3 +92,13 @@ def retrieve_with_subsections(
expand_links
=
expand_links
,
neighbor_expand
=
neighbor_expand
,
)
def
retrieve_for_subsections
(
pg_url
:
str
,
subsection_refs
:
list
[
vector_store
.
SubsectionRef
]
|
None
=
None
,
)
->
List
[
Source
]:
return
vector_store
.
load_children_for_subsections
(
pg_url
=
pg_url
,
subsection_refs
=
subsection_refs
,
)
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment