Agents use grammar (#31735)

* Allow optional use of grammars to constrain generation
This commit is contained in:
Aymeric Roucher
2024-08-07 11:42:52 +02:00
committed by GitHub
parent c54a6f994a
commit e0d82534cc
5 changed files with 61 additions and 24 deletions

View File

@@ -30,7 +30,7 @@ def get_new_path(suffix="") -> str:
return os.path.join(directory, str(uuid.uuid4()) + suffix)
def fake_react_json_llm(messages, stop_sequences=None) -> str:
def fake_react_json_llm(messages, stop_sequences=None, grammar=None) -> str:
prompt = str(messages)
if "special_marker" not in prompt:
@@ -53,7 +53,7 @@ Action:
"""
def fake_react_code_llm(messages, stop_sequences=None) -> str:
def fake_react_code_llm(messages, stop_sequences=None, grammar=None) -> str:
prompt = str(messages)
if "special_marker" not in prompt:
return """
@@ -119,7 +119,7 @@ final_answer(res)
"""
def fake_code_llm_oneshot(messages, stop_sequences=None) -> str:
def fake_code_llm_oneshot(messages, stop_sequences=None, grammar=None) -> str:
return """
Thought: I should multiply 2 by 3.6452. special_marker
Code:
@@ -130,7 +130,7 @@ final_answer(result)
"""
def fake_code_llm_no_return(messages, stop_sequences=None) -> str:
def fake_code_llm_no_return(messages, stop_sequences=None, grammar=None) -> str:
return """
Thought: I should multiply 2 by 3.6452. special_marker
Code: