langroid 0.50.8__py3-none-any.whl → 0.50.10__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- langroid/language_models/base.py +27 -6
- langroid/language_models/utils.py +12 -0
- {langroid-0.50.8.dist-info → langroid-0.50.10.dist-info}/METADATA +1 -1
- {langroid-0.50.8.dist-info → langroid-0.50.10.dist-info}/RECORD +6 -6
- {langroid-0.50.8.dist-info → langroid-0.50.10.dist-info}/WHEEL +0 -0
- {langroid-0.50.8.dist-info → langroid-0.50.10.dist-info}/licenses/LICENSE +0 -0
langroid/language_models/base.py
CHANGED
@@ -733,16 +733,37 @@ class LanguageModel(ABC):
|
|
733
733
|
history = collate_chat_history(chat_history)
|
734
734
|
|
735
735
|
prompt = f"""
|
736
|
-
|
737
|
-
|
738
|
-
|
736
|
+
You are an expert at understanding a CHAT HISTORY between an AI Assistant
|
737
|
+
and a User, and you are highly skilled in rephrasing the User's FOLLOW-UP
|
738
|
+
QUESTION/REQUEST as a STANDALONE QUESTION/REQUEST that can be understood
|
739
|
+
WITHOUT the context of the chat history.
|
739
740
|
|
740
|
-
|
741
|
+
Below is the CHAT HISTORY. When the User asks you to rephrase a
|
742
|
+
FOLLOW-UP QUESTION/REQUEST, your ONLY task is to simply return the
|
743
|
+
question REPHRASED as a STANDALONE QUESTION/REQUEST, without any additional
|
744
|
+
text or context.
|
741
745
|
|
742
|
-
|
746
|
+
<CHAT_HISTORY>
|
747
|
+
{history}
|
748
|
+
</CHAT_HISTORY>
|
743
749
|
""".strip()
|
750
|
+
|
751
|
+
follow_up_question = f"""
|
752
|
+
Please rephrase this as a stand-alone question or request:
|
753
|
+
<FOLLOW-UP-QUESTION-OR-REQUEST>
|
754
|
+
{question}
|
755
|
+
</FOLLOW-UP-QUESTION-OR-REQUEST>
|
756
|
+
""".strip()
|
757
|
+
|
744
758
|
show_if_debug(prompt, "FOLLOWUP->STANDALONE-PROMPT= ")
|
745
|
-
standalone = self.
|
759
|
+
standalone = self.chat(
|
760
|
+
messages=[
|
761
|
+
LLMMessage(role=Role.SYSTEM, content=prompt),
|
762
|
+
LLMMessage(role=Role.USER, content=follow_up_question),
|
763
|
+
],
|
764
|
+
max_tokens=1024,
|
765
|
+
).message.strip()
|
766
|
+
|
746
767
|
show_if_debug(prompt, "FOLLOWUP->STANDALONE-RESPONSE= ")
|
747
768
|
return standalone
|
748
769
|
|
@@ -59,6 +59,18 @@ def retry_with_exponential_backoff(
|
|
59
59
|
|
60
60
|
# Retry on specified errors
|
61
61
|
except errors as e:
|
62
|
+
|
63
|
+
# For certain types of errors that slip through here
|
64
|
+
# (e.g. when using proxies like LiteLLM, do not retry)
|
65
|
+
if any(
|
66
|
+
err in str(e)
|
67
|
+
for err in [
|
68
|
+
"BadRequestError",
|
69
|
+
"ConnectionError",
|
70
|
+
]
|
71
|
+
):
|
72
|
+
logger.error(f"OpenAI API request failed with error: {e}.")
|
73
|
+
raise e
|
62
74
|
# Increment retries
|
63
75
|
num_retries += 1
|
64
76
|
|
@@ -69,12 +69,12 @@ langroid/embedding_models/protoc/embeddings_pb2.pyi,sha256=UkNy7BrNsmQm0vLb3NtGX
|
|
69
69
|
langroid/embedding_models/protoc/embeddings_pb2_grpc.py,sha256=9dYQqkW3JPyBpSEjeGXTNpSqAkC-6FPtBHyteVob2Y8,2452
|
70
70
|
langroid/language_models/__init__.py,sha256=3aD2qC1lz8v12HX4B-dilv27gNxYdGdeu1QvDlkqqHs,1095
|
71
71
|
langroid/language_models/azure_openai.py,sha256=SW0Fp_y6HpERr9l6TtF6CYsKgKwjUf_hSL_2mhTV4wI,5034
|
72
|
-
langroid/language_models/base.py,sha256=
|
72
|
+
langroid/language_models/base.py,sha256=sCDC02hqIgjY73KnCvc-YGxZJm_LAs4Z1VVQpIFWLyQ,27754
|
73
73
|
langroid/language_models/config.py,sha256=9Q8wk5a7RQr8LGMT_0WkpjY8S4ywK06SalVRjXlfCiI,378
|
74
74
|
langroid/language_models/mock_lm.py,sha256=5BgHKDVRWFbUwDT_PFgTZXz9-k8wJSA2e3PZmyDgQ1k,4022
|
75
75
|
langroid/language_models/model_info.py,sha256=tfBBxL0iUf2mVN6CjcvqflzFUVg2oZqOJZexZ8jHTYA,12216
|
76
76
|
langroid/language_models/openai_gpt.py,sha256=t5oFJFxfm0ZwbD5kS73TY8Hal6aCFUWX7O7dBZc-7fw,84480
|
77
|
-
langroid/language_models/utils.py,sha256=
|
77
|
+
langroid/language_models/utils.py,sha256=hC5p61P_Qlrowkm5wMap1A1b5ZUCwK_XhPIzAQk1T1s,5483
|
78
78
|
langroid/language_models/prompt_formatter/__init__.py,sha256=2-5cdE24XoFDhifOLl8yiscohil1ogbP1ECkYdBlBsk,372
|
79
79
|
langroid/language_models/prompt_formatter/base.py,sha256=eDS1sgRNZVnoajwV_ZIha6cba5Dt8xjgzdRbPITwx3Q,1221
|
80
80
|
langroid/language_models/prompt_formatter/hf_formatter.py,sha256=PVJppmjRvD-2DF-XNC6mE05vTZ9wbu37SmXwZBQhad0,5055
|
@@ -129,7 +129,7 @@ langroid/vector_store/pineconedb.py,sha256=otxXZNaBKb9f_H75HTaU3lMHiaR2NUp5MqwLZ
|
|
129
129
|
langroid/vector_store/postgres.py,sha256=wHPtIi2qM4fhO4pMQr95pz1ZCe7dTb2hxl4VYspGZoA,16104
|
130
130
|
langroid/vector_store/qdrantdb.py,sha256=O6dSBoDZ0jzfeVBd7LLvsXu083xs2fxXtPa9gGX3JX4,18443
|
131
131
|
langroid/vector_store/weaviatedb.py,sha256=Yn8pg139gOy3zkaPfoTbMXEEBCiLiYa1MU5d_3UA1K4,11847
|
132
|
-
langroid-0.50.
|
133
|
-
langroid-0.50.
|
134
|
-
langroid-0.50.
|
135
|
-
langroid-0.50.
|
132
|
+
langroid-0.50.10.dist-info/METADATA,sha256=XAXiPJuTaCrL_WyihMNOfVxm1BZxk_aAxxg_OCQSQqQ,63642
|
133
|
+
langroid-0.50.10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
134
|
+
langroid-0.50.10.dist-info/licenses/LICENSE,sha256=EgVbvA6VSYgUlvC3RvPKehSg7MFaxWDsFuzLOsPPfJg,1065
|
135
|
+
langroid-0.50.10.dist-info/RECORD,,
|
File without changes
|
File without changes
|