lionagi 0.0.106__py3-none-any.whl → 0.0.110__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
lionagi/utils/sys_util.py CHANGED
@@ -39,7 +39,9 @@ def _flatten_dict(input: Dict[str, Any], parent_key: str = '',
39
39
 
40
40
  Parameters:
41
41
  input (Dict[str, Any]): The dictionary to be flattened.
42
+
42
43
  parent_key (str, optional): Initial key for nested structures. Defaults to ''.
44
+
43
45
  sep (str, optional): Separator for concatenated key. Defaults to '_'.
44
46
 
45
47
  Yields:
@@ -77,7 +79,9 @@ def to_flat_dict(input: Dict[str, Any], parent_key: str = '', sep: str = '_') ->
77
79
 
78
80
  Parameters:
79
81
  input (Dict[str, Any]): The nested dictionary to flatten.
82
+
80
83
  parent_key (str, optional): Initial key for nested structures. Defaults to ''.
84
+
81
85
  sep (str, optional): Separator for concatenated keys. Defaults to '_'.
82
86
 
83
87
  Returns:
@@ -99,6 +103,7 @@ def _flatten_list(input: List[Any], dropna: bool = True) -> Generator[Any, None,
99
103
 
100
104
  Parameters:
101
105
  input (List[Any]): The list to be flattened.
106
+
102
107
  dropna (bool, optional): Flag to indicate whether 'None' values should be omitted. Defaults to True.
103
108
 
104
109
  Yields:
@@ -126,10 +131,17 @@ def to_list(input: Union[Iterable, Any], flatten_dict: bool = False, flat: bool
126
131
 
127
132
  Parameters:
128
133
  input (Union[Iterable, Any]): The input to convert.
134
+
129
135
  flatten_dict (bool, optional): Flatten dictionary input. Defaults to False.
136
+
130
137
  flat (bool, optional): Flatten the output list. Defaults to True.
138
+
131
139
  dropna (bool, optional): Drop 'None' values during flattening. Defaults to True.
132
140
 
141
+ parent_key (str, optional): The parent key for flattening dictionaries. Defaults to an empty string.
142
+
143
+ sep (str, optional): The separator for creating flattened dictionary keys. Defaults to '_'.
144
+
133
145
  Raises:
134
146
  ValueError: If input is None, callable, or unconvertible to a list.
135
147
 
@@ -176,9 +188,13 @@ def str_to_num(input: str,
176
188
 
177
189
  Parameters:
178
190
  input (str): String to search for numeric values.
191
+
179
192
  upper_bound (Optional[Union[int, float]]): Upper limit for the numeric value. None for no limit.
193
+
180
194
  lower_bound (Optional[Union[int, float]]): Lower limit for the numeric value. None for no limit.
195
+
181
196
  num_type (type): Desired type for the numeric value (int or float).
197
+
182
198
  precision (Optional[int]): Decimal places for rounding if float. None for no rounding.
183
199
 
184
200
  Raises:
@@ -226,6 +242,7 @@ def make_copy(input: Any, n: int) -> Any:
226
242
 
227
243
  Parameters:
228
244
  input (Any): The object to be copied.
245
+
229
246
  n (int): The number of deep copies to create.
230
247
 
231
248
  Raises:
@@ -255,8 +272,11 @@ def to_temp(input: Any,
255
272
 
256
273
  Parameters:
257
274
  input (Any): The data to be converted and written to a file.
275
+
258
276
  flatten_dict (bool, optional): Flatten dictionaries in the input. Defaults to False.
277
+
259
278
  flat (bool, optional): Flatten lists in the input. Defaults to False.
279
+
260
280
  dropna (bool, optional): Exclude 'None' values during flattening. Defaults to False.
261
281
 
262
282
  Raises:
@@ -289,7 +309,9 @@ def to_csv(input: List[Dict[str, Any]],
289
309
 
290
310
  Parameters:
291
311
  input (List[Dict[str, Any]]): Data to write to the CSV file.
312
+
292
313
  filepath (str): Path of the output CSV file.
314
+
293
315
  file_exist_ok (bool, optional): Create the file if it doesn't exist. Defaults to False.
294
316
 
295
317
  Raises:
@@ -321,6 +343,7 @@ def append_to_jsonl(data: Any, filepath: str) -> None:
321
343
 
322
344
  Parameters:
323
345
  data (Any): Data to be serialized and appended.
346
+
324
347
  filepath (str): Path to the jsonl file.
325
348
 
326
349
  Example:
@@ -345,10 +368,15 @@ def hold_call(input: Any,
345
368
 
346
369
  Parameters:
347
370
  input (Any): Input to the function.
371
+
348
372
  func (Callable): Function to execute.
373
+
349
374
  sleep (int, optional): Time in seconds to wait before calling the function. Defaults to 0.1.
375
+
350
376
  message (Optional[str], optional): Message to print on exception. Defaults to None.
377
+
351
378
  ignore_error (bool, optional): If True, ignores exceptions. Defaults to False.
379
+
352
380
  **kwargs: Additional keyword arguments for the function.
353
381
 
354
382
  Returns:
@@ -388,10 +416,15 @@ async def ahold_call(input: Any,
388
416
 
389
417
  Parameters:
390
418
  input (Any): Input to the function.
419
+
391
420
  func (Callable): Asynchronous function to execute.
421
+
392
422
  sleep (int, optional): Time in seconds to wait before calling the function. Defaults to 5.
423
+
393
424
  message (Optional[str], optional): Message to print on exception. Defaults to None.
425
+
394
426
  ignore_error (bool, optional): If True, ignores exceptions. Defaults to False.
427
+
395
428
  **kwargs: Additional keyword arguments for the function.
396
429
 
397
430
  Returns:
@@ -432,9 +465,13 @@ def l_call(input: Any,
432
465
 
433
466
  Parameters:
434
467
  input (Any): The input to be converted to a list and processed.
468
+
435
469
  func (Callable): The function to apply to each element of the list.
470
+
436
471
  flatten_dict (bool, optional): If True, flattens dictionaries in the input. Defaults to False.
472
+
437
473
  flat (bool, optional): If True, flattens nested lists in the input. Defaults to False.
474
+
438
475
  dropna (bool, optional): If True, drops None values during flattening. Defaults to True.
439
476
 
440
477
  Returns:
@@ -469,9 +506,13 @@ async def al_call(input: Any,
469
506
 
470
507
  Parameters:
471
508
  input (Any): The input to be converted to a list and processed.
509
+
472
510
  func (Callable): The asynchronous function to apply to each element of the list.
511
+
473
512
  flatten_dict (bool, optional): If True, flattens dictionaries in the input. Defaults to False.
513
+
474
514
  flat (bool, optional): If True, flattens nested lists in the input. Defaults to False.
515
+
475
516
  dropna (bool, optional): If True, drops None values during flattening. Defaults to True.
476
517
 
477
518
  Returns:
@@ -507,9 +548,13 @@ def m_call(input: Union[Any, List[Any]],
507
548
 
508
549
  Parameters:
509
550
  input (Union[Any, List[Any]]): The input or list of inputs to be processed.
510
- funcs (Union[Callable, List[Callable]]): The function or list of functions to apply.
551
+
552
+ func (Union[Callable, List[Callable]]): The function or list of functions to apply.
553
+
511
554
  flatten_dict (bool, optional): Whether to flatten dictionaries in the input. Defaults to False.
555
+
512
556
  flat (bool, optional): Whether the output list should be flattened. Defaults to True.
557
+
513
558
  dropna (bool, optional): Whether to drop None values during flattening. Defaults to True.
514
559
 
515
560
  Returns:
@@ -544,9 +589,13 @@ async def am_call(input: Union[Any, List[Any]],
544
589
 
545
590
  Parameters:
546
591
  input (Union[Any, List[Any]]): The input or list of inputs to be processed.
547
- funcs (Union[Callable, List[Callable]]): The function or list of functions to apply.
592
+
593
+ func (Union[Callable, List[Callable]]): The function or list of functions to apply.
594
+
548
595
  flatten_dict (bool, optional): Whether to flatten dictionaries in the input. Defaults to False.
596
+
549
597
  flat (bool, optional): Whether the output list should be flattened. Defaults to True.
598
+
550
599
  dropna (bool, optional): Whether to drop None values during flattening. Defaults to True.
551
600
 
552
601
  Returns:
@@ -584,9 +633,13 @@ def e_call(input: Any,
584
633
 
585
634
  Parameters:
586
635
  input (Union[Any, List[Any]]): The input or list of inputs to be processed.
587
- funcs (Union[Callable, List[Callable]]): The function or list of functions to apply.
636
+
637
+ func (Union[Callable, List[Callable]]): The function or list of functions to apply.
638
+
588
639
  flatten_dict (bool, optional): Whether to flatten dictionaries in the input. Defaults to False.
640
+
589
641
  flat (bool, optional): Whether the output list should be flattened. Defaults to True.
642
+
590
643
  dropna (bool, optional): Whether to drop None values during flattening. Defaults to True.
591
644
 
592
645
  Returns:
@@ -599,9 +652,9 @@ def e_call(input: Any,
599
652
  [[1], [4], [9]]
600
653
  """
601
654
 
602
- f = lambda x, y: m_call(make_copy(x, len(to_list(y))), y,
655
+ _f = lambda x, y: m_call(make_copy(x, len(to_list(y))), y,
603
656
  flatten_dict=flatten_dict, flat=flat, dropna=dropna)
604
- return to_list([f(inp, func) for inp in to_list(input)], flat=flat)
657
+ return to_list([_f(inp, func) for inp in to_list(input)], flat=flat)
605
658
 
606
659
  async def ae_call(input_: Any,
607
660
  func_: Callable,
@@ -616,10 +669,14 @@ async def ae_call(input_: Any,
616
669
  of different asynchronous transformations to the same input.
617
670
 
618
671
  Parameters:
619
- input (Union[Any, List[Any]]): The input or list of inputs to be processed.
620
- funcs (Union[Callable, List[Callable]]): The function or list of functions to apply.
672
+ input_ (Union[Any, List[Any]]): The input or list of inputs to be processed.
673
+
674
+ func_ (Union[Callable, List[Callable]]): The function or list of functions to apply.
675
+
621
676
  flatten_dict (bool, optional): Whether to flatten dictionaries in the input. Defaults to False.
677
+
622
678
  flat (bool, optional): Whether the output list should be flattened. Defaults to True.
679
+
623
680
  dropna (bool, optional): Whether to drop None values during flattening. Defaults to True.
624
681
 
625
682
  Example:
@@ -628,10 +685,10 @@ async def ae_call(input_: Any,
628
685
  >>> asyncio.run(ae_call([1, 2, 3], [async_square]))
629
686
  [[1, 4, 9]]
630
687
  """
631
- async def async_f(x, y):
688
+ async def _async_f(x, y):
632
689
  return await am_call(make_copy(x, len(to_list(y))), y, flatten_dict=flatten_dict, flat=flat, dropna=dropna)
633
690
 
634
- tasks = [async_f(inp, func_) for inp in to_list(input_)]
691
+ tasks = [_async_f(inp, func_) for inp in to_list(input_)]
635
692
  return await asyncio.gather(*tasks)
636
693
 
637
694
  def get_timestamp() -> str:
@@ -670,6 +727,7 @@ def create_id() -> str:
670
727
  random_bytes = os.urandom(16)
671
728
  return hashlib.sha256(current_time + random_bytes).hexdigest()[:16]
672
729
 
730
+
673
731
  def create_path(dir: str, filename: str, timestamp: bool = True, dir_exist_ok: bool = True, time_prefix=False) -> str:
674
732
  """
675
733
  Creates a file path by optionally appending a timestamp to the filename.
@@ -677,12 +735,17 @@ def create_path(dir: str, filename: str, timestamp: bool = True, dir_exist_ok: b
677
735
  This function constructs a file path by combining a directory, an optional timestamp,
678
736
  and a filename. It also ensures the existence of the directory.
679
737
 
680
- Args:
681
- dir_ (str): The directory in which the file is to be located.
738
+ Parameters:
739
+ dir (str): The directory in which the file is to be located.
740
+
682
741
  filename (str): The name of the file.
742
+
683
743
  timestamp (bool, optional): If True, appends a timestamp to the filename. Defaults to True.
744
+
684
745
  dir_exist_ok (bool, optional): If True, creates the directory if it doesn't exist. Defaults to True.
685
746
 
747
+ time_prefix (bool, optional): If True, the timestamp is added as a prefix; otherwise, it's appended. Defaults to False.
748
+
686
749
  Returns:
687
750
  str: The full path to the file.
688
751
 
@@ -10,7 +10,8 @@ class ToolManager:
10
10
  This class allows the registration of tools and functions, enabling their invocation.
11
11
 
12
12
  Attributes:
13
- registry (dict): A dictionary storing the registered tools and their corresponding functions.
13
+ registry (dict):
14
+ A dictionary storing the registered tools and their corresponding functions.
14
15
 
15
16
  Methods:
16
17
  _to_dict(name, function, content=None) -> dict:
@@ -25,7 +26,7 @@ class ToolManager:
25
26
  invoke(name, args) -> Any:
26
27
  Invoke a registered function with the provided arguments.
27
28
 
28
- ainvoke(name, args) -> Any:
29
+ ainvoke(func_call) -> Any:
29
30
  Asynchronously invoke a registered function with the provided arguments.
30
31
 
31
32
  _get_function_call(response) -> Tuple[str, dict]:
@@ -44,19 +45,21 @@ class ToolManager:
44
45
  self.registry = {}
45
46
 
46
47
  @staticmethod
47
- def _to_dict(name, function, content=None):
48
+ def _to_dict(name, func, content=None):
48
49
  """
49
50
  Convert tool information to a dictionary entry.
50
51
 
51
52
  Parameters:
52
53
  name (str): The name of the tool.
53
- function (callable): The function associated with the tool.
54
+
55
+ func (callable): The function associated with the tool.
56
+
54
57
  content (Optional[str]): Additional content for the tool.
55
58
 
56
59
  Returns:
57
60
  dict: A dictionary entry representing the tool.
58
61
  """
59
- return {name: {"function": function, "content": content or "none"}}
62
+ return {name: {"function": func, "content": content or "none"}}
60
63
 
61
64
  def _name_existed(self, name):
62
65
  """
@@ -71,17 +74,23 @@ class ToolManager:
71
74
  """
72
75
  return True if name in self.registry.keys() else False
73
76
 
74
- def _register_function(self, name, function, content=None, update=False, new=False, prefix=None, postfix=None):
77
+ def _register_function(self, name, func, content=None, update=False, new=False, prefix=None, postfix=None):
75
78
  """
76
79
  Register a function with a specified name in the registry.
77
80
 
78
81
  Parameters:
79
82
  name (str): The name of the function.
80
- function (callable): The function to register.
83
+
84
+ func (callable): The function to register.
85
+
81
86
  content (Optional[str]): Additional content for the function.
87
+
82
88
  update (bool): Whether to update an existing function with the same name.
89
+
83
90
  new (bool): Whether to create a new registry for an existing function.
91
+
84
92
  prefix (Optional[str]): A prefix to add to the function name.
93
+
85
94
  postfix (Optional[str]): A postfix to add to the function name.
86
95
 
87
96
  """
@@ -90,7 +99,7 @@ class ToolManager:
90
99
  raise ValueError(f"Cannot both update and create new registry for existing function {name} at the same time")
91
100
 
92
101
  name = f"{prefix or ''}{name}{postfix or '1'}" if new else name
93
- self.registry.update(self._to_dict(name, function, content))
102
+ self.registry.update(self._to_dict(name, func, content))
94
103
 
95
104
  def invoke(self, name, kwargs):
96
105
  """
@@ -98,6 +107,7 @@ class ToolManager:
98
107
 
99
108
  Parameters:
100
109
  name (str): The name of the function to invoke.
110
+
101
111
  kwargs (dict): The arguments to pass to the function.
102
112
 
103
113
  Returns:
@@ -111,25 +121,25 @@ class ToolManager:
111
121
  else:
112
122
  raise ValueError(f"Function {name} is not registered.")
113
123
 
114
- async def ainvoke(self, name, kwargs):
124
+ async def ainvoke(self, func_call):
115
125
  """
116
126
  Asynchronously invoke a registered function with the provided arguments.
117
127
 
118
128
  Parameters:
119
- name (str): The name of the function to invoke.
120
- kwargs (dict): The arguments to pass to the function.
129
+ func_call (Tuple[str, dict]): The name of the function and the arguments to pass.
121
130
 
122
131
  Returns:
123
132
  Any: The result of invoking the function asynchronously.
124
133
 
125
134
  """
135
+ name, kwargs = func_call
126
136
  if self._name_existed(name):
127
- function = self.registry[name]["function"]
137
+ func = self.registry[name]["function"]
128
138
  try:
129
- if asyncio.iscoroutinefunction(function):
130
- return await function(**kwargs)
139
+ if asyncio.iscoroutinefunction(func):
140
+ return await func(**kwargs)
131
141
  else:
132
- return function(**kwargs)
142
+ return func(**kwargs)
133
143
  except Exception as e:
134
144
  raise ValueError(f"Error when invoking function {name} with arguments {kwargs} with error message {e}")
135
145
  else:
@@ -141,22 +151,20 @@ class ToolManager:
141
151
  Extract function name and arguments from a response JSON.
142
152
 
143
153
  Parameters:
144
- response (str): The JSON response containing function information.
154
+ response (dict): The JSON response containing function information.
145
155
 
146
156
  Returns:
147
157
  Tuple[str, dict]: The function name and its arguments.
148
158
  """
149
159
  try:
150
- out = json.loads(response)
151
- func = out['function'][5:]
152
- args = json.loads(out['arguments'])
160
+ # out = json.loads(response)
161
+ func = response['function'][5:]
162
+ args = json.loads(response['arguments'])
153
163
  return (func, args)
154
164
  except:
155
165
  try:
156
- out = json.loads(response)
157
- out = out['tool_uses'][0]
158
- func = out['recipient_name'].split('.')[-1]
159
- args = out['parameters']
166
+ func = response['recipient_name'].split('.')[-1]
167
+ args = response['parameters']
160
168
  return (func, args)
161
169
  except:
162
170
  raise ValueError('response is not a valid function call')
@@ -168,6 +176,7 @@ class ToolManager:
168
176
 
169
177
  Parameters:
170
178
  tool (dict): The tool information.
179
+
171
180
  func (callable): The function associated with the tool.
172
181
 
173
182
  Returns:
@@ -183,12 +192,18 @@ class ToolManager:
183
192
 
184
193
  Parameters:
185
194
  tools (list): The list of tool information dictionaries.
195
+
186
196
  functions (list): The list of corresponding functions.
197
+
187
198
  update (bool): Whether to update existing functions.
199
+
188
200
  new (bool): Whether to create new registries for existing functions.
201
+
189
202
  prefix (Optional[str]): A prefix to add to the function names.
203
+
190
204
  postfix (Optional[str]): A postfix to add to the function names.
191
205
 
192
206
  """
193
207
  funcs = l_call(range(len(tools)), lambda i: self._from_tool(tools[i], functions[i]))
194
- l_call(range(len(tools)), lambda i: self._register_function(funcs[i][0], funcs[i][1], update=update, new=new, prefix=prefix, postfix=postfix))
208
+ l_call(range(len(tools)), lambda i: self._register_function(funcs[i][0], funcs[i][1], update=update, new=new, prefix=prefix, postfix=postfix))
209
+
lionagi/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.0.106"
1
+ __version__ = "0.0.110"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lionagi
3
- Version: 0.0.106
3
+ Version: 0.0.110
4
4
  Summary: Towards automated general intelligence.
5
5
  Author: HaiyangLi
6
6
  Author-email: Haiyang Li <ocean@lionagi.ai>
@@ -222,18 +222,13 @@ Requires-Dist: httpx ==0.25.1
222
222
 
223
223
  ![PyPI - Version](https://img.shields.io/pypi/v/lionagi?labelColor=233476aa&color=231fc935) ![PyPI - Downloads](https://img.shields.io/pypi/dm/lionagi?labelColor=233476aa&color=231fc935) ![GitHub License](https://img.shields.io/github/license/lion-agi/lionagi?labelColor=233476aa&color=231fc935)
224
224
 
225
-
226
-
227
- - PyPI: https://pypi.org/project/lionagi/
228
- - Documentation: https://lionagi.readthedocs.io/en/latest/ (still a lot TODO)
229
- - Website: TODO
230
- - Discord: [Join Our Discord](https://discord.gg/7RGWqpSxze)
225
+ [PyPI](https://pypi.org/project/lionagi/) | [Documentation](https://lionagi.readthedocs.io/en/latest/) | [Website](https://www.lionagi.ai) | [Discord](https://discord.gg/7RGWqpSxze)
231
226
 
232
227
 
233
228
  # LionAGI
234
229
  **Towards Automated General Intelligence**
235
230
 
236
- LionAGI is a Python package that combines data manipulation with AI tools, aiming to simplify the integration of advanced machine learning tools, such as Large Language Models (i.e. OpenAI's GPT), with production level data centric projects.
231
+ LionAGI is a Python intelligent agent framework that combines data manipulation with AI tools, aiming to simplify the integration of advanced machine learning tools, such as Large Language Models (i.e. OpenAI's GPT), with production-level data-centric projects.
237
232
 
238
233
  Install LionAGI with pip:
239
234
 
@@ -244,13 +239,13 @@ Download the `.env_template` file, input your OPENAI_API_KEY, save the file, ren
244
239
 
245
240
  ### Features
246
241
 
247
- - Robust performance. LionAGI is written in almost pure python. With minimum external dependency (aiohttp, httpx, python-dotenv, tiktoken)
242
+ - Robust performance. LionAGI is written in almost pure python. With minimum external dependency (`aiohttp`, `httpx`, `python-dotenv`, `tiktoken`)
248
243
  - Efficient data operations for reading, chunking, binning, writing, storing and managing data.
249
- - Fast interaction with LLM services like OpenAI with configurable rate limiting concurrent API calls for maximum throughput.
250
- - Create a production ready LLM application in hours. Intuitive workflow management to streamline and expedite the process from idea to market.
244
+ - Fast interaction with LLM services like OpenAI with **configurable rate limiting concurrent API calls** for maximum throughput.
245
+ - Create a production ready LLM application **in hours**. Intuitive workflow management to streamline and expedite the process from idea to market.
251
246
 
252
247
  ---
253
- Currently, LionAGI only natively support OpenAI API calls, support for other LLM providers as well as open source models will be integrated in future releases. LionAGI is designed to be async only, please check python documentation [here](https://docs.python.org/3/library/asyncio.html)
248
+ Currently, LionAGI only natively support OpenAI API calls, support for other LLM providers as well as open source models will be integrated in future releases. LionAGI is designed to be async only, please check python official documentation on how `async` work: [here](https://docs.python.org/3/library/asyncio.html)
254
249
 
255
250
 
256
251
  **Notice**:
@@ -0,0 +1,20 @@
1
+ lionagi/__init__.py,sha256=2Rko3tw94ZFVN_GSvcxAY1O77FxswcaMxNHKH5Bj7jc,788
2
+ lionagi/version.py,sha256=00B0bSjQW8FClEUTZrcxxlOoilJS1Cz7oACh4nBKyM4,24
3
+ lionagi/api/__init__.py,sha256=PF-fWsB0axACGDbm8FluZgDQMyQf3PUUJ1tIXW535TQ,178
4
+ lionagi/api/oai_config.py,sha256=yhyZ4aEaF6r3XBbhxI47r8CL2-amc-4IKJhbXv2W9CM,356
5
+ lionagi/api/oai_service.py,sha256=mxsMlg__Ck4kNtzoH6bTkgOBu67RTEmQAX5UTvubA6Y,11283
6
+ lionagi/session/__init__.py,sha256=qAf0IAA2D1ZhwvRopSgi8X13DH4Y0E5HaA2DVr6FxG0,152
7
+ lionagi/session/conversation.py,sha256=5EePoSVIcyaZJEtkNxv1yCFby_3_SLx5AmaSxS9pwI8,4058
8
+ lionagi/session/message.py,sha256=L4QhTvay-xqL_PWWzr_lTig70cr7zEc5YjONILmAoWU,6504
9
+ lionagi/session/session.py,sha256=Kt4Ks5CCfwdI5cobPWzgi1LiGpjKAFAt5lsFkoM1-ac,14604
10
+ lionagi/utils/__init__.py,sha256=e5aEzyHofUYZ8olcyHxq7wqTGRsRZwag3vyZ0T4_ByQ,842
11
+ lionagi/utils/api_util.py,sha256=Mnk5DdY1DlixI_365Q3xl1oDmSz0zY-F3IhXsCbW4EQ,15230
12
+ lionagi/utils/doc_util.py,sha256=ZEuLKzc3EH692FW1LXRXBHgextMfb1OaLE3z_NhBBT0,12882
13
+ lionagi/utils/log_util.py,sha256=mfLmvjv4hvTYMel46tpKJyqLbj1PZimCgKigz48osZY,3158
14
+ lionagi/utils/sys_util.py,sha256=q4I_d61Zwe-WvukNoa53Gd8ycDcTpfOhw3yER8ZoiCg,28449
15
+ lionagi/utils/tool_util.py,sha256=0mWGW_rfUPTay_L05dckGzEXdg4ZdhFyGA1lve9tnj8,7410
16
+ lionagi-0.0.110.dist-info/LICENSE,sha256=TBnSyG8fs_tMRtK805GzA1cIyExleKyzoN_kuVxT9IY,11358
17
+ lionagi-0.0.110.dist-info/METADATA,sha256=F2tKrl8Z0kjVHJ2bZ2Vu_DDqPnxfL-7wUGjQQI5h61Y,17414
18
+ lionagi-0.0.110.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
19
+ lionagi-0.0.110.dist-info/top_level.txt,sha256=szvch_d2jE1Lu9ZIKsl26Ll6BGfYfbOgt5lm-UpFSo4,8
20
+ lionagi-0.0.110.dist-info/RECORD,,
lionagi/tools/__init__.py DELETED
File without changes
@@ -1,21 +0,0 @@
1
- lionagi/__init__.py,sha256=2Rko3tw94ZFVN_GSvcxAY1O77FxswcaMxNHKH5Bj7jc,788
2
- lionagi/version.py,sha256=PNgUABlGb7ny9DJoPWFQ_4l3TkVF8MMbJNWWeHy9dGY,24
3
- lionagi/api/__init__.py,sha256=RcmOxPnbaj5R6JYqQzQZ67KyVByJfyUw6QSw22KSo8g,134
4
- lionagi/api/oai_config.py,sha256=yhyZ4aEaF6r3XBbhxI47r8CL2-amc-4IKJhbXv2W9CM,356
5
- lionagi/api/oai_service.py,sha256=ctX4k3du_sl52n2LilSxXGHdce-igHXtEfpB6RrKbwQ,11209
6
- lionagi/session/__init__.py,sha256=hbM6VwWz0Oh-Vld79JDFo5eYaCIqAn_OswmLiT0z4UA,58
7
- lionagi/session/conversation.py,sha256=SOZK8c6P48GqbXTnSiHbB9mROo6VrLwhdD_CHGagQfM,4069
8
- lionagi/session/message.py,sha256=R2J5uXuDkMYGxjUKD0fJIdummlsZccId7nw4V8li5Ro,6217
9
- lionagi/session/session.py,sha256=_1kAijUrclzKhqZfGxTAuJ55qEhGcORJe2vpRkfoU9w,12904
10
- lionagi/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- lionagi/utils/__init__.py,sha256=jTZigmOboszESjWr9dP8PKtZ8XF_RqVd4Ni8s-GkaVs,760
12
- lionagi/utils/api_util.py,sha256=WE51kMpKzmBwRqD0dkzxAMWzK04_k_5dth2kiOjVkMA,14837
13
- lionagi/utils/doc_util.py,sha256=uT2paXguEs26kkW7oe2rR3CozQmpP2P9eJJdnZ9uM_E,12338
14
- lionagi/utils/log_util.py,sha256=qbmaZxiX_bKY-LLaZcpMbTwi3aeBcK9-Lc93vkLIBuk,3103
15
- lionagi/utils/sys_util.py,sha256=K4dumJ0th082RITpoz_F_eUw-OwkaLOz-BHoezuxwlU,28045
16
- lionagi/utils/tool_util.py,sha256=HxBkHAu7Ema-HTmfRgnD4k4jyBJdsKd6ZiedosFwSDU,7479
17
- lionagi-0.0.106.dist-info/LICENSE,sha256=TBnSyG8fs_tMRtK805GzA1cIyExleKyzoN_kuVxT9IY,11358
18
- lionagi-0.0.106.dist-info/METADATA,sha256=50DYFq9K5kPlSKKmovP-a1z-12q0Lj4N9Sngcj0fFKE,17370
19
- lionagi-0.0.106.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
20
- lionagi-0.0.106.dist-info/top_level.txt,sha256=szvch_d2jE1Lu9ZIKsl26Ll6BGfYfbOgt5lm-UpFSo4,8
21
- lionagi-0.0.106.dist-info/RECORD,,