langroid 0.28.7__py3-none-any.whl → 0.30.0__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/.chainlit/config.toml +121 -0
- langroid/agent/.chainlit/translations/bn.json +231 -0
- langroid/agent/.chainlit/translations/en-US.json +229 -0
- langroid/agent/.chainlit/translations/gu.json +231 -0
- langroid/agent/.chainlit/translations/he-IL.json +231 -0
- langroid/agent/.chainlit/translations/hi.json +231 -0
- langroid/agent/.chainlit/translations/kn.json +231 -0
- langroid/agent/.chainlit/translations/ml.json +231 -0
- langroid/agent/.chainlit/translations/mr.json +231 -0
- langroid/agent/.chainlit/translations/ta.json +231 -0
- langroid/agent/.chainlit/translations/te.json +231 -0
- langroid/agent/.chainlit/translations/zh-CN.json +229 -0
- langroid/embedding_models/__init__.py +6 -2
- langroid/embedding_models/base.py +4 -0
- langroid/embedding_models/models.py +151 -39
- langroid/language_models/azure_openai.py +60 -28
- langroid/language_models/openai_gpt.py +26 -19
- langroid/vector_store/chromadb.py +8 -0
- {langroid-0.28.7.dist-info → langroid-0.30.0.dist-info}/METADATA +1 -1
- {langroid-0.28.7.dist-info → langroid-0.30.0.dist-info}/RECORD +23 -12
- pyproject.toml +1 -1
- langroid/agent/team.py +0 -41
- {langroid-0.28.7.dist-info → langroid-0.30.0.dist-info}/LICENSE +0 -0
- {langroid-0.28.7.dist-info → langroid-0.30.0.dist-info}/WHEEL +0 -0
@@ -432,8 +432,8 @@ class OpenAIGPT(LanguageModel):
|
|
432
432
|
Class for OpenAI LLMs
|
433
433
|
"""
|
434
434
|
|
435
|
-
client: OpenAI | Groq | Cerebras
|
436
|
-
async_client: AsyncOpenAI | AsyncGroq | AsyncCerebras
|
435
|
+
client: OpenAI | Groq | Cerebras | None
|
436
|
+
async_client: AsyncOpenAI | AsyncGroq | AsyncCerebras | None
|
437
437
|
|
438
438
|
def __init__(self, config: OpenAIGPTConfig = OpenAIGPTConfig()):
|
439
439
|
"""
|
@@ -1375,12 +1375,15 @@ class OpenAIGPT(LanguageModel):
|
|
1375
1375
|
else:
|
1376
1376
|
if self.config.litellm:
|
1377
1377
|
from litellm import completion as litellm_completion
|
1378
|
-
|
1379
|
-
|
1380
|
-
|
1381
|
-
if self.
|
1382
|
-
|
1383
|
-
|
1378
|
+
|
1379
|
+
completion_call = litellm_completion
|
1380
|
+
else:
|
1381
|
+
if self.client is None:
|
1382
|
+
raise ValueError(
|
1383
|
+
"OpenAI/equivalent chat-completion client not set"
|
1384
|
+
)
|
1385
|
+
assert isinstance(self.client, OpenAI)
|
1386
|
+
completion_call = self.client.completions.create
|
1384
1387
|
if self.config.litellm and settings.debug:
|
1385
1388
|
kwargs["logger_fn"] = litellm_logging_fn
|
1386
1389
|
# If it's not in the cache, call the API
|
@@ -1619,14 +1622,15 @@ class OpenAIGPT(LanguageModel):
|
|
1619
1622
|
if settings.debug:
|
1620
1623
|
print("[grey37]CACHED[/grey37]")
|
1621
1624
|
else:
|
1625
|
+
# If it's not in the cache, call the API
|
1622
1626
|
if self.config.litellm:
|
1623
1627
|
from litellm import completion as litellm_completion
|
1624
|
-
|
1625
|
-
|
1626
|
-
|
1627
|
-
if self.
|
1628
|
-
|
1629
|
-
|
1628
|
+
|
1629
|
+
completion_call = litellm_completion
|
1630
|
+
else:
|
1631
|
+
if self.client is None:
|
1632
|
+
raise ValueError("OpenAI/equivalent chat-completion client not set")
|
1633
|
+
completion_call = self.client.chat.completions.create
|
1630
1634
|
if self.config.litellm and settings.debug:
|
1631
1635
|
kwargs["logger_fn"] = litellm_logging_fn
|
1632
1636
|
result = completion_call(**kwargs)
|
@@ -1649,11 +1653,14 @@ class OpenAIGPT(LanguageModel):
|
|
1649
1653
|
else:
|
1650
1654
|
if self.config.litellm:
|
1651
1655
|
from litellm import acompletion as litellm_acompletion
|
1652
|
-
|
1653
|
-
litellm_acompletion
|
1654
|
-
|
1655
|
-
|
1656
|
-
|
1656
|
+
|
1657
|
+
acompletion_call = litellm_acompletion
|
1658
|
+
else:
|
1659
|
+
if self.async_client is None:
|
1660
|
+
raise ValueError(
|
1661
|
+
"OpenAI/equivalent async chat-completion client not set"
|
1662
|
+
)
|
1663
|
+
acompletion_call = self.async_client.chat.completions.create
|
1657
1664
|
if self.config.litellm and settings.debug:
|
1658
1665
|
kwargs["logger_fn"] = litellm_logging_fn
|
1659
1666
|
# If it's not in the cache, call the API
|
@@ -35,6 +35,7 @@ class ChromaDB(VectorStore):
|
|
35
35
|
self.client = chromadb.Client(
|
36
36
|
chromadb.config.Settings(
|
37
37
|
# chroma_db_impl="duckdb+parquet",
|
38
|
+
# is_persistent=bool(config.storage_path),
|
38
39
|
persist_directory=config.storage_path,
|
39
40
|
)
|
40
41
|
)
|
@@ -124,6 +125,13 @@ class ChromaDB(VectorStore):
|
|
124
125
|
m["window_ids"] = ",".join(m["window_ids"])
|
125
126
|
|
126
127
|
ids = [str(d.id()) for d in documents]
|
128
|
+
|
129
|
+
colls = self.list_collections(empty=True)
|
130
|
+
if self.config.collection_name is None:
|
131
|
+
raise ValueError("No collection name set, cannot ingest docs")
|
132
|
+
if self.config.collection_name not in colls:
|
133
|
+
self.create_collection(self.config.collection_name, replace=True)
|
134
|
+
|
127
135
|
self.collection.add(
|
128
136
|
# embedding_models=embedding_models,
|
129
137
|
documents=contents,
|
@@ -1,4 +1,16 @@
|
|
1
1
|
langroid/__init__.py,sha256=z_fCOLQJPOw3LLRPBlFB5-2HyCjpPgQa4m4iY5Fvb8Y,1800
|
2
|
+
langroid/agent/.chainlit/config.toml,sha256=qEuh_rR6s0khb20KUADOv2g5OvDnu52mY3gcFFgEosE,3753
|
3
|
+
langroid/agent/.chainlit/translations/bn.json,sha256=m2TAaGMS-18_siW5dw4sbosh0Wn8ENWWzdGYkHaBrXw,22679
|
4
|
+
langroid/agent/.chainlit/translations/en-US.json,sha256=QoQAg8P5Q5gbGASc-HAHcfhufk71-Uc1u_ewIBfHuLc,9821
|
5
|
+
langroid/agent/.chainlit/translations/gu.json,sha256=9wE-NsHf7j5VUFzfE-cCpESTyHtzVHRcZXAwC3ACMl0,21660
|
6
|
+
langroid/agent/.chainlit/translations/he-IL.json,sha256=uVS4q9wlxDWqCNXde_f34p4tXcyA89YBsVNRDiOkhaE,16974
|
7
|
+
langroid/agent/.chainlit/translations/hi.json,sha256=3zi4wbpTCv5Q1bOzakeVQqeRpaO5ZkPJJ6oV-dVtNF4,21079
|
8
|
+
langroid/agent/.chainlit/translations/kn.json,sha256=GRGmx2hPh8bSfpKJQHwwtV_UF45kaMc8S-rUJeh_ZA4,23514
|
9
|
+
langroid/agent/.chainlit/translations/ml.json,sha256=QK1mYIbx_0gmmR4Poy2mm3uttAgW2ZpMfo6jgDec6uc,24857
|
10
|
+
langroid/agent/.chainlit/translations/mr.json,sha256=JaU16y5uW-cH0x7w6RDztEmhqEtnerJ61h8azkNLqyg,21321
|
11
|
+
langroid/agent/.chainlit/translations/ta.json,sha256=8JPW6BwLN2dl9wuq5wSkMvazcY8lM5v1pqbBxwObGUw,24724
|
12
|
+
langroid/agent/.chainlit/translations/te.json,sha256=JzW2YXWg1qqvWgIvEgMelQz5s6EzTb_uD_3TEHAHiQw,23526
|
13
|
+
langroid/agent/.chainlit/translations/zh-CN.json,sha256=aLBSSSQ0yojlYGuMMlOYvkD_ruG9-d2AgnjJWhPODVw,11737
|
2
14
|
langroid/agent/__init__.py,sha256=ll0Cubd2DZ-fsCMl7e10hf9ZjFGKzphfBco396IKITY,786
|
3
15
|
langroid/agent/base.py,sha256=ZgWsRBC9rugcWp9aZLAmFFteU47pqKIEoTy_dgkYtBI,77529
|
4
16
|
langroid/agent/batch.py,sha256=qK3ph6VNj_1sOhfXCZY4r6gh035DglDKU751p8BU0tY,14665
|
@@ -39,7 +51,6 @@ langroid/agent/special/sql/utils/tools.py,sha256=ovCePzq5cmbqw0vsVPBzxdZpUcSUIfT
|
|
39
51
|
langroid/agent/special/table_chat_agent.py,sha256=d9v2wsblaRx7oMnKhLV7uO_ujvk9gh59pSGvBXyeyNc,9659
|
40
52
|
langroid/agent/structured_message.py,sha256=y7pud1EgRNeTFZlJmBkLmwME3yQJ_IYik-Xds9kdZbY,282
|
41
53
|
langroid/agent/task.py,sha256=_iQTpjPIR1OGF0lq-ZFzQ92f_OmdIFmv7LlhoUA1QB8,89729
|
42
|
-
langroid/agent/team.py,sha256=y0cpR0KvBQhBKJcEYRAY2n6URa6WMN1tZSih6qnSiHM,1063
|
43
54
|
langroid/agent/tool_message.py,sha256=aaJSypRy2sC8b2qOszc7efgr5TrQva51SUGnxTwKXEg,14406
|
44
55
|
langroid/agent/tools/__init__.py,sha256=IMgCte-_ZIvCkozGQmvMqxIw7_nKLKzD78ccJL1bnQU,804
|
45
56
|
langroid/agent/tools/duckduckgo_search_tool.py,sha256=NhsCaGZkdv28nja7yveAhSK_w6l_Ftym8agbrdzqgfo,1935
|
@@ -58,10 +69,10 @@ langroid/cachedb/__init__.py,sha256=icAT2s7Vhf-ZGUeqpDQGNU6ob6o0aFEyjwcxxUGRFjg,
|
|
58
69
|
langroid/cachedb/base.py,sha256=ztVjB1DtN6pLCujCWnR6xruHxwVj3XkYniRTYAKKqk0,1354
|
59
70
|
langroid/cachedb/momento_cachedb.py,sha256=YEOJ62hEcV6iIeMr5aGgRYgWQqFYaej9gEDEcY0sm7M,3172
|
60
71
|
langroid/cachedb/redis_cachedb.py,sha256=7kgnbf4b5CKsCrlL97mHWKvdvlLt8zgn7lc528jEpiE,5141
|
61
|
-
langroid/embedding_models/__init__.py,sha256=
|
62
|
-
langroid/embedding_models/base.py,sha256=
|
72
|
+
langroid/embedding_models/__init__.py,sha256=XhVIMQJbQRpImcnhA9sJR7h6r7QgPo1SKDCvwEUD9j4,851
|
73
|
+
langroid/embedding_models/base.py,sha256=Ipk6LcBZSmbu8HzfQy6uSp6-xAWCrmzX3MzhOr-jCZI,2208
|
63
74
|
langroid/embedding_models/clustering.py,sha256=tZWElUqXl9Etqla0FAa7og96iDKgjqWjucZR_Egtp-A,6684
|
64
|
-
langroid/embedding_models/models.py,sha256=
|
75
|
+
langroid/embedding_models/models.py,sha256=pDED-Evwz3Y9tCwo2amOJVIIT0P9uskcbhs6gz6wVcU,13358
|
65
76
|
langroid/embedding_models/protoc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
66
77
|
langroid/embedding_models/protoc/embeddings.proto,sha256=_O-SgFpTaylQeOTgSpxhEJ7CUw7PeCQQJLaPqpPYKJg,321
|
67
78
|
langroid/embedding_models/protoc/embeddings_pb2.py,sha256=4Q57PhOunv-uZNJrxYrWBXAI0ZtfnVZXFRhRj5JuRSg,1662
|
@@ -72,11 +83,11 @@ langroid/exceptions.py,sha256=G60UVDChkUlBDVWHFr_43zUUszZHSejoU00tX_dfD68,2322
|
|
72
83
|
langroid/language_models/.chainlit/config.toml,sha256=1t5lHORGzc2E6dkaO9P15jYHu2w-4Kl9pYjpDPc84vs,3716
|
73
84
|
langroid/language_models/.chainlit/translations/en-US.json,sha256=DAFz2HjOFFfboCStrUfKFg2BpplJPK_OOtixwF_GivY,9931
|
74
85
|
langroid/language_models/__init__.py,sha256=8o8D8Lxaq961_oxVpB_bC2iEJ1GXJqYXMlwUcn6OJb8,976
|
75
|
-
langroid/language_models/azure_openai.py,sha256=
|
86
|
+
langroid/language_models/azure_openai.py,sha256=0a86-EtjgRsYw9kuGv0Tu6EOFbTCc-d5kb3GCJaJA54,8757
|
76
87
|
langroid/language_models/base.py,sha256=6hXR-bclyPif-BvFbyXevP-gEwiawQAJHX3N1AKNei0,23786
|
77
88
|
langroid/language_models/config.py,sha256=9Q8wk5a7RQr8LGMT_0WkpjY8S4ywK06SalVRjXlfCiI,378
|
78
89
|
langroid/language_models/mock_lm.py,sha256=5BgHKDVRWFbUwDT_PFgTZXz9-k8wJSA2e3PZmyDgQ1k,4022
|
79
|
-
langroid/language_models/openai_gpt.py,sha256=
|
90
|
+
langroid/language_models/openai_gpt.py,sha256=reOLAhGFpqjZCqrwUR1npIJMeG30_C6LSSziiuRoK5U,75617
|
80
91
|
langroid/language_models/prompt_formatter/__init__.py,sha256=2-5cdE24XoFDhifOLl8yiscohil1ogbP1ECkYdBlBsk,372
|
81
92
|
langroid/language_models/prompt_formatter/base.py,sha256=eDS1sgRNZVnoajwV_ZIha6cba5Dt8xjgzdRbPITwx3Q,1221
|
82
93
|
langroid/language_models/prompt_formatter/hf_formatter.py,sha256=PVJppmjRvD-2DF-XNC6mE05vTZ9wbu37SmXwZBQhad0,5055
|
@@ -137,14 +148,14 @@ langroid/utils/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
|
|
137
148
|
langroid/utils/web/login.py,sha256=1iz9eUAHa87vpKIkzwkmFa00avwFWivDSAr7QUhK7U0,2528
|
138
149
|
langroid/vector_store/__init__.py,sha256=6xBjb_z4QtUy4vz4RuFbcbSwmHrggHL8-q0DwCf3PMM,972
|
139
150
|
langroid/vector_store/base.py,sha256=WhVtiO_EuIMiwww_3ICQK6I7hwlmEyXEFKfWdbsES2Y,13952
|
140
|
-
langroid/vector_store/chromadb.py,sha256=
|
151
|
+
langroid/vector_store/chromadb.py,sha256=9WXW9IoSnhOmGEtMruVhEtVWL_VO6NXnPIz-nzh0gIQ,8235
|
141
152
|
langroid/vector_store/lancedb.py,sha256=l7C0UAMSQIntVE8a5Scg4V5f1odW40NJIbkKB_kxA2E,14626
|
142
153
|
langroid/vector_store/meilisearch.py,sha256=6frB7GFWeWmeKzRfLZIvzRjllniZ1cYj3HmhHQICXLs,11663
|
143
154
|
langroid/vector_store/momento.py,sha256=UNHGT6jXuQtqY9f6MdqGU14bVnS0zHgIJUa30ULpUJo,10474
|
144
155
|
langroid/vector_store/qdrant_cloud.py,sha256=3im4Mip0QXLkR6wiqVsjV1QvhSElfxdFSuDKddBDQ-4,188
|
145
156
|
langroid/vector_store/qdrantdb.py,sha256=v7mCsijc2GdRJyil-yFaUVAX4SX5D75mD3vzlpjCMuo,17393
|
146
|
-
pyproject.toml,sha256=
|
147
|
-
langroid-0.
|
148
|
-
langroid-0.
|
149
|
-
langroid-0.
|
150
|
-
langroid-0.
|
157
|
+
pyproject.toml,sha256=yZUBvpitvw9Kh1VYYu7e6kC39iRRtpjTt1QciTehfHg,7533
|
158
|
+
langroid-0.30.0.dist-info/LICENSE,sha256=EgVbvA6VSYgUlvC3RvPKehSg7MFaxWDsFuzLOsPPfJg,1065
|
159
|
+
langroid-0.30.0.dist-info/METADATA,sha256=YXV7MFnvWwkiIIRBLaalaMAarJvMlF-QMSFarcDY4t0,57569
|
160
|
+
langroid-0.30.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
161
|
+
langroid-0.30.0.dist-info/RECORD,,
|
pyproject.toml
CHANGED
langroid/agent/team.py
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
from abc import ABC, abstractmethod
|
2
|
-
|
3
|
-
class TeamComponent(ABC):
|
4
|
-
@abstractmethod
|
5
|
-
def run(self, msg):
|
6
|
-
pass
|
7
|
-
|
8
|
-
class Team(TeamComponent):
|
9
|
-
def __init__(self):
|
10
|
-
self.components = []
|
11
|
-
self.input_port = []
|
12
|
-
self.followers = []
|
13
|
-
self.scheduler = None
|
14
|
-
|
15
|
-
def follow(self, team):
|
16
|
-
team.followers.append(self)
|
17
|
-
|
18
|
-
def add_component(self, component):
|
19
|
-
self.components.append(component)
|
20
|
-
|
21
|
-
def notify_followers(self, result):
|
22
|
-
for follower in self.followers:
|
23
|
-
follower.input_port.append(result)
|
24
|
-
|
25
|
-
def run(self, msg):
|
26
|
-
if self.scheduler:
|
27
|
-
return self.scheduler.run(self.components, msg)
|
28
|
-
# Default sequential execution
|
29
|
-
result = ""
|
30
|
-
for component in self.components:
|
31
|
-
result += component.run(msg)
|
32
|
-
self.notify_followers(result)
|
33
|
-
return result
|
34
|
-
|
35
|
-
class Agent(TeamComponent):
|
36
|
-
def __init__(self, name):
|
37
|
-
self.name = name
|
38
|
-
|
39
|
-
def run(self, msg):
|
40
|
-
result = f"Agent {self.name} processed: {msg}"
|
41
|
-
return result
|
File without changes
|
File without changes
|