LangChain
Bases: PydanticEngine[PromptSignature, Result, Model, InferenceMode]
Engine for LangChain.
Source code in sieves/engines/langchain_.py
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
|
_attributes
property
Returns attributes to serialize.
Returns:
Type | Description |
---|---|
dict[str, Attribute]
|
Dict of attributes to serialize. |
model
property
Return model instance.
Returns:
Type | Description |
---|---|
EngineModel
|
Model instance. |
__init__(model, init_kwargs=None, inference_kwargs=None, strict_mode=False, batch_size=-1)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
model
|
EngineModel
|
Instantiated model instance. |
required |
init_kwargs
|
dict[str, Any] | None
|
Optional kwargs to supply to engine executable at init time. |
None
|
inference_kwargs
|
dict[str, Any] | None
|
Optional kwargs to supply to engine executable at inference time. |
None
|
strict_mode
|
bool
|
If True, exception is raised if prompt response can't be parsed correctly. |
False
|
batch_size
|
int
|
Batch size in processing prompts. -1 will batch all documents in one go. Not all engines support batching. |
-1
|
Source code in sieves/engines/core.py
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
|
_convert_fewshot_examples(fewshot_examples)
staticmethod
Convert fewshot examples from pydantic.BaseModel instance to dicts.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
fewshot_examples
|
Iterable[BaseModel]
|
Fewshot examples to convert. |
required |
Returns:
Type | Description |
---|---|
list[dict[str, Any]]
|
Fewshot examples as dicts. |
Source code in sieves/engines/core.py
96 97 98 99 100 101 102 103 |
|
_create_template(template)
classmethod
Creates Jinja2 template from template string.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
template
|
str | None
|
Template string. |
required |
Returns:
Type | Description |
---|---|
Template
|
Jinja2 template. |
Source code in sieves/engines/core.py
154 155 156 157 158 159 160 161 |
|
_execute_async_calls(calls)
async
staticmethod
Executes batch of async functions.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
calls
|
list[Coroutine[Any, Any, Any]] | list[Awaitable[Any]]
|
Async calls to execute. |
required |
Returns:
Type | Description |
---|---|
Any
|
Parsed response objects. |
Source code in sieves/engines/core.py
135 136 137 138 139 140 141 |
|
_infer(generator, template, values, fewshot_examples)
Runs inference record by record with exception handling for template- and Pydantic-based engines.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
generator
|
Callable[[list[str]], Iterable[EngineResult]]
|
Callable generating responses. |
required |
template
|
Template
|
Prompt template. |
required |
values
|
Iterable[dict[str, Any]]
|
Doc values to inject. |
required |
fewshot_examples
|
Iterable[BaseModel]
|
Fewshot examples. |
required |
Returns:
Type | Description |
---|---|
Iterable[EngineResult | None]
|
Results parsed from responses. |
Source code in sieves/engines/core.py
167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
|
_validate_batch_size(batch_size)
Validates batch_size. Noop by default.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
batch_size
|
int
|
Specified batch size. |
required |
Returns:
Type | Description |
---|---|
int
|
Validated batch size. |
Source code in sieves/engines/core.py
50 51 52 53 54 55 |
|
deserialize(config, **kwargs)
classmethod
Generate Engine instance from config.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
config
|
Config
|
Config to generate instance from. |
required |
kwargs
|
dict[str, Any]
|
Values to inject into loaded config. |
{}
|
Returns:
Type | Description |
---|---|
Engine[EnginePromptSignature, EngineResult, EngineModel, EngineInferenceMode]
|
Deserialized Engine instance. |
Source code in sieves/engines/core.py
124 125 126 127 128 129 130 131 132 133 |
|
serialize()
Serializes engine.
Returns:
Type | Description |
---|---|
Config
|
Config instance. |
Source code in sieves/engines/core.py
118 119 120 121 122 |
|