gllm-inference-binary 0.5.59__cp312-cp312-win_amd64.whl → 0.5.65__cp312-cp312-win_amd64.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.
@@ -1,4 +1,4 @@
1
- from gllm_inference.lm_invoker import AnthropicLMInvoker as AnthropicLMInvoker, AzureOpenAILMInvoker as AzureOpenAILMInvoker, BedrockLMInvoker as BedrockLMInvoker, DatasaurLMInvoker as DatasaurLMInvoker, GoogleLMInvoker as GoogleLMInvoker, LangChainLMInvoker as LangChainLMInvoker, LiteLLMLMInvoker as LiteLLMLMInvoker, OpenAIChatCompletionsLMInvoker as OpenAIChatCompletionsLMInvoker, OpenAICompatibleLMInvoker as OpenAICompatibleLMInvoker, OpenAILMInvoker as OpenAILMInvoker, PortkeyLMInvoker as PortkeyLMInvoker, XAILMInvoker as XAILMInvoker
1
+ from gllm_inference.lm_invoker import AnthropicLMInvoker as AnthropicLMInvoker, AzureOpenAILMInvoker as AzureOpenAILMInvoker, BedrockLMInvoker as BedrockLMInvoker, DatasaurLMInvoker as DatasaurLMInvoker, GoogleLMInvoker as GoogleLMInvoker, LangChainLMInvoker as LangChainLMInvoker, LiteLLMLMInvoker as LiteLLMLMInvoker, OpenAIChatCompletionsLMInvoker as OpenAIChatCompletionsLMInvoker, OpenAICompatibleLMInvoker as OpenAICompatibleLMInvoker, OpenAILMInvoker as OpenAILMInvoker, PortkeyLMInvoker as PortkeyLMInvoker, SeaLionLMInvoker as SeaLionLMInvoker, XAILMInvoker as XAILMInvoker
2
2
  from gllm_inference.lm_invoker.lm_invoker import BaseLMInvoker as BaseLMInvoker
3
3
  from gllm_inference.schema.model_id import ModelId as ModelId, ModelProvider as ModelProvider
4
4
  from typing import Any
