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
010360f2
Commit
010360f2
authored
Feb 13, 2026
by
Kantz
Browse files
kleine restrukturierung
parent
e8105cb5
Changes
1
Show whitespace changes
Inline
Side-by-side
math-tutor/backend/app/deterministic_services/llm_client.py
View file @
010360f2
...
...
@@ -15,6 +15,12 @@ def _filter_kwargs(func, kwargs: dict) -> dict:
return
kwargs
return
{
key
:
value
for
key
,
value
in
kwargs
.
items
()
if
key
in
signature
.
parameters
}
def
_extract_message
(
response
)
->
object
:
if
isinstance
(
response
,
dict
)
and
"message"
in
response
:
return
response
[
"message"
]
if
hasattr
(
response
,
"message"
):
return
response
.
message
return
{}
def
_chat_openai
(
messages
:
list
[
dict
])
->
dict
:
settings
=
config
.
get_openai_chat_settings
()
...
...
@@ -32,6 +38,15 @@ def _chat_openai(messages: list[dict]) -> dict:
return
{
"raw"
:
response
,
"message"
:
message
}
def
get_message_content
(
result
:
dict
|
object
)
->
str
:
message
=
result
.
get
(
"message"
)
if
isinstance
(
result
,
dict
)
else
result
if
isinstance
(
message
,
dict
):
return
message
.
get
(
"content"
,
""
)
or
""
if
hasattr
(
message
,
"content"
):
return
getattr
(
message
,
"content"
)
or
""
return
""
def
chat
(
messages
:
list
[
dict
],
tools
:
list
[
Callable
[...,
Any
]]
|
None
=
None
,
...
...
@@ -64,23 +79,6 @@ def chat(
return
{
"raw"
:
response
,
"message"
:
_extract_message
(
response
)}
def
_extract_message
(
response
)
->
object
:
if
isinstance
(
response
,
dict
)
and
"message"
in
response
:
return
response
[
"message"
]
if
hasattr
(
response
,
"message"
):
return
response
.
message
return
{}
def
get_message_content
(
result
:
dict
|
object
)
->
str
:
message
=
result
.
get
(
"message"
)
if
isinstance
(
result
,
dict
)
else
result
if
isinstance
(
message
,
dict
):
return
message
.
get
(
"content"
,
""
)
or
""
if
hasattr
(
message
,
"content"
):
return
getattr
(
message
,
"content"
)
or
""
return
""
def
chat_with_tools
(
messages
:
list
[
dict
],
tools
:
list
[
Callable
[...,
Any
]],
...
...
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