DSPy
Bases: Engine[PromptSignature, Result, Model, InferenceMode]
Engine for DSPy.
Source code in sieves/engines/dspy_.py
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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
|
_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, config_kwargs=None, init_kwargs=None, inference_kwargs=None, batch_size=-1)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
model
|
Model
|
Model to run. Note: DSPy only runs with APIs. If you want to run a model locally from v2.5 onwards, serve it with OLlama - see here: # https://dspy.ai/learn/programming/language_models/?h=models#__tabbed_1_5. In a nutshell: > curl -fsSL https://ollama.ai/install.sh | sh > ollama run MODEL_ID > |
required |
config_kwargs
|
dict[str, Any] | None
|
Optional kwargs supplied to dspy.configure(). |
None
|
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
|
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/dspy_.py
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
|
_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 |
|
_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 |
|
_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 |
|