langroid 0.27.1__py3-none-any.whl → 0.27.3__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/agent/base.py +5 -1
- langroid/language_models/base.py +12 -3
- langroid/language_models/openai_gpt.py +4 -4
- {langroid-0.27.1.dist-info → langroid-0.27.3.dist-info}/METADATA +1 -1
- {langroid-0.27.1.dist-info → langroid-0.27.3.dist-info}/RECORD +8 -8
- pyproject.toml +1 -1
- {langroid-0.27.1.dist-info → langroid-0.27.3.dist-info}/LICENSE +0 -0
- {langroid-0.27.1.dist-info → langroid-0.27.3.dist-info}/WHEEL +0 -0
langroid/agent/base.py
CHANGED
@@ -116,6 +116,10 @@ async def async_noop_fn(*args: List[Any], **kwargs: Dict[str, Any]) -> None:
|
|
116
116
|
pass
|
117
117
|
|
118
118
|
|
119
|
+
async def async_lambda_noop_fn() -> Callable[..., Coroutine[Any, Any, None]]:
|
120
|
+
return async_noop_fn
|
121
|
+
|
122
|
+
|
119
123
|
class Agent(ABC):
|
120
124
|
"""
|
121
125
|
An Agent is an abstraction that encapsulates mainly two components:
|
@@ -169,7 +173,7 @@ class Agent(ABC):
|
|
169
173
|
|
170
174
|
self.callbacks = SimpleNamespace(
|
171
175
|
start_llm_stream=lambda: noop_fn,
|
172
|
-
start_llm_stream_async=
|
176
|
+
start_llm_stream_async=async_lambda_noop_fn,
|
173
177
|
cancel_llm_stream=noop_fn,
|
174
178
|
finish_llm_stream=noop_fn,
|
175
179
|
show_llm_response=noop_fn,
|
langroid/language_models/base.py
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
import ast
|
2
1
|
import json
|
3
2
|
import logging
|
4
3
|
from abc import ABC, abstractmethod
|
@@ -21,7 +20,7 @@ from typing import (
|
|
21
20
|
from langroid.cachedb.base import CacheDBConfig
|
22
21
|
from langroid.cachedb.redis_cachedb import RedisCacheConfig
|
23
22
|
from langroid.parsing.agent_chats import parse_message
|
24
|
-
from langroid.parsing.parse_json import top_level_json_field
|
23
|
+
from langroid.parsing.parse_json import parse_imperfect_json, top_level_json_field
|
25
24
|
from langroid.prompts.dialog import collate_chat_history
|
26
25
|
from langroid.pydantic_v1 import BaseModel, BaseSettings, Field
|
27
26
|
from langroid.utils.configuration import settings
|
@@ -97,7 +96,17 @@ class LLMFunctionCall(BaseModel):
|
|
97
96
|
# so we try to be safe by removing newlines.
|
98
97
|
if fun_args_str is not None:
|
99
98
|
fun_args_str = fun_args_str.replace("\n", "").strip()
|
100
|
-
|
99
|
+
dict_or_list = parse_imperfect_json(fun_args_str)
|
100
|
+
|
101
|
+
if not isinstance(dict_or_list, dict):
|
102
|
+
raise ValueError(
|
103
|
+
f"""
|
104
|
+
Invalid function args: {fun_args_str}
|
105
|
+
parsed as {dict_or_list},
|
106
|
+
which is not a valid dict.
|
107
|
+
"""
|
108
|
+
)
|
109
|
+
fun_args = dict_or_list
|
101
110
|
else:
|
102
111
|
fun_args = None
|
103
112
|
fun_call.arguments = fun_args
|
@@ -68,7 +68,7 @@ else:
|
|
68
68
|
OLLAMA_BASE_URL = "http://localhost:11434/v1"
|
69
69
|
|
70
70
|
OPENROUTER_BASE_URL = "https://openrouter.ai/api/v1"
|
71
|
-
GEMINI_BASE_URL = "https://generativelanguage.googleapis.com/v1beta/"
|
71
|
+
GEMINI_BASE_URL = "https://generativelanguage.googleapis.com/v1beta/openai"
|
72
72
|
GLHF_BASE_URL = "https://glhf.chat/api/openai/v1"
|
73
73
|
OLLAMA_API_KEY = "ollama"
|
74
74
|
DUMMY_API_KEY = "xxx"
|
@@ -102,9 +102,9 @@ class OpenAIChatModel(str, Enum):
|
|
102
102
|
class GeminiModel(str, Enum):
|
103
103
|
"""Enum for Gemini models"""
|
104
104
|
|
105
|
-
GEMINI_1_5_FLASH = "gemini-1.5-flash"
|
106
|
-
GEMINI_1_5_FLASH_8B = "gemini-1.5-flash-8b"
|
107
|
-
GEMINI_1_5_PRO = "gemini-1.5-pro"
|
105
|
+
GEMINI_1_5_FLASH = "gemini/gemini-1.5-flash"
|
106
|
+
GEMINI_1_5_FLASH_8B = "gemini/gemini-1.5-flash-8b"
|
107
|
+
GEMINI_1_5_PRO = "gemini/gemini-1.5-pro"
|
108
108
|
|
109
109
|
|
110
110
|
class OpenAICompletionModel(str, Enum):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
langroid/__init__.py,sha256=z_fCOLQJPOw3LLRPBlFB5-2HyCjpPgQa4m4iY5Fvb8Y,1800
|
2
2
|
langroid/agent/__init__.py,sha256=ll0Cubd2DZ-fsCMl7e10hf9ZjFGKzphfBco396IKITY,786
|
3
|
-
langroid/agent/base.py,sha256=
|
3
|
+
langroid/agent/base.py,sha256=UIsiM8SQjDVShOyaFJZbPkBStM5bMexFfyd0M1j4u_w,76866
|
4
4
|
langroid/agent/batch.py,sha256=qK3ph6VNj_1sOhfXCZY4r6gh035DglDKU751p8BU0tY,14665
|
5
5
|
langroid/agent/callbacks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
6
|
langroid/agent/callbacks/chainlit.py,sha256=C6zzzYC30qC4eMA7al7eFpRoTgoe3475kaMKyXgQM0Q,20695
|
@@ -72,10 +72,10 @@ langroid/language_models/.chainlit/config.toml,sha256=1t5lHORGzc2E6dkaO9P15jYHu2
|
|
72
72
|
langroid/language_models/.chainlit/translations/en-US.json,sha256=DAFz2HjOFFfboCStrUfKFg2BpplJPK_OOtixwF_GivY,9931
|
73
73
|
langroid/language_models/__init__.py,sha256=8o8D8Lxaq961_oxVpB_bC2iEJ1GXJqYXMlwUcn6OJb8,976
|
74
74
|
langroid/language_models/azure_openai.py,sha256=DdWq_pRFI9PT5LwUy9TXDox90TY-mkP5MKxFwoM42x4,7250
|
75
|
-
langroid/language_models/base.py,sha256=
|
75
|
+
langroid/language_models/base.py,sha256=6hXR-bclyPif-BvFbyXevP-gEwiawQAJHX3N1AKNei0,23786
|
76
76
|
langroid/language_models/config.py,sha256=9Q8wk5a7RQr8LGMT_0WkpjY8S4ywK06SalVRjXlfCiI,378
|
77
77
|
langroid/language_models/mock_lm.py,sha256=5BgHKDVRWFbUwDT_PFgTZXz9-k8wJSA2e3PZmyDgQ1k,4022
|
78
|
-
langroid/language_models/openai_gpt.py,sha256=
|
78
|
+
langroid/language_models/openai_gpt.py,sha256=jejB-LbMFMqzw2GMOLBVl_FdP6vwYbFj7g4nZqxQdOI,73970
|
79
79
|
langroid/language_models/prompt_formatter/__init__.py,sha256=2-5cdE24XoFDhifOLl8yiscohil1ogbP1ECkYdBlBsk,372
|
80
80
|
langroid/language_models/prompt_formatter/base.py,sha256=eDS1sgRNZVnoajwV_ZIha6cba5Dt8xjgzdRbPITwx3Q,1221
|
81
81
|
langroid/language_models/prompt_formatter/hf_formatter.py,sha256=PVJppmjRvD-2DF-XNC6mE05vTZ9wbu37SmXwZBQhad0,5055
|
@@ -142,8 +142,8 @@ langroid/vector_store/meilisearch.py,sha256=6frB7GFWeWmeKzRfLZIvzRjllniZ1cYj3Hmh
|
|
142
142
|
langroid/vector_store/momento.py,sha256=UNHGT6jXuQtqY9f6MdqGU14bVnS0zHgIJUa30ULpUJo,10474
|
143
143
|
langroid/vector_store/qdrant_cloud.py,sha256=3im4Mip0QXLkR6wiqVsjV1QvhSElfxdFSuDKddBDQ-4,188
|
144
144
|
langroid/vector_store/qdrantdb.py,sha256=v7mCsijc2GdRJyil-yFaUVAX4SX5D75mD3vzlpjCMuo,17393
|
145
|
-
pyproject.toml,sha256=
|
146
|
-
langroid-0.27.
|
147
|
-
langroid-0.27.
|
148
|
-
langroid-0.27.
|
149
|
-
langroid-0.27.
|
145
|
+
pyproject.toml,sha256=Ny-MFKENoFo_MeVHdQLYA6ROKOe02yyubOjJhAj-cko,7496
|
146
|
+
langroid-0.27.3.dist-info/LICENSE,sha256=EgVbvA6VSYgUlvC3RvPKehSg7MFaxWDsFuzLOsPPfJg,1065
|
147
|
+
langroid-0.27.3.dist-info/METADATA,sha256=QnipDRvdw35Qwi5yQKDfJjFvdXNtFl1pvsM48hwF2WU,57521
|
148
|
+
langroid-0.27.3.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
149
|
+
langroid-0.27.3.dist-info/RECORD,,
|
pyproject.toml
CHANGED
File without changes
|
File without changes
|