@@ -119,6 +119,15 @@ def build_lm_invoker(model_id: str | ModelId, credentials: str | dict[str, Any]
119
119
  ```
120
120
  The credentials can also be provided through the `AZURE_OPENAI_API_KEY` environment variable.
121
121
 
122
+ # Using SEA-LION
123
+ ```python
124
+ lm_invoker = build_lm_invoker(
125
+ model_id="sea-lion/aisingapore/Qwen-SEA-LION-v4-32B-IT",
126
+ credentials="sk-..."
127
+ )
128
+ ```
129
+ The credentials can also be provided through the `SEA_LION_API_KEY` environment variable.
130
+
122
131
  # Using LangChain
123
132
  ```python
124
133
  lm_invoker = build_lm_invoker(
@@ -9,6 +9,7 @@ from gllm_inference.lm_invoker.openai_chat_completions_lm_invoker import OpenAIC
9
9
  from gllm_inference.lm_invoker.openai_compatible_lm_invoker import OpenAICompatibleLMInvoker as OpenAICompatibleLMInvoker
10
10
  from gllm_inference.lm_invoker.openai_lm_invoker import OpenAILMInvoker as OpenAILMInvoker
11
11
  from gllm_inference.lm_invoker.portkey_lm_invoker import PortkeyLMInvoker as PortkeyLMInvoker
12
+ from gllm_inference.lm_invoker.sea_lion_lm_invoker import SeaLionLMInvoker as SeaLionLMInvoker
12
13
  from gllm_inference.lm_invoker.xai_lm_invoker import XAILMInvoker as XAILMInvoker
13
14
 
14
- __all__ = ['AnthropicLMInvoker', 'AzureOpenAILMInvoker', 'BedrockLMInvoker', 'DatasaurLMInvoker', 'GoogleLMInvoker', 'LangChainLMInvoker', 'LiteLLMLMInvoker', 'OpenAIChatCompletionsLMInvoker', 'OpenAICompatibleLMInvoker', 'OpenAILMInvoker', 'PortkeyLMInvoker', 'XAILMInvoker']
15
+ __all__ = ['AnthropicLMInvoker', 'AzureOpenAILMInvoker', 'BedrockLMInvoker', 'DatasaurLMInvoker', 'GoogleLMInvoker', 'LangChainLMInvoker', 'LiteLLMLMInvoker', 'OpenAIChatCompletionsLMInvoker', 'OpenAICompatibleLMInvoker', 'OpenAILMInvoker', 'PortkeyLMInvoker', 'SeaLionLMInvoker', 'XAILMInvoker']
@@ -1,12 +1,14 @@
1
1
  from _typeshed import Incomplete
2
+ from anthropic.types import ContentBlockStopEvent as ContentBlockStopEvent, Message as Message, RawContentBlockDeltaEvent as RawContentBlockDeltaEvent, RawContentBlockStartEvent as RawContentBlockStartEvent
2
3
  from gllm_core.event import EventEmitter as EventEmitter
3
4
  from gllm_core.schema.tool import Tool as Tool
4
5
  from gllm_core.utils.retry import RetryConfig as RetryConfig
5
6
  from gllm_inference.constants import INVOKER_PROPAGATED_MAX_RETRIES as INVOKER_PROPAGATED_MAX_RETRIES
6
7
  from gllm_inference.lm_invoker.lm_invoker import BaseLMInvoker as BaseLMInvoker
7
8
  from gllm_inference.lm_invoker.schema.anthropic import InputType as InputType, Key as Key, OutputType as OutputType
8
- from gllm_inference.schema import Attachment as Attachment, AttachmentType as AttachmentType, BatchStatus as BatchStatus, LMInput as LMInput, LMOutput as LMOutput, Message as Message, ModelId as ModelId, ModelProvider as ModelProvider, Reasoning as Reasoning, ResponseSchema as ResponseSchema, ThinkingEvent as ThinkingEvent, TokenUsage as TokenUsage, ToolCall as ToolCall, ToolResult as ToolResult
9
+ from gllm_inference.schema import Attachment as Attachment, AttachmentType as AttachmentType, BatchStatus as BatchStatus, LMInput as LMInput, LMOutput as LMOutput, ModelId as ModelId, ModelProvider as ModelProvider, Reasoning as Reasoning, ResponseSchema as ResponseSchema, ThinkingEvent as ThinkingEvent, TokenUsage as TokenUsage, ToolCall as ToolCall, ToolResult as ToolResult
9
10
  from langchain_core.tools import Tool as LangChainTool
11
+ from pydantic import BaseModel as BaseModel
10
12
  from typing import Any
11
13
 
12
14
  SUPPORTED_ATTACHMENTS: Incomplete
@@ -104,11 +104,12 @@ class BatchOperations:
104
104
  Returns:
105
105
  BatchStatus: The status of the batch job.
106
106
  """
107
- async def retrieve(self, batch_id: str) -> dict[str, LMOutput]:
107
+ async def retrieve(self, batch_id: str, **kwargs: Any) -> dict[str, LMOutput]:
108
108
  """Retrieves the results of a batch job.
109
109
 
110
110
  Args:
111
111
  batch_id (str): The ID of the batch job to get the results of.
112
+ **kwargs (Any): Additional keyword arguments.
112
113
 
113
114
  Returns:
114
115
  dict[str, LMOutput]: The results of the batch job.
@@ -6,8 +6,9 @@ from gllm_inference.constants import GOOGLE_SCOPES as GOOGLE_SCOPES, SECONDS_TO_
6
6
  from gllm_inference.exceptions import BaseInvokerError as BaseInvokerError, convert_http_status_to_base_invoker_error as convert_http_status_to_base_invoker_error
7
7
  from gllm_inference.exceptions.provider_error_map import GOOGLE_ERROR_MAPPING as GOOGLE_ERROR_MAPPING
8
8
  from gllm_inference.lm_invoker.lm_invoker import BaseLMInvoker as BaseLMInvoker
9
- from gllm_inference.lm_invoker.schema.google import InputType as InputType, Key as Key
10
- from gllm_inference.schema import Attachment as Attachment, AttachmentType as AttachmentType, LMOutput as LMOutput, Message as Message, MessageRole as MessageRole, ModelId as ModelId, ModelProvider as ModelProvider, Reasoning as Reasoning, ResponseSchema as ResponseSchema, ThinkingEvent as ThinkingEvent, TokenUsage as TokenUsage, ToolCall as ToolCall, ToolResult as ToolResult
9
+ from gllm_inference.lm_invoker.schema.google import InputType as InputType, JobState as JobState, Key as Key
10
+ from gllm_inference.schema import Attachment as Attachment, AttachmentType as AttachmentType, BatchStatus as BatchStatus, LMInput as LMInput, LMOutput as LMOutput, Message as Message, MessageRole as MessageRole, ModelId as ModelId, ModelProvider as ModelProvider, Reasoning as Reasoning, ResponseSchema as ResponseSchema, ThinkingEvent as ThinkingEvent, TokenUsage as TokenUsage, ToolCall as ToolCall, ToolResult as ToolResult
11
+ from google.genai.types import GenerateContentResponse as GenerateContentResponse
11
12
  from langchain_core.tools import Tool as LangChainTool
12
13
  from typing import Any
13
14
 
@@ -15,8 +16,12 @@ SUPPORTED_ATTACHMENTS: Incomplete
15
16
  DEFAULT_THINKING_BUDGET: int
16
17
  REQUIRE_THINKING_MODEL_PREFIX: Incomplete
17
18
  IMAGE_GENERATION_MODELS: Incomplete
18
- YOUTUBE_URL_PATTERN: Incomplete
19
- GOOGLE_FILE_URL_PATTERN: Incomplete
19
+ BATCH_STATUS_MAP: Incomplete
20
+
21
+ class URLPattern:
22
+ """Defines specific Google related URL patterns."""
23
+ GOOGLE_FILE: Incomplete
24
+ YOUTUBE: Incomplete
20
25
 
21
26
  class GoogleLMInvoker(BaseLMInvoker):
22
27
  '''A language model invoker to interact with Google language models.
@@ -261,6 +266,94 @@ class GoogleLMInvoker(BaseLMInvoker):
261
266
  ```python
262
267
  lm_invoker = GoogleLMInvoker(..., retry_config=retry_config)
263
268
  ```
269
+
270
+ Batch processing:
271
+ The `GoogleLMInvoker` supports batch processing, which allows the language model to process multiple
272
+ requests in a single call. Batch processing is supported through the `batch` attribute.
273
+
274
+ Due to Google SDK limitations with batch processing:
275
+ 1. Only inline requests are currently supported (not file-based or BigQuery sources).
276
+ 2. The total size of all requests must be under 20MB.
277
+ 3. Original request indices are not preserved in the results. The results are keyed by request index in the
278
+ format \'1\', \'2\', etc, in which order are preserved based on the original request order. If you want to use
279
+ custom request IDs, you can pass them as a list of strings to the `custom_request_ids` keyword argument
280
+
281
+ Usage example:
282
+ ```python
283
+ requests = {"1": "What color is the sky?", "2": "What color is the grass?"}
284
+ results = await lm_invoker.batch.invoke(requests)
285
+ ```
286
+
287
+ Output example:
288
+ ```python
289
+ {
290
+ "1": LMOutput(outputs=[LMOutputItem(type="text", output="The sky is blue.")]),
291
+ "2": LMOutput(finish_details={"type": "error", "message": "..."}),
292
+ }
293
+ ```
294
+
295
+ The `GoogleLMInvoker` also supports the following standalone batch processing operations:
296
+
297
+ 1. Create a batch job:
298
+ ```python
299
+ requests = {"1": "What color is the sky?", "2": "What color is the grass?"}
300
+ batch_id = await lm_invoker.batch.create(requests)
301
+ ```
302
+
303
+ 2. Get the status of a batch job:
304
+ ```python
305
+ status = await lm_invoker.batch.status(batch_id)
306
+ ```
307
+
308
+ 3. Retrieve the results of a batch job:
309
+
310
+ In default, the results will be keyed by request index in the format \'1\', \'2\', etc,
311
+ in which order are preserved based on the original request order.
312
+
313
+
314
+ ```python
315
+ results = await lm_invoker.batch.retrieve(batch_id)
316
+ ```
317
+
318
+ Output example:
319
+ ```python
320
+ {
321
+ "1": LMOutput(outputs=[LMOutputItem(type="text", output="The sky is blue.")]),
322
+ "2": LMOutput(finish_details={"type": "error", "error": {"message": "...", ...}, ...}),
323
+ }
324
+ ```
325
+
326
+ If you pass custom_request_ids to the create method, the results will be keyed by the custom_request_ids.
327
+ ```python
328
+ results = await lm_invoker.batch.retrieve(batch_id, custom_request_ids=["request_1", "request_2"])
329
+ ```
330
+
331
+ Output example:
332
+ ```python
333
+ {
334
+ "request_1": LMOutput(outputs=[LMOutputItem(type="text", output="The sky is blue.")]),
335
+ "request_2": LMOutput(finish_details={"type": "error", "error": {"message": "...", ...}, ...}),
336
+ }
337
+ ```
338
+
339
+ 4. List the batch jobs:
340
+ ```python
341
+ batch_jobs = await lm_invoker.batch.list()
342
+ ```
343
+
344
+ Output example:
345
+ ```python
346
+ [
347
+ {"id": "batch_123", "status": "finished"},
348
+ {"id": "batch_456", "status": "in_progress"},
349
+ {"id": "batch_789", "status": "canceling"},
350
+ ]
351
+ ```
352
+
353
+ 5. Cancel a batch job:
354
+ ```python
355
+ await lm_invoker.batch.cancel(batch_id)
356
+ ```
264
357
  '''
265
358
  client_params: Incomplete
266
359
  image_generation: Incomplete
@@ -133,6 +133,24 @@ class BaseLMInvoker(ABC, metaclass=abc.ABCMeta):
133
133
  This method clears the response schema for the language model by calling the `set_response_schema` method with
134
134
  None.
135
135
  """
136
+ async def count_input_tokens(self, messages: LMInput) -> int:
137
+ """Counts the input tokens for an invocation request inputs.
138
+
139
+ This method counts the input tokens for an invocation request inputs. This method is useful for:
140
+ 1. Estimating the cost of an invocation request before invoking the language model.
141
+ 2. Checking if the invocation request is too large to be processed by the language model.
142
+
143
+ Args:
144
+ messages (LMInput): The input messages for the language model.
145
+ 1. If a list of Message objects is provided, it is used as is.
146
+ 2. If a list of MessageContent or a string is provided, it is converted into a user message.
147
+
148
+ Returns:
149
+ int: The number of input tokens for the invocation request.
150
+
151
+ Raises:
152
+ TimeoutError: If the invocation times out.
153
+ """
136
154
  async def invoke(self, messages: LMInput, hyperparameters: dict[str, Any] | None = None, event_emitter: EventEmitter | None = None) -> str | LMOutput:
137
155
  """Invokes the language model.
138
156
 
@@ -7,6 +7,9 @@ from gllm_inference.lm_invoker.lm_invoker import BaseLMInvoker as BaseLMInvoker
7
7
  from gllm_inference.lm_invoker.schema.openai import InputType as InputType, Key as Key, OutputType as OutputType, ReasoningEffort as ReasoningEffort, ReasoningSummary as ReasoningSummary
8
8
  from gllm_inference.schema import ActivityEvent as ActivityEvent, Attachment as Attachment, AttachmentType as AttachmentType, CodeEvent as CodeEvent, CodeExecResult as CodeExecResult, LMOutput as LMOutput, MCPCall as MCPCall, MCPCallActivity as MCPCallActivity, MCPListToolsActivity as MCPListToolsActivity, MCPServer as MCPServer, Message as Message, MessageRole as MessageRole, ModelId as ModelId, ModelProvider as ModelProvider, Reasoning as Reasoning, ResponseSchema as ResponseSchema, ThinkingEvent as ThinkingEvent, TokenUsage as TokenUsage, ToolCall as ToolCall, ToolResult as ToolResult, WebSearchActivity as WebSearchActivity
9
9
  from langchain_core.tools import Tool as LangChainTool
10
+ from openai import AsyncStream as AsyncStream
11
+ from openai.types.responses import Response as Response, ResponseFunctionWebSearch as ResponseFunctionWebSearch, ResponseOutputItem as ResponseOutputItem
12
+ from openai.types.responses.response_output_item import McpCall as McpCall, McpListTools as McpListTools
10
13
  from typing import Any
11
14
 
12
15
  SUPPORTED_ATTACHMENTS: Incomplete
@@ -7,8 +7,10 @@ class Key:
7
7
  FUNCTION: str
8
8
  FUNCTION_CALL: str
9
9
  HTTP_OPTIONS: str
10
+ ID: str
10
11
  NAME: str
11
12
  RETRY_OPTIONS: str
13
+ STATUS: str
12
14
  SYSTEM_INSTRUCTION: str
13
15
  THINKING_CONFIG: str
14
16
  TIMEOUT: str
@@ -16,9 +18,19 @@ class Key:
16
18
  RESPONSE_SCHEMA: str
17
19
  RESPONSE_MIME_TYPE: str
18
20
  VERTEXAI: str
21
+ CUSTOM_REQUEST_IDS: str
19
22
 
20
23
  class InputType:
21
24
  """Defines valid input types in Google."""
22
25
  APPLICATION_JSON: str
23
26
  MODEL: str
24
27
  USER: str
28
+
29
+ class JobState:
30
+ """Defines valid output types in Google."""
31
+ JOB_STATE_CANCELLED: str
32
+ JOB_STATE_EXPIRED: str
33
+ JOB_STATE_FAILED: str
34
+ JOB_STATE_PENDING: str
35
+ JOB_STATE_RUNNING: str
36
+ JOB_STATE_SUCCEEDED: str
@@ -80,6 +80,7 @@ class OutputType:
80
80
  FIND_IN_PAGE: str
81
81
  FUNCTION_CALL: str
82
82
  IMAGE: str
83
+ IMAGE_GENERATION_CALL: str
83
84
  INCOMPLETE: str
84
85
  ITEM_DONE: str
85
86
  MCP_CALL: str
@@ -0,0 +1,48 @@
1
+ from _typeshed import Incomplete
2
+ from gllm_core.schema.tool import Tool as Tool
3
+ from gllm_core.utils import RetryConfig as RetryConfig
4
+ from gllm_inference.constants import INVOKER_PROPAGATED_MAX_RETRIES as INVOKER_PROPAGATED_MAX_RETRIES
5
+ from gllm_inference.lm_invoker.openai_chat_completions_lm_invoker import OpenAIChatCompletionsLMInvoker as OpenAIChatCompletionsLMInvoker
6
+ from gllm_inference.lm_invoker.schema.openai_chat_completions import Key as Key
7
+ from gllm_inference.schema import ModelId as ModelId, ModelProvider as ModelProvider, ResponseSchema as ResponseSchema
8
+ from langchain_core.tools import Tool as LangChainTool
9
+ from typing import Any
10
+
11
+ SEA_LION_URL: str
12
+ SUPPORTED_ATTACHMENTS: Incomplete
13
+
14
+ class SeaLionLMInvoker(OpenAIChatCompletionsLMInvoker):
15
+ """A language model invoker to interact with SEA-LION API.
16
+
17
+ Attributes:
18
+ model_id (str): The model ID of the language model.
19
+ model_provider (str): The provider of the language model.
20
+ model_name (str): The name of the language model.
21
+ client_kwargs (dict[str, Any]): The keyword arguments for the OpenAI client.
22
+ default_hyperparameters (dict[str, Any]): Default hyperparameters for invoking the model.
23
+ tools (list[Tool]): The list of tools provided to the model to enable tool calling.
24
+ response_schema (ResponseSchema | None): The schema of the response. If provided, the model will output a
25
+ structured response as defined by the schema. Supports both Pydantic BaseModel and JSON schema dictionary.
26
+ output_analytics (bool): Whether to output the invocation analytics.
27
+ retry_config (RetryConfig | None): The retry configuration for the language model.
28
+ """
29
+ client_kwargs: Incomplete
30
+ def __init__(self, model_name: str, api_key: str | None = None, model_kwargs: dict[str, Any] | None = None, default_hyperparameters: dict[str, Any] | None = None, tools: list[Tool | LangChainTool] | None = None, response_schema: ResponseSchema | None = None, output_analytics: bool = False, retry_config: RetryConfig | None = None) -> None:
31
+ """Initializes a new instance of the SeaLionLMInvoker class.
32
+
33
+ Args:
34
+ model_name (str): The name of the SEA-LION language model.
35
+ api_key (str | None, optional): The API key for authenticating with the SEA-LION API.
36
+ Defaults to None, in which case the `SEA_LION_API_KEY` environment variable will be used.
37
+ model_kwargs (dict[str, Any] | None, optional): Additional model parameters. Defaults to None.
38
+ default_hyperparameters (dict[str, Any] | None, optional): Default hyperparameters for invoking the model.
39
+ Defaults to None.
40
+ tools (list[Tool | LangChainTool] | None, optional): Tools provided to the model to enable tool calling.
41
+ Defaults to None.
42
+ response_schema (ResponseSchema | None, optional): The schema of the response. If provided, the model will
43
+ output a structured response as defined by the schema. Supports both Pydantic BaseModel and JSON schema
44
+ dictionary. Defaults to None.
45
+ output_analytics (bool, optional): Whether to output the invocation analytics. Defaults to False.
46
+ retry_config (RetryConfig | None, optional): The retry configuration for the language model.
47
+ Defaults to None, in which case a default config with no retry and 30.0 seconds timeout will be used.
48
+ """
@@ -7,6 +7,7 @@ from gllm_inference.model.em.voyage_em import VoyageEM as VoyageEM
7
7
  from gllm_inference.model.lm.anthropic_lm import AnthropicLM as AnthropicLM
8
8
  from gllm_inference.model.lm.google_lm import GoogleLM as GoogleLM
9
9
  from gllm_inference.model.lm.openai_lm import OpenAILM as OpenAILM
10
+ from gllm_inference.model.lm.sea_lion_lm import SeaLionLM as SeaLionLM
10
11
  from gllm_inference.model.lm.xai_lm import XAILM as XAILM
11
12
 
12
- __all__ = ['AnthropicLM', 'CohereEM', 'GoogleEM', 'GoogleLM', 'JinaEM', 'OpenAIEM', 'OpenAILM', 'TwelveLabsEM', 'VoyageEM', 'XAILM']
13
+ __all__ = ['AnthropicLM', 'CohereEM', 'GoogleEM', 'GoogleLM', 'JinaEM', 'OpenAIEM', 'OpenAILM', 'SeaLionLM', 'TwelveLabsEM', 'VoyageEM', 'XAILM']
@@ -0,0 +1,16 @@
1
+ class SeaLionLM:
2
+ '''Defines SEA-LION language model names constants.
3
+
4
+ Usage example:
5
+ ```python
6
+ from gllm_inference.model import SeaLionLM
7
+ from gllm_inference.lm_invoker import SeaLionLMInvoker
8
+
9
+ lm_invoker = SeaLionLMInvoker(SeaLionLM.GEMMA_SEA_LION_V4_27B_IT)
10
+ response = await lm_invoker.invoke("Hello, world!")
11
+ ```
12
+ '''
13
+ GEMMA_SEA_LION_V4_27B_IT: str
14
+ LLAMA_SEA_LION_V3_5_70B_R: str
15
+ LLAMA_SEA_LION_V3_70B_IT: str
16
+ QWEN_SEA_LION_V4_32B_IT: str
@@ -1,6 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
  from gllm_inference.prompt_builder.format_strategy import JinjaFormatStrategy as JinjaFormatStrategy, StringFormatStrategy as StringFormatStrategy
3
- from gllm_inference.schema import JinjaEnvType as JinjaEnvType, Message as Message, MessageContent as MessageContent, MessageRole as MessageRole
3
+ from gllm_inference.schema import HistoryFormatter as HistoryFormatter, JinjaEnvType as JinjaEnvType, Message as Message, MessageContent as MessageContent, MessageRole as MessageRole
4
4
  from jinja2.sandbox import SandboxedEnvironment as SandboxedEnvironment
5
5
  from typing import Any
6
6
 
@@ -13,13 +13,15 @@ class PromptBuilder:
13
13
  prompt_key_set (set[str]): A set of expected keys that must be present in the prompt templates.
14
14
  key_defaults (dict[str, str]): Default values for the keys in the prompt templates.
15
15
  strategy (BasePromptFormattingStrategy): The format strategy to be used for formatting the prompt.
16
+ history_formatter (HistoryFormatter): The history formatter to be used for formatting the history.
16
17
  """
17
18
  key_defaults: Incomplete
18
19
  system_template: Incomplete
19
20
  user_template: Incomplete
21
+ history_formatter: Incomplete
20
22
  strategy: Incomplete
21
23
  prompt_key_set: Incomplete
22
- def __init__(self, system_template: str = '', user_template: str = '', key_defaults: dict[str, str] | None = None, ignore_extra_keys: bool | None = None, use_jinja: bool = False, jinja_env: JinjaEnvType | SandboxedEnvironment = ...) -> None:
24
+ def __init__(self, system_template: str = '', user_template: str = '', key_defaults: dict[str, str] | None = None, ignore_extra_keys: bool | None = None, history_formatter: HistoryFormatter | None = None, use_jinja: bool | None = False, jinja_env: JinjaEnvType | SandboxedEnvironment | None = None) -> None:
23
25
  """Initializes a new instance of the PromptBuilder class.
24
26
 
25
27
  Args:
@@ -32,6 +34,8 @@ class PromptBuilder:
32
34
  Defaults to None, in which case no default values will be assigned to the keys.
33
35
  ignore_extra_keys (bool | None, optional): Deprecated parameter. Will be removed in v0.6. Extra keys
34
36
  will always raise a warning only instead of raising an error.
37
+ history_formatter (HistoryFormatter | None, optional): The history formatter to be used for formatting
38
+ the history. Defaults to None, in which case the history will be used as is.
35
39
  use_jinja (bool, optional): Whether to use Jinja for rendering the prompt templates.
36
40
  Defaults to False.
37
41
  jinja_env (JinjaEnvType | SandboxedEnvironment, optional): The environment for Jinja rendering.
@@ -4,6 +4,7 @@ from gllm_inference.schema.code_exec_result import CodeExecResult as CodeExecRes
4
4
  from gllm_inference.schema.config import TruncationConfig as TruncationConfig
5
5
  from gllm_inference.schema.enums import AttachmentType as AttachmentType, BatchStatus as BatchStatus, EmitDataType as EmitDataType, JinjaEnvType as JinjaEnvType, LMEventType as LMEventType, LMEventTypeSuffix as LMEventTypeSuffix, LMOutputType as LMOutputType, MessageRole as MessageRole, TruncateSide as TruncateSide
6
6
  from gllm_inference.schema.events import ActivityEvent as ActivityEvent, CodeEvent as CodeEvent, ThinkingEvent as ThinkingEvent
7
+ from gllm_inference.schema.formatter import HistoryFormatter as HistoryFormatter
7
8
  from gllm_inference.schema.lm_input import LMInput as LMInput
8
9
  from gllm_inference.schema.lm_output import LMOutput as LMOutput, LMOutputData as LMOutputData, LMOutputItem as LMOutputItem
9
10
  from gllm_inference.schema.mcp import MCPCall as MCPCall, MCPServer as MCPServer
@@ -15,4 +16,4 @@ from gllm_inference.schema.tool_call import ToolCall as ToolCall
15
16
  from gllm_inference.schema.tool_result import ToolResult as ToolResult
16
17
  from gllm_inference.schema.type_alias import EMContent as EMContent, MessageContent as MessageContent, ResponseSchema as ResponseSchema, Vector as Vector
17
18
 
18
- __all__ = ['Activity', 'ActivityEvent', 'Attachment', 'AttachmentType', 'BatchStatus', 'CodeEvent', 'CodeExecResult', 'EMContent', 'EmitDataType', 'InputTokenDetails', 'JinjaEnvType', 'LMEventType', 'LMEventTypeSuffix', 'LMInput', 'LMOutput', 'LMOutputItem', 'LMOutputData', 'LMOutputType', 'MCPCall', 'MCPCallActivity', 'MCPListToolsActivity', 'MCPServer', 'Message', 'MessageContent', 'MessageRole', 'ModelId', 'ModelProvider', 'OutputTokenDetails', 'Reasoning', 'ResponseSchema', 'ThinkingEvent', 'TokenUsage', 'ToolCall', 'ToolResult', 'TruncateSide', 'TruncationConfig', 'Vector', 'WebSearchActivity']
19
+ __all__ = ['Activity', 'ActivityEvent', 'Attachment', 'AttachmentType', 'BatchStatus', 'CodeEvent', 'CodeExecResult', 'EMContent', 'EmitDataType', 'HistoryFormatter', 'InputTokenDetails', 'JinjaEnvType', 'LMEventType', 'LMEventTypeSuffix', 'LMInput', 'LMOutput', 'LMOutputItem', 'LMOutputData', 'LMOutputType', 'MCPCall', 'MCPCallActivity', 'MCPListToolsActivity', 'MCPServer', 'Message', 'MessageContent', 'MessageRole', 'ModelId', 'ModelProvider', 'OutputTokenDetails', 'Reasoning', 'ResponseSchema', 'ThinkingEvent', 'TokenUsage', 'ToolCall', 'ToolResult', 'TruncateSide', 'TruncationConfig', 'Vector', 'WebSearchActivity']
@@ -9,9 +9,11 @@ class AttachmentType(StrEnum):
9
9
 
10
10
  class BatchStatus(StrEnum):
11
11
  """Defines the status of a batch job."""
12
- CANCELING = 'canceling'
13
12
  IN_PROGRESS = 'in_progress'
14
13
  FINISHED = 'finished'
14
+ FAILED = 'failed'
15
+ CANCELING = 'canceling'
16
+ EXPIRED = 'expired'
15
17
  UNKNOWN = 'unknown'
16
18
 
17
19
  class LMEventType(StrEnum):
@@ -0,0 +1,31 @@
1
+ from gllm_inference.schema.enums import MessageRole as MessageRole
2
+ from gllm_inference.schema.message import Message as Message
3
+ from gllm_inference.schema.type_alias import MessageContent as MessageContent
4
+ from pydantic import BaseModel
5
+
6
+ class HistoryFormatter(BaseModel):
7
+ """Configuration for history formatting.
8
+
9
+ Attributes:
10
+ prefix_user_message (str): Prefix for user messages.
11
+ suffix_user_message (str): Suffix for user messages.
12
+ prefix_assistant_message (str): Prefix for assistant messages.
13
+ suffix_assistant_message (str): Suffix for assistant messages.
14
+ """
15
+ prefix_user_message: str
16
+ suffix_user_message: str
17
+ prefix_assistant_message: str
18
+ suffix_assistant_message: str
19
+ def format_history(self, history: list[Message]) -> list[Message]:
20
+ """Formats a list of messages based on their roles.
21
+
22
+ This method formats each message in the history list by applying the appropriate
23
+ formatting based on the message role (user or assistant). Other message types
24
+ are added to the result without modification.
25
+
26
+ Args:
27
+ history (list[Message]): The list of messages to format.
28
+
29
+ Returns:
30
+ list[Message]: A new list containing the formatted messages.
31
+ """
@@ -21,6 +21,7 @@ class ModelProvider(StrEnum):
21
21
  PORTKEY = 'portkey'
22
22
  OPENAI_CHAT_COMPLETIONS = 'openai-chat-completions'
23
23
  OPENAI_COMPATIBLE = 'openai-compatible'
24
+ SEA_LION = 'sea-lion'
24
25
  TWELVELABS = 'twelvelabs'
25
26
  VOYAGE = 'voyage'
26
27
  XAI = 'xai'
Binary file
gllm_inference.pyi CHANGED
@@ -33,6 +33,7 @@ import gllm_inference.lm_invoker.OpenAIChatCompletionsLMInvoker
33
33
  import gllm_inference.lm_invoker.OpenAICompatibleLMInvoker
34
34
  import gllm_inference.lm_invoker.OpenAILMInvoker
35
35
  import gllm_inference.lm_invoker.PortkeyLMInvoker
36
+ import gllm_inference.lm_invoker.SeaLionLMInvoker
36
37
  import gllm_inference.lm_invoker.XAILMInvoker
37
38
  import gllm_inference.prompt_builder.PromptBuilder
38
39
  import gllm_inference.output_parser.JSONOutputParser
@@ -82,6 +83,7 @@ import voyageai
82
83
  import voyageai.client_async
83
84
  import http
84
85
  import http.HTTPStatus
86
+ import __future__
85
87
  import uuid
86
88
  import gllm_core.constants
87
89
  import gllm_core.event
@@ -113,7 +115,6 @@ import time
113
115
  import jsonschema
114
116
  import gllm_inference.lm_invoker.batch.BatchOperations
115
117
  import gllm_inference.schema.MessageContent
116
- import __future__
117
118
  import gllm_inference.schema.ActivityEvent
118
119
  import gllm_inference.schema.CodeEvent
119
120
  import gllm_inference.schema.CodeExecResult
@@ -135,6 +136,7 @@ import jinja2.sandbox
135
136
  import gllm_inference.schema.JinjaEnvType
136
137
  import gllm_inference.prompt_builder.format_strategy.JinjaFormatStrategy
137
138
  import gllm_inference.prompt_builder.format_strategy.StringFormatStrategy
139
+ import gllm_inference.schema.HistoryFormatter
138
140
  import transformers
139
141
  import gllm_inference.prompt_formatter.HuggingFacePromptFormatter
140
142
  import traceback
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: gllm-inference-binary
3
- Version: 0.5.59
3
+ Version: 0.5.65
4
4
  Summary: A library containing components related to model inferences in Gen AI applications.
5
- Author-email: Henry Wicaksono <henry.wicaksono@gdplabs.id>, Resti Febrina <resti.febrina@gdplabs.id>
5
+ Author-email: Henry Wicaksono <henry.wicaksono@gdplabs.id>, "Delfia N. A. Putri" <delfia.n.a.putri@gdplabs.id>
6
6
  Requires-Python: <3.14,>=3.11
7
7
  Description-Content-Type: text/markdown
8
8
  Requires-Dist: poetry<3.0.0,>=2.1.3
@@ -33,7 +33,7 @@ Requires-Dist: aioboto3<16.0.0,>=15.0.0; extra == "bedrock"
33
33
  Provides-Extra: cohere
34
34
  Requires-Dist: cohere<6.0.0,>=5.18.0; extra == "cohere"
35
35
  Provides-Extra: datasaur
36
- Requires-Dist: openai<2.0.0,>=1.98.0; extra == "datasaur"
36
+ Requires-Dist: openai<3.0.0,>=2.7.0; extra == "datasaur"
37
37
  Provides-Extra: google
38
38
  Requires-Dist: google-genai<=1.36,>=1.23; extra == "google"
39
39
  Provides-Extra: huggingface
@@ -42,7 +42,7 @@ Requires-Dist: transformers<5.0.0,>=4.52.0; extra == "huggingface"
42
42
  Provides-Extra: litellm
43
43
  Requires-Dist: litellm<2.0.0,>=1.69.2; extra == "litellm"
44
44
  Provides-Extra: openai
45
- Requires-Dist: openai<2.0.0,>=1.98.0; extra == "openai"
45
+ Requires-Dist: openai<3.0.0,>=2.7.0; extra == "openai"
46
46
  Provides-Extra: portkey-ai
47
47
  Requires-Dist: portkey-ai<2.0.0,>=1.14.4; extra == "portkey-ai"
48
48
  Provides-Extra: twelvelabs
@@ -1,11 +1,11 @@
1
- gllm_inference.cp312-win_amd64.pyd,sha256=N0oHEnIhVKT1VotWdJthKu7g6O5hPcCoH4ChSlSPz9Q,3976192
2
- gllm_inference.pyi,sha256=t6lCcDjutByvoSK439LdRhQ9i7dq9tmp0Vwr5aAuv4Y,5077
1
+ gllm_inference.cp312-win_amd64.pyd,sha256=6TAfpKZDP63k7V6o_LOTnFIB5il-rupgPCNawwgySEE,4046848
2
+ gllm_inference.pyi,sha256=jCxjKwYXb3t6yZrf6m7uD29V9KPXyWb8U04-lru4-JA,5173
3
3
  gllm_inference/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  gllm_inference/constants.pyi,sha256=8jIYOyxJYVWUYXSXF3vag9HhHwjq1iU9tzPiosRHkWk,328
5
5
  gllm_inference/builder/__init__.pyi,sha256=-bw1uDx7CAM7pkvjvb1ZXku9zXlQ7aEAyC83KIn3bz8,506
6
6
  gllm_inference/builder/_build_invoker.pyi,sha256=SZst1ocnRntcA7lWKp44lMJ3yRA5GP_jsUZkcsxwTjw,876
7
7
  gllm_inference/builder/build_em_invoker.pyi,sha256=Z09hP6_ziumI2XB-7HCdyIE4AyoV1oL9DBdoU2G8izo,5879
8
- gllm_inference/builder/build_lm_invoker.pyi,sha256=1Qgb0bD8tqobDh9kR_Kce7Vwu_Oljc2xv-HBIrC3HUY,9065
8
+ gllm_inference/builder/build_lm_invoker.pyi,sha256=ZKNVOOQAi1DaChrPBdWGUuzPShhmkGx89oZnALhR9w0,9417
9
9
  gllm_inference/builder/build_lm_request_processor.pyi,sha256=H7Rg88e7PTTCtuyY64r333moTmh4-ypOwgnG10gkEdY,4232
10
10
  gllm_inference/builder/build_output_parser.pyi,sha256=sgSTrzUmSRxPzUUum0fDU7A3NXYoYhpi6bEx4Q2XMnA,965
11
11
  gllm_inference/catalog/__init__.pyi,sha256=HWgPKWIzprpMHRKe_qN9BZSIQhVhrqiyjLjIXwvj1ho,291
@@ -40,33 +40,34 @@ gllm_inference/exceptions/__init__.pyi,sha256=nXOqwsuwUgsnBcJEANVuxbZ1nDfcJ6-pKU
40
40
  gllm_inference/exceptions/error_parser.pyi,sha256=4aiJZhBzBOqlhdmpvaCvildGy7_XxlJzQpe3PzGt8eE,2040
41
41
  gllm_inference/exceptions/exceptions.pyi,sha256=6y3ECgHAStqMGgQv8Dv-Ui-5PDD07mSj6qaRZeSWea4,5857
42
42
  gllm_inference/exceptions/provider_error_map.pyi,sha256=vWa4ZIHn7qIghECGvO-dS2KzOmf3c10GRWKZ4YDPnSQ,1267
43
- gllm_inference/lm_invoker/__init__.pyi,sha256=L2nlkj13WwWbDYEBtM0mlAj0-UbSilMjVLpCJ_0Eock,1502
44
- gllm_inference/lm_invoker/anthropic_lm_invoker.pyi,sha256=_Dst_88LOpC-FN01hApihxUxuripiCGSOax5R_-bQEE,15496
43
+ gllm_inference/lm_invoker/__init__.pyi,sha256=Y0laMHRdUwGgfIXo278qe1dwj7ZMSCeO-wMToYim47c,1618
44
+ gllm_inference/lm_invoker/anthropic_lm_invoker.pyi,sha256=b3VM_mcK20y4Fyo_vWDx95HA001l9h53ACo0caP1sTY,15729
45
45
  gllm_inference/lm_invoker/azure_openai_lm_invoker.pyi,sha256=uV98H2nJsElCTsxAuInZ9KSk1jOTq6SROAGQRPR-_r0,13173
46
46
  gllm_inference/lm_invoker/bedrock_lm_invoker.pyi,sha256=qXmFK6zsOM3nPfueEhY5pAfG24bZytA1jqemPa63vLY,10951
47
47
  gllm_inference/lm_invoker/datasaur_lm_invoker.pyi,sha256=FnpayOW_Zi0pWFSawLX8XahEnknbnpsRWrkhKZe8Y3U,8035
48
- gllm_inference/lm_invoker/google_lm_invoker.pyi,sha256=LFX9c7dQviIP3lRUmAlJPU50utTW3kF5rQRMLE7iFdU,16727
48
+ gllm_inference/lm_invoker/google_lm_invoker.pyi,sha256=2ZqQl9WhehtxcnAXzUi7vFDaHV0lO-0SwHoAT7m8Lf0,20484
49
49
  gllm_inference/lm_invoker/langchain_lm_invoker.pyi,sha256=ull3cX-iUT4hYMbixcxqfrNUxR8ZoR4Vt9ACVILQWSM,12126
50
50
  gllm_inference/lm_invoker/litellm_lm_invoker.pyi,sha256=qG8pPTiDJZR2e7wr5Q2VyceC227tz3QybX3UPihT5ng,11400
51
- gllm_inference/lm_invoker/lm_invoker.pyi,sha256=L_PHRCeHo0dNs6BjnB8H29irGib-qhxKYf7F7pZlU0E,8652
51
+ gllm_inference/lm_invoker/lm_invoker.pyi,sha256=TqlnNhWnFeteC_JjnnQ1pPW66qHPePC0iA738I1LdXo,9553
52
52
  gllm_inference/lm_invoker/openai_chat_completions_lm_invoker.pyi,sha256=qt9DAdJM7YBB4op-6SOJB0kCouPYVxtIamGUXLGLUeA,13888
53
53
  gllm_inference/lm_invoker/openai_compatible_lm_invoker.pyi,sha256=T9sShA_9fgEuaaAuT2gJZq_EYNbEhf3IkWwMCwfszY8,4244
54
- gllm_inference/lm_invoker/openai_lm_invoker.pyi,sha256=ReU37hrmYZFbLfCD_c14ryRgnfpPC2YyDx2S5Ft_tXQ,22747
54
+ gllm_inference/lm_invoker/openai_lm_invoker.pyi,sha256=GH-veLKBOnaumflfGj-128VXtQXkXVxYFSfFpliaZPI,23055
55
55
  gllm_inference/lm_invoker/portkey_lm_invoker.pyi,sha256=FYOp4BaDfOtompWIRhDqzMVVSK-TiFyw7JA4TznANQE,15236
56
+ gllm_inference/lm_invoker/sea_lion_lm_invoker.pyi,sha256=Qqplj79JsnLGY6xjhbXYbz6Ramxur4sXfvv4svk19os,3533
56
57
  gllm_inference/lm_invoker/xai_lm_invoker.pyi,sha256=6beZsQjGUTo7TdzWBWksRzVGT58XyipErpGfiRq6NH0,13017
57
58
  gllm_inference/lm_invoker/batch/__init__.pyi,sha256=vJOTHRJ83oq8Bq0UsMdID9_HW5JAxr06gUs4aPRZfEE,130
58
- gllm_inference/lm_invoker/batch/batch_operations.pyi,sha256=o2U17M41RKVFW6j_oxy-SxU1JqUtVt75pKRxrqXzorE,5499
59
+ gllm_inference/lm_invoker/batch/batch_operations.pyi,sha256=EKwINY8DQFOXquGGrUTr_Yg24ZrSyiiAo2hX8If9vyQ,5573
59
60
  gllm_inference/lm_invoker/schema/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
61
  gllm_inference/lm_invoker/schema/anthropic.pyi,sha256=Ol_IqeBPgrmG5iaY3NV6AD-alC2HmUvljp0vI8GApWo,1154
61
62
  gllm_inference/lm_invoker/schema/bedrock.pyi,sha256=rB1AWfER2BBKZ5I219211YE2EUFPF25bhzysqjdPgiY,1080
62
63
  gllm_inference/lm_invoker/schema/datasaur.pyi,sha256=8lmb1PRbkqBsF_l7iOffxW0K5Xxpi69GW9Z7KxyxHTE,279
63
- gllm_inference/lm_invoker/schema/google.pyi,sha256=elXHrUMS46pbTsulk7hBXVVFcT022iD-_U_I590xeV8,529
64
+ gllm_inference/lm_invoker/schema/google.pyi,sha256=LQ14PJyDOe3K5TYvE-gzE1fjpZCSAy-0Sy9Lmw6fICY,827
64
65
  gllm_inference/lm_invoker/schema/langchain.pyi,sha256=2OJOUQPlGdlUbIOTDOyiWDBOMm3MoVX-kU2nK0zQsF0,452
65
- gllm_inference/lm_invoker/schema/openai.pyi,sha256=GIrqEtUPinn8VD-w-38gOw0qiIYuVzM9cj5dRYuGIoQ,2387
66
+ gllm_inference/lm_invoker/schema/openai.pyi,sha256=nR4re7BWfYFePvfCM-iCzP6jcPp5C0f1PLvpFmq4gcs,2419
66
67
  gllm_inference/lm_invoker/schema/openai_chat_completions.pyi,sha256=nNPb7ETC9IrJwkV5wfbGf6Co3-qdq4lhcXz0l_qYCE4,1261
67
68
  gllm_inference/lm_invoker/schema/portkey.pyi,sha256=V2q4JIwDAR7BidqfmO01u1_1mLOMtm5OCon6sN2zNt0,662
68
69
  gllm_inference/lm_invoker/schema/xai.pyi,sha256=jpC6ZSBDUltzm9GjD6zvSFIPwqizn_ywLnjvwSa7KuU,663
69
- gllm_inference/model/__init__.pyi,sha256=e9Jq5V2iVPpjBh_bOEBoXdsU2LleAxKfJ0r-1rZJ5R0,822
70
+ gllm_inference/model/__init__.pyi,sha256=J3z0Rc6PI_aC0XuA_dWB2tCBQ4pSZdS5NzQ8vPhs5c4,907
70
71
  gllm_inference/model/em/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
72
  gllm_inference/model/em/cohere_em.pyi,sha256=uF1AmDO-skQteYqzxJ3DK10SqgfdW0oW9L8Ym34eU04,505
72
73
  gllm_inference/model/em/google_em.pyi,sha256=c53H-KNdNOK9ppPLyOSkmCA890eF5FsMd05upkPIzF0,487
@@ -78,12 +79,13 @@ gllm_inference/model/lm/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
78
79
  gllm_inference/model/lm/anthropic_lm.pyi,sha256=ccUpxddakurLFHivl5UzJxgODLhcFgx8XC7CKa-99NE,633
79
80
  gllm_inference/model/lm/google_lm.pyi,sha256=OLuoqT0FnJOLsNalulBMEXuCYAXoF8Y7vjfSBgjaJxA,529
80
81
  gllm_inference/model/lm/openai_lm.pyi,sha256=yj3AJj1xDYRkNIPHX2enw46AJ9wArPZruKsxg1ME9Rg,645
82
+ gllm_inference/model/lm/sea_lion_lm.pyi,sha256=Gz42ym_KJA7if3sDCFmdrb1uv9b9__n2RWOfPvOxm0Y,508
81
83
  gllm_inference/model/lm/xai_lm.pyi,sha256=O3G9Lj1Ii31CyCDrwYVkPPJN6X8V-WBF9xILUPUE-qY,525
82
84
  gllm_inference/output_parser/__init__.pyi,sha256=dhAeRTBxc6CfS8bhnHjbtrnyqJ1iyffvUZkGp4UrJNM,132
83
85
  gllm_inference/output_parser/json_output_parser.pyi,sha256=YtgQh8Uzy8W_Tgh8DfuR7VFFS7qvLEasiTwRfaGZZEU,2993
84
86
  gllm_inference/output_parser/output_parser.pyi,sha256=-Xu5onKCBDqShcO-VrQh5icqAmXdihGc3rkZxL93swg,975
85
87
  gllm_inference/prompt_builder/__init__.pyi,sha256=mPsbiafzSNHsgN-CuzjhgZpfXfi1pPC3_gdsq2p0EM4,120
86
- gllm_inference/prompt_builder/prompt_builder.pyi,sha256=67X0MXPRGb_Azifk5fM9lAsQX48rASsQk2gCPikqU5k,4626
88
+ gllm_inference/prompt_builder/prompt_builder.pyi,sha256=w99E5dsQxpJ-1FNEF_WBOt7xovmhp5WzrbTfRQ76K60,5083
87
89
  gllm_inference/prompt_builder/format_strategy/__init__.pyi,sha256=BliNAdrN2yNoQt8muLe1IknuE78UDQys_3L_8_2Tn9E,312
88
90
  gllm_inference/prompt_builder/format_strategy/format_strategy.pyi,sha256=Uay07qR0nMGbrOZ2twEyrIWYRKevBQL9ju_4fVfByyQ,2328
89
91
  gllm_inference/prompt_builder/format_strategy/jinja_format_strategy.pyi,sha256=W8SdOPWPz_U355G8rQwiIQ0Ys78vomUBFEEZiz3AS5k,2270
@@ -109,18 +111,19 @@ gllm_inference/realtime_chat/output_streamer/output_streamer.pyi,sha256=5P9NQ0aJ
109
111
  gllm_inference/request_processor/__init__.pyi,sha256=giEme2WFQhgyKiBZHhSet0_nKSCHwGy-_2p6NRzg0Zc,231
110
112
  gllm_inference/request_processor/lm_request_processor.pyi,sha256=0fy1HyILCVDw6y46E-7tLnQTRYx4ppeRMe0QP6t9Jyw,5990
111
113
  gllm_inference/request_processor/uses_lm_mixin.pyi,sha256=LYHq-zLoXEMel1LfVdYv7W3BZ8WtBLo_WWFjRf10Yto,6512
112
- gllm_inference/schema/__init__.pyi,sha256=4qSVD761xZz1r_GML6g7DDAJhg4nrmG17eYdfocRk-I,2422
114
+ gllm_inference/schema/__init__.pyi,sha256=89GWKdJ6DdPUTem42_Uc-5EsyNcfUJ-WnMVEkagpEwI,2524
113
115
  gllm_inference/schema/activity.pyi,sha256=atrU4OwLesA9FEt1H7K3gsUWYNdOqpI5i2VdWkmo6cs,2367
114
116
  gllm_inference/schema/attachment.pyi,sha256=myJ_cI_h5mwUdvmMrWpSQIwj3nIxe8SD7HxO37o_3D4,4611
115
117
  gllm_inference/schema/code_exec_result.pyi,sha256=WQ-ARoGM9r6nyRX-A0Ro1XKiqrc9R3jRYXZpu_xo5S4,573
116
118
  gllm_inference/schema/config.pyi,sha256=NVmjQK6HipIE0dKSfx12hgIC0O-S1HEcAc-TWlXAF5A,689
117
- gllm_inference/schema/enums.pyi,sha256=aJjmCCUV4ASDM8VTiSJlxPxdapKkxXjS4_NqRplyUnE,2145
119
+ gllm_inference/schema/enums.pyi,sha256=U-lADk7xNjA5rByem0fo0xDAy9T3GsekY8B5szTlWPQ,2193
118
120
  gllm_inference/schema/events.pyi,sha256=_CKuGNzb3j2Y1dOB2yssFkT_9FQz1AY4J_ApCwKNizU,4743
121
+ gllm_inference/schema/formatter.pyi,sha256=uJ1CZt_DmizfCPHD5deQwm2ftU-zcl2aj5rwJGTPe9c,1312
119
122
  gllm_inference/schema/lm_input.pyi,sha256=HxQiZgY7zcXh_Dw8nK8LSeBTZEHMPZVwmPmnfgSsAbs,197
120
123
  gllm_inference/schema/lm_output.pyi,sha256=N75CIF_2kZRdXKy2jvu9hhqzk5DrCbsHXTrhKqQ-7vo,11667
121
124
  gllm_inference/schema/mcp.pyi,sha256=4SgQ83pEowfWm2p-w9lupV4NayqqVBOy7SuYxIFeWRs,1045
122
125
  gllm_inference/schema/message.pyi,sha256=jJV6A0ihEcun2OhzyMtNkiHnf7d6v5R-GdpTBGfJ0AQ,2272
123
- gllm_inference/schema/model_id.pyi,sha256=VQfwxkXjprsHG9FwS6XPQKZxy6eKAT1ygRqcK6gapNM,5991
126
+ gllm_inference/schema/model_id.pyi,sha256=JhTzjCsOzHGds_UF8PlPON3xtqmSjUEfvjpmYyf3CJ0,6018
124
127
  gllm_inference/schema/reasoning.pyi,sha256=jbPxkDRHt0Vt-zdcc8lTT1l2hIE1Jm3HIHeNd0hfXGo,577
125
128
  gllm_inference/schema/token_usage.pyi,sha256=WJiGQyz5qatzBK2b-sABLCyTRLCBbAvxCRcqSJOzu-8,3025
126
129
  gllm_inference/schema/tool_call.pyi,sha256=OWT9LUqs_xfUcOkPG0aokAAqzLYYDkfnjTa0zOWvugk,403
@@ -131,7 +134,7 @@ gllm_inference/utils/io_utils.pyi,sha256=Eg7dvHWdXslTKdjh1j3dG50i7r35XG2zTmJ9XXv
131
134
  gllm_inference/utils/langchain.pyi,sha256=4AwFiVAO0ZpdgmqeC4Pb5NJwBt8vVr0MSUqLeCdTscc,1194
132
135
  gllm_inference/utils/validation.pyi,sha256=OWRZxeVGIuuvNU0LqLGB-9gNmypvbH-LcSJx91rnH1k,453
133
136
  gllm_inference.build/.gitignore,sha256=aEiIwOuxfzdCmLZe4oB1JsBmCUxwG8x-u-HBCV9JT8E,1
134
- gllm_inference_binary-0.5.59.dist-info/METADATA,sha256=zgTWioKaUScz7TQm2RllQ_jv1d1l8CApNKZ1Bjo_kQ4,5945
135
- gllm_inference_binary-0.5.59.dist-info/WHEEL,sha256=x5rgv--I0NI0IT1Lh9tN1VG2cI637p3deednwYLKnxc,96
136
- gllm_inference_binary-0.5.59.dist-info/top_level.txt,sha256=FpOjtN80F-qVNgbScXSEyqa0w09FYn6301iq6qt69IQ,15
137
- gllm_inference_binary-0.5.59.dist-info/RECORD,,
137
+ gllm_inference_binary-0.5.65.dist-info/METADATA,sha256=KWa5fRL8Qz9sDJD__PH3wzYlXD0qAjkNVzgROdS40a8,5953
138
+ gllm_inference_binary-0.5.65.dist-info/WHEEL,sha256=x5rgv--I0NI0IT1Lh9tN1VG2cI637p3deednwYLKnxc,96
139
+ gllm_inference_binary-0.5.65.dist-info/top_level.txt,sha256=FpOjtN80F-qVNgbScXSEyqa0w09FYn6301iq6qt69IQ,15
140
+ gllm_inference_binary-0.5.65.dist-info/RECORD,,