pixeltable 0.4.0rc2__tar.gz → 0.4.0rc3__tar.gz
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.
Potentially problematic release.
This version of pixeltable might be problematic. Click here for more details.
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/PKG-INFO +1 -1
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/__version__.py +2 -2
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/anthropic.py +19 -45
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/deepseek.py +19 -38
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/fireworks.py +9 -18
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/gemini.py +2 -2
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/llama_cpp.py +6 -6
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/mistralai.py +15 -41
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/ollama.py +1 -1
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/openai.py +82 -165
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/together.py +22 -80
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pyproject.toml +1 -1
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/LICENSE +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/README.md +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/__init__.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/catalog/__init__.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/catalog/catalog.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/catalog/column.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/catalog/dir.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/catalog/globals.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/catalog/insertable_table.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/catalog/named_function.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/catalog/path.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/catalog/schema_object.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/catalog/table.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/catalog/table_version.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/catalog/table_version_handle.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/catalog/table_version_path.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/catalog/view.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/config.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/dataframe.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/env.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exceptions.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exec/__init__.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exec/aggregation_node.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exec/cache_prefetch_node.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exec/component_iteration_node.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exec/data_row_batch.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exec/exec_context.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exec/exec_node.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exec/expr_eval/__init__.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exec/expr_eval/evaluators.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exec/expr_eval/expr_eval_node.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exec/expr_eval/globals.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exec/expr_eval/row_buffer.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exec/expr_eval/schedulers.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exec/in_memory_data_node.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exec/row_update_node.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exec/sql_node.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/__init__.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/arithmetic_expr.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/array_slice.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/column_property_ref.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/column_ref.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/comparison.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/compound_predicate.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/data_row.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/expr.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/expr_dict.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/expr_set.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/function_call.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/globals.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/in_predicate.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/inline_expr.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/is_null.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/json_mapper.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/json_path.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/literal.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/method_ref.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/object_ref.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/row_builder.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/rowid_ref.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/similarity_expr.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/sql_element_cache.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/string_op.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/type_cast.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/exprs/variable.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/ext/__init__.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/ext/functions/__init__.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/ext/functions/whisperx.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/ext/functions/yolox.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/func/__init__.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/func/aggregate_function.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/func/callable_function.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/func/expr_template_function.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/func/function.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/func/function_registry.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/func/globals.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/func/query_template_function.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/func/signature.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/func/tools.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/func/udf.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/__init__.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/audio.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/bedrock.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/date.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/globals.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/huggingface.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/image.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/json.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/math.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/replicate.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/string.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/timestamp.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/util.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/video.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/vision.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/functions/whisper.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/globals.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/index/__init__.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/index/base.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/index/btree.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/index/embedding_index.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/io/__init__.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/io/datarows.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/io/external_store.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/io/fiftyone.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/io/globals.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/io/hf_datasets.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/io/label_studio.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/io/pandas.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/io/parquet.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/io/table_data_conduit.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/io/utils.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/iterators/__init__.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/iterators/audio.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/iterators/base.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/iterators/document.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/iterators/image.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/iterators/string.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/iterators/video.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/__init__.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_10.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_12.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_13.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_14.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_15.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_16.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_17.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_18.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_19.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_20.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_21.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_22.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_23.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_24.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_25.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_26.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_27.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_28.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_29.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_30.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_31.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_32.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_33.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_34.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_35.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/convert_36.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/converters/util.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/notes.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/metadata/schema.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/plan.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/py.typed +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/share/__init__.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/share/packager.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/share/publish.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/store.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/type_system.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/__init__.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/arrow.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/coco.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/code.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/console_output.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/coroutine.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/dbms.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/description_helper.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/documents.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/exception_handler.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/filecache.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/formatter.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/http_server.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/iceberg.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/media_store.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/pytorch.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/s3.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/sample.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/sql.py +0 -0
- {pixeltable-0.4.0rc2 → pixeltable-0.4.0rc3}/pixeltable/utils/transactional_directory.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pixeltable
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.0rc3
|
|
4
4
|
Summary: AI Data Infrastructure: Declarative, Multimodal, and Incremental
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Keywords: data-science,machine-learning,database,ai,computer-vision,chatbot,ml,artificial-intelligence,feature-engineering,multimodal,mlops,feature-store,vector-database,llm,genai
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
# These version placeholders will be replaced during build.
|
|
2
|
-
__version__ = '0.4.
|
|
3
|
-
__version_tuple__ = (0, 4, "
|
|
2
|
+
__version__ = '0.4.0rc3'
|
|
3
|
+
__version_tuple__ = (0, 4, "0rc3")
|
|
@@ -8,7 +8,7 @@ the [Working with Anthropic](https://pixeltable.readme.io/docs/working-with-anth
|
|
|
8
8
|
import datetime
|
|
9
9
|
import json
|
|
10
10
|
import logging
|
|
11
|
-
from typing import TYPE_CHECKING, Any, Iterable, Optional,
|
|
11
|
+
from typing import TYPE_CHECKING, Any, Iterable, Optional, cast
|
|
12
12
|
|
|
13
13
|
import httpx
|
|
14
14
|
|
|
@@ -73,16 +73,10 @@ async def messages(
|
|
|
73
73
|
messages: list[dict[str, str]],
|
|
74
74
|
*,
|
|
75
75
|
model: str,
|
|
76
|
-
max_tokens: int
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
temperature: Optional[float] = None,
|
|
81
|
-
tool_choice: Optional[dict] = None,
|
|
82
|
-
tools: Optional[list[dict]] = None,
|
|
83
|
-
top_k: Optional[int] = None,
|
|
84
|
-
top_p: Optional[float] = None,
|
|
85
|
-
timeout: Optional[float] = None,
|
|
76
|
+
max_tokens: int,
|
|
77
|
+
model_kwargs: Optional[dict[str, Any]] = None,
|
|
78
|
+
tools: Optional[list[dict[str, Any]]] = None,
|
|
79
|
+
tool_choice: Optional[dict[str, Any]] = None,
|
|
86
80
|
) -> dict:
|
|
87
81
|
"""
|
|
88
82
|
Create a Message.
|
|
@@ -101,25 +95,27 @@ async def messages(
|
|
|
101
95
|
Args:
|
|
102
96
|
messages: Input messages.
|
|
103
97
|
model: The model that will complete your prompt.
|
|
104
|
-
|
|
105
|
-
|
|
98
|
+
model_kwargs: Additional keyword args for the Anthropic `messages` API.
|
|
99
|
+
For details on the available parameters, see: <https://docs.anthropic.com/en/api/messages>
|
|
100
|
+
tools: An optional list of Pixeltable tools to use for the request.
|
|
101
|
+
tool_choice: An optional tool choice configuration.
|
|
106
102
|
|
|
107
103
|
Returns:
|
|
108
104
|
A dictionary containing the response and other metadata.
|
|
109
105
|
|
|
110
106
|
Examples:
|
|
111
|
-
Add a computed column that applies the model `claude-3-
|
|
107
|
+
Add a computed column that applies the model `claude-3-5-sonnet-20241022`
|
|
112
108
|
to an existing Pixeltable column `tbl.prompt` of the table `tbl`:
|
|
113
109
|
|
|
114
110
|
>>> msgs = [{'role': 'user', 'content': tbl.prompt}]
|
|
115
|
-
... tbl.add_computed_column(response=messages(msgs, model='claude-3-
|
|
111
|
+
... tbl.add_computed_column(response=messages(msgs, model='claude-3-5-sonnet-20241022'))
|
|
116
112
|
"""
|
|
117
|
-
|
|
118
|
-
|
|
113
|
+
if model_kwargs is None:
|
|
114
|
+
model_kwargs = {}
|
|
119
115
|
|
|
120
116
|
if tools is not None:
|
|
121
117
|
# Reformat `tools` into Anthropic format
|
|
122
|
-
tools = [
|
|
118
|
+
model_kwargs['tools'] = [
|
|
123
119
|
{
|
|
124
120
|
'name': tool['name'],
|
|
125
121
|
'description': tool['description'],
|
|
@@ -132,17 +128,16 @@ async def messages(
|
|
|
132
128
|
for tool in tools
|
|
133
129
|
]
|
|
134
130
|
|
|
135
|
-
tool_choice_: Optional[dict] = None
|
|
136
131
|
if tool_choice is not None:
|
|
137
132
|
if tool_choice['auto']:
|
|
138
|
-
|
|
133
|
+
model_kwargs['tool_choice'] = {'type': 'auto'}
|
|
139
134
|
elif tool_choice['required']:
|
|
140
|
-
|
|
135
|
+
model_kwargs['tool_choice'] = {'type': 'any'}
|
|
141
136
|
else:
|
|
142
137
|
assert tool_choice['tool'] is not None
|
|
143
|
-
|
|
138
|
+
model_kwargs['tool_choice'] = {'type': 'tool', 'name': tool_choice['tool']}
|
|
144
139
|
if not tool_choice['parallel_tool_calls']:
|
|
145
|
-
|
|
140
|
+
model_kwargs['tool_choice']['disable_parallel_tool_use'] = True
|
|
146
141
|
|
|
147
142
|
# make sure the pool info exists prior to making the request
|
|
148
143
|
resource_pool_id = f'rate-limits:anthropic:{model}'
|
|
@@ -152,20 +147,8 @@ async def messages(
|
|
|
152
147
|
# TODO: timeouts should be set system-wide and be user-configurable
|
|
153
148
|
from anthropic.types import MessageParam
|
|
154
149
|
|
|
155
|
-
# cast(Any, ...): avoid mypy errors
|
|
156
150
|
result = await _anthropic_client().messages.with_raw_response.create(
|
|
157
|
-
messages=cast(Iterable[MessageParam], messages),
|
|
158
|
-
model=model,
|
|
159
|
-
max_tokens=max_tokens,
|
|
160
|
-
metadata=_opt(cast(Any, metadata)),
|
|
161
|
-
stop_sequences=_opt(stop_sequences),
|
|
162
|
-
system=_opt(system),
|
|
163
|
-
temperature=_opt(cast(Any, temperature)),
|
|
164
|
-
tools=_opt(cast(Any, tools)),
|
|
165
|
-
tool_choice=_opt(cast(Any, tool_choice_)),
|
|
166
|
-
top_k=_opt(top_k),
|
|
167
|
-
top_p=_opt(top_p),
|
|
168
|
-
timeout=_opt(timeout),
|
|
151
|
+
messages=cast(Iterable[MessageParam], messages), model=model, max_tokens=max_tokens, **model_kwargs
|
|
169
152
|
)
|
|
170
153
|
|
|
171
154
|
requests_limit_str = result.headers.get('anthropic-ratelimit-requests-limit')
|
|
@@ -224,15 +207,6 @@ def _anthropic_response_to_pxt_tool_calls(response: dict) -> Optional[dict]:
|
|
|
224
207
|
return pxt_tool_calls
|
|
225
208
|
|
|
226
209
|
|
|
227
|
-
_T = TypeVar('_T')
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
def _opt(arg: _T) -> Union[_T, 'anthropic.NotGiven']:
|
|
231
|
-
import anthropic
|
|
232
|
-
|
|
233
|
-
return arg if arg is not None else anthropic.NOT_GIVEN
|
|
234
|
-
|
|
235
|
-
|
|
236
210
|
__all__ = local_public_names(__name__)
|
|
237
211
|
|
|
238
212
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import json
|
|
2
|
-
from typing import TYPE_CHECKING, Any, Optional
|
|
2
|
+
from typing import TYPE_CHECKING, Any, Optional
|
|
3
3
|
|
|
4
4
|
import httpx
|
|
5
5
|
|
|
@@ -7,8 +7,6 @@ import pixeltable as pxt
|
|
|
7
7
|
from pixeltable import env
|
|
8
8
|
from pixeltable.utils.code import local_public_names
|
|
9
9
|
|
|
10
|
-
from .openai import _opt
|
|
11
|
-
|
|
12
10
|
if TYPE_CHECKING:
|
|
13
11
|
import openai
|
|
14
12
|
|
|
@@ -33,17 +31,9 @@ async def chat_completions(
|
|
|
33
31
|
messages: list,
|
|
34
32
|
*,
|
|
35
33
|
model: str,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
max_tokens: Optional[int] = None,
|
|
40
|
-
presence_penalty: Optional[float] = None,
|
|
41
|
-
response_format: Optional[dict] = None,
|
|
42
|
-
stop: Optional[list[str]] = None,
|
|
43
|
-
temperature: Optional[float] = None,
|
|
44
|
-
tools: Optional[list[dict]] = None,
|
|
45
|
-
tool_choice: Optional[dict] = None,
|
|
46
|
-
top_p: Optional[float] = None,
|
|
34
|
+
model_kwargs: Optional[dict[str, Any]] = None,
|
|
35
|
+
tools: Optional[list[dict[str, Any]]] = None,
|
|
36
|
+
tool_choice: Optional[dict[str, Any]] = None,
|
|
47
37
|
) -> dict:
|
|
48
38
|
"""
|
|
49
39
|
Creates a model response for the given chat conversation.
|
|
@@ -60,8 +50,10 @@ async def chat_completions(
|
|
|
60
50
|
Args:
|
|
61
51
|
messages: A list of messages to use for chat completion, as described in the Deepseek API documentation.
|
|
62
52
|
model: The model to use for chat completion.
|
|
63
|
-
|
|
64
|
-
|
|
53
|
+
model_kwargs: Additional keyword args for the Deepseek `chat/completions` API.
|
|
54
|
+
For details on the available parameters, see: <https://api-docs.deepseek.com/api/create-chat-completion>
|
|
55
|
+
tools: An optional list of Pixeltable tools to use for the request.
|
|
56
|
+
tool_choice: An optional tool choice configuration.
|
|
65
57
|
|
|
66
58
|
Returns:
|
|
67
59
|
A dictionary containing the response and other metadata.
|
|
@@ -76,39 +68,28 @@ async def chat_completions(
|
|
|
76
68
|
]
|
|
77
69
|
tbl.add_computed_column(response=chat_completions(messages, model='deepseek-chat'))
|
|
78
70
|
"""
|
|
71
|
+
if model_kwargs is None:
|
|
72
|
+
model_kwargs = {}
|
|
73
|
+
|
|
79
74
|
if tools is not None:
|
|
80
|
-
tools = [{'type': 'function', 'function': tool} for tool in tools]
|
|
75
|
+
model_kwargs['tools'] = [{'type': 'function', 'function': tool} for tool in tools]
|
|
81
76
|
|
|
82
|
-
tool_choice_: Union[str, dict, None] = None
|
|
83
77
|
if tool_choice is not None:
|
|
84
78
|
if tool_choice['auto']:
|
|
85
|
-
|
|
79
|
+
model_kwargs['tool_choice'] = 'auto'
|
|
86
80
|
elif tool_choice['required']:
|
|
87
|
-
|
|
81
|
+
model_kwargs['tool_choice'] = 'required'
|
|
88
82
|
else:
|
|
89
83
|
assert tool_choice['tool'] is not None
|
|
90
|
-
|
|
84
|
+
model_kwargs['tool_choice'] = {'type': 'function', 'function': {'name': tool_choice['tool']}}
|
|
91
85
|
|
|
92
|
-
extra_body: Optional[dict[str, Any]] = None
|
|
93
86
|
if tool_choice is not None and not tool_choice['parallel_tool_calls']:
|
|
94
|
-
extra_body
|
|
87
|
+
if 'extra_body' not in model_kwargs:
|
|
88
|
+
model_kwargs['extra_body'] = {}
|
|
89
|
+
model_kwargs['extra_body']['parallel_tool_calls'] = False
|
|
95
90
|
|
|
96
|
-
# cast(Any, ...): avoid mypy errors
|
|
97
91
|
result = await _deepseek_client().chat.completions.with_raw_response.create(
|
|
98
|
-
messages=messages,
|
|
99
|
-
model=model,
|
|
100
|
-
frequency_penalty=_opt(frequency_penalty),
|
|
101
|
-
logprobs=_opt(logprobs),
|
|
102
|
-
top_logprobs=_opt(top_logprobs),
|
|
103
|
-
max_tokens=_opt(max_tokens),
|
|
104
|
-
presence_penalty=_opt(presence_penalty),
|
|
105
|
-
response_format=_opt(cast(Any, response_format)),
|
|
106
|
-
stop=_opt(stop),
|
|
107
|
-
temperature=_opt(temperature),
|
|
108
|
-
tools=_opt(cast(Any, tools)),
|
|
109
|
-
tool_choice=_opt(cast(Any, tool_choice_)),
|
|
110
|
-
top_p=_opt(top_p),
|
|
111
|
-
extra_body=extra_body,
|
|
92
|
+
messages=messages, model=model, **model_kwargs
|
|
112
93
|
)
|
|
113
94
|
|
|
114
95
|
return json.loads(result.text)
|
|
@@ -5,7 +5,7 @@ first `pip install fireworks-ai` and configure your Fireworks AI credentials, as
|
|
|
5
5
|
the [Working with Fireworks](https://pixeltable.readme.io/docs/working-with-fireworks) tutorial.
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
|
-
from typing import TYPE_CHECKING, Optional
|
|
8
|
+
from typing import TYPE_CHECKING, Any, Optional
|
|
9
9
|
|
|
10
10
|
import pixeltable as pxt
|
|
11
11
|
from pixeltable import env
|
|
@@ -29,14 +29,7 @@ def _fireworks_client() -> 'fireworks.client.Fireworks':
|
|
|
29
29
|
|
|
30
30
|
@pxt.udf(resource_pool='request-rate:fireworks')
|
|
31
31
|
async def chat_completions(
|
|
32
|
-
messages: list[dict[str, str]],
|
|
33
|
-
*,
|
|
34
|
-
model: str,
|
|
35
|
-
max_tokens: Optional[int] = None,
|
|
36
|
-
top_k: Optional[int] = None,
|
|
37
|
-
top_p: Optional[float] = None,
|
|
38
|
-
temperature: Optional[float] = None,
|
|
39
|
-
request_timeout: Optional[int] = None,
|
|
32
|
+
messages: list[dict[str, str]], *, model: str, model_kwargs: Optional[dict[str, Any]] = None
|
|
40
33
|
) -> dict:
|
|
41
34
|
"""
|
|
42
35
|
Creates a model response for the given chat conversation.
|
|
@@ -55,8 +48,8 @@ async def chat_completions(
|
|
|
55
48
|
Args:
|
|
56
49
|
messages: A list of messages comprising the conversation so far.
|
|
57
50
|
model: The name of the model to use.
|
|
58
|
-
|
|
59
|
-
|
|
51
|
+
model_kwargs: Additional keyword args for the Fireworks `chat_completions` API. For details on the available
|
|
52
|
+
parameters, see: <https://docs.fireworks.ai/api-reference/post-chatcompletions>
|
|
60
53
|
|
|
61
54
|
Returns:
|
|
62
55
|
A dictionary containing the response and other metadata.
|
|
@@ -70,20 +63,18 @@ async def chat_completions(
|
|
|
70
63
|
... response=chat_completions(messages, model='accounts/fireworks/models/mixtral-8x22b-instruct')
|
|
71
64
|
... )
|
|
72
65
|
"""
|
|
73
|
-
|
|
74
|
-
|
|
66
|
+
if model_kwargs is None:
|
|
67
|
+
model_kwargs = {}
|
|
75
68
|
|
|
76
69
|
# for debugging purposes:
|
|
77
70
|
# res_sync = _fireworks_client().chat.completions.create(model=model, messages=messages, **kwargs_not_none)
|
|
78
71
|
# res_sync_dict = res_sync.dict()
|
|
79
72
|
|
|
80
|
-
if request_timeout
|
|
81
|
-
request_timeout = Config.get().get_int_value('timeout', section='fireworks') or 600
|
|
73
|
+
if 'request_timeout' not in model_kwargs:
|
|
74
|
+
model_kwargs['request_timeout'] = Config.get().get_int_value('timeout', section='fireworks') or 600
|
|
82
75
|
# TODO: this timeout doesn't really work, I think it only applies to returning the stream, but not to the timing
|
|
83
76
|
# of the chunks; addressing this would require a timeout for the task running this udf
|
|
84
|
-
stream = _fireworks_client().chat.completions.acreate(
|
|
85
|
-
model=model, messages=messages, request_timeout=request_timeout, **kwargs_not_none
|
|
86
|
-
)
|
|
77
|
+
stream = _fireworks_client().chat.completions.acreate(model=model, messages=messages, **model_kwargs)
|
|
87
78
|
chunks = []
|
|
88
79
|
async for chunk in stream:
|
|
89
80
|
chunks.append(chunk)
|
|
@@ -53,8 +53,8 @@ async def generate_content(
|
|
|
53
53
|
config: Configuration for generation, corresponding to keyword arguments of
|
|
54
54
|
`genai.types.GenerateContentConfig`. For details on the parameters, see:
|
|
55
55
|
<https://googleapis.github.io/python-genai/genai.html#module-genai.types>
|
|
56
|
-
tools:
|
|
57
|
-
`config
|
|
56
|
+
tools: An optional list of Pixeltable tools to use. It is also possible to specify tools manually via the
|
|
57
|
+
`config['tools']` parameter, but at most one of `config['tools']` or `tools` may be used.
|
|
58
58
|
|
|
59
59
|
Returns:
|
|
60
60
|
A dictionary containing the response and other metadata.
|
|
@@ -17,7 +17,7 @@ def create_chat_completion(
|
|
|
17
17
|
model_path: Optional[str] = None,
|
|
18
18
|
repo_id: Optional[str] = None,
|
|
19
19
|
repo_filename: Optional[str] = None,
|
|
20
|
-
|
|
20
|
+
model_kwargs: Optional[dict[str, Any]] = None,
|
|
21
21
|
) -> dict:
|
|
22
22
|
"""
|
|
23
23
|
Generate a chat completion from a list of messages.
|
|
@@ -35,14 +35,14 @@ def create_chat_completion(
|
|
|
35
35
|
repo_id: The Hugging Face model repo id (if using a pretrained model).
|
|
36
36
|
repo_filename: A filename or glob pattern to match the model file in the repo (optional, if using a
|
|
37
37
|
pretrained model).
|
|
38
|
-
|
|
39
|
-
`top_p`, and `top_k`. For details, see the
|
|
38
|
+
model_kwargs: Additional keyword args for the llama_cpp `create_chat_completions` API, such as `max_tokens`,
|
|
39
|
+
`temperature`, `top_p`, and `top_k`. For details, see the
|
|
40
40
|
[llama_cpp create_chat_completions documentation](https://llama-cpp-python.readthedocs.io/en/latest/api-reference/#llama_cpp.Llama.create_chat_completion).
|
|
41
41
|
"""
|
|
42
42
|
Env.get().require_package('llama_cpp', min_version=[0, 3, 1])
|
|
43
43
|
|
|
44
|
-
if
|
|
45
|
-
|
|
44
|
+
if model_kwargs is None:
|
|
45
|
+
model_kwargs = {}
|
|
46
46
|
|
|
47
47
|
if (model_path is None) == (repo_id is None):
|
|
48
48
|
raise excs.Error('Exactly one of `model_path` or `repo_id` must be provided.')
|
|
@@ -56,7 +56,7 @@ def create_chat_completion(
|
|
|
56
56
|
else:
|
|
57
57
|
Env.get().require_package('huggingface_hub')
|
|
58
58
|
llm = _lookup_pretrained_model(repo_id, repo_filename, n_gpu_layers)
|
|
59
|
-
return llm.create_chat_completion(messages, **
|
|
59
|
+
return llm.create_chat_completion(messages, **model_kwargs) # type: ignore
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
def _is_gpu_available() -> bool:
|
|
@@ -5,7 +5,7 @@ first `pip install mistralai` and configure your Mistral AI credentials, as desc
|
|
|
5
5
|
the [Working with Mistral AI](https://pixeltable.readme.io/docs/working-with-mistralai) tutorial.
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
|
-
from typing import TYPE_CHECKING, Optional, TypeVar, Union
|
|
8
|
+
from typing import TYPE_CHECKING, Any, Optional, TypeVar, Union
|
|
9
9
|
|
|
10
10
|
import numpy as np
|
|
11
11
|
|
|
@@ -32,16 +32,7 @@ def _mistralai_client() -> 'mistralai.Mistral':
|
|
|
32
32
|
|
|
33
33
|
@pxt.udf(resource_pool='request-rate:mistral')
|
|
34
34
|
async def chat_completions(
|
|
35
|
-
messages: list[dict[str, str]],
|
|
36
|
-
*,
|
|
37
|
-
model: str,
|
|
38
|
-
temperature: Optional[float] = 0.7,
|
|
39
|
-
top_p: Optional[float] = 1.0,
|
|
40
|
-
max_tokens: Optional[int] = None,
|
|
41
|
-
stop: Optional[list[str]] = None,
|
|
42
|
-
random_seed: Optional[int] = None,
|
|
43
|
-
response_format: Optional[dict] = None,
|
|
44
|
-
safe_prompt: Optional[bool] = False,
|
|
35
|
+
messages: list[dict[str, str]], *, model: str, model_kwargs: Optional[dict[str, Any]] = None
|
|
45
36
|
) -> dict:
|
|
46
37
|
"""
|
|
47
38
|
Chat Completion API.
|
|
@@ -60,6 +51,8 @@ async def chat_completions(
|
|
|
60
51
|
Args:
|
|
61
52
|
messages: The prompt(s) to generate completions for.
|
|
62
53
|
model: ID of the model to use. (See overview here: <https://docs.mistral.ai/getting-started/models/>)
|
|
54
|
+
model_kwargs: Additional keyword args for the Mistral `chat/completions` API.
|
|
55
|
+
For details on the available parameters, see: <https://docs.mistral.ai/api/#tag/chat>
|
|
63
56
|
|
|
64
57
|
For details on the other parameters, see: <https://docs.mistral.ai/api/#tag/chat>
|
|
65
58
|
|
|
@@ -73,34 +66,20 @@ async def chat_completions(
|
|
|
73
66
|
>>> messages = [{'role': 'user', 'content': tbl.prompt}]
|
|
74
67
|
... tbl.add_computed_column(response=completions(messages, model='mistral-latest-small'))
|
|
75
68
|
"""
|
|
69
|
+
if model_kwargs is None:
|
|
70
|
+
model_kwargs = {}
|
|
71
|
+
|
|
76
72
|
Env.get().require_package('mistralai')
|
|
77
73
|
result = await _mistralai_client().chat.complete_async(
|
|
78
74
|
messages=messages, # type: ignore[arg-type]
|
|
79
75
|
model=model,
|
|
80
|
-
|
|
81
|
-
top_p=top_p,
|
|
82
|
-
max_tokens=_opt(max_tokens),
|
|
83
|
-
stop=stop,
|
|
84
|
-
random_seed=_opt(random_seed),
|
|
85
|
-
response_format=response_format, # type: ignore[arg-type]
|
|
86
|
-
safe_prompt=safe_prompt,
|
|
76
|
+
**model_kwargs,
|
|
87
77
|
)
|
|
88
78
|
return result.dict()
|
|
89
79
|
|
|
90
80
|
|
|
91
81
|
@pxt.udf(resource_pool='request-rate:mistral')
|
|
92
|
-
async def fim_completions(
|
|
93
|
-
prompt: str,
|
|
94
|
-
*,
|
|
95
|
-
model: str,
|
|
96
|
-
temperature: Optional[float] = 0.7,
|
|
97
|
-
top_p: Optional[float] = 1.0,
|
|
98
|
-
max_tokens: Optional[int] = None,
|
|
99
|
-
min_tokens: Optional[int] = None,
|
|
100
|
-
stop: Optional[list[str]] = None,
|
|
101
|
-
random_seed: Optional[int] = None,
|
|
102
|
-
suffix: Optional[str] = None,
|
|
103
|
-
) -> dict:
|
|
82
|
+
async def fim_completions(prompt: str, *, model: str, model_kwargs: Optional[dict[str, Any]] = None) -> dict:
|
|
104
83
|
"""
|
|
105
84
|
Fill-in-the-middle Completion API.
|
|
106
85
|
|
|
@@ -118,6 +97,8 @@ async def fim_completions(
|
|
|
118
97
|
Args:
|
|
119
98
|
prompt: The text/code to complete.
|
|
120
99
|
model: ID of the model to use. (See overview here: <https://docs.mistral.ai/getting-started/models/>)
|
|
100
|
+
model_kwargs: Additional keyword args for the Mistral `fim/completions` API.
|
|
101
|
+
For details on the available parameters, see: <https://docs.mistral.ai/api/#tag/fim>
|
|
121
102
|
|
|
122
103
|
For details on the other parameters, see: <https://docs.mistral.ai/api/#tag/fim>
|
|
123
104
|
|
|
@@ -130,18 +111,11 @@ async def fim_completions(
|
|
|
130
111
|
|
|
131
112
|
>>> tbl.add_computed_column(response=completions(tbl.prompt, model='codestral-latest'))
|
|
132
113
|
"""
|
|
114
|
+
if model_kwargs is None:
|
|
115
|
+
model_kwargs = {}
|
|
116
|
+
|
|
133
117
|
Env.get().require_package('mistralai')
|
|
134
|
-
result = await _mistralai_client().fim.complete_async(
|
|
135
|
-
prompt=prompt,
|
|
136
|
-
model=model,
|
|
137
|
-
temperature=temperature,
|
|
138
|
-
top_p=top_p,
|
|
139
|
-
max_tokens=_opt(max_tokens),
|
|
140
|
-
min_tokens=_opt(min_tokens),
|
|
141
|
-
stop=stop,
|
|
142
|
-
random_seed=_opt(random_seed),
|
|
143
|
-
suffix=_opt(suffix),
|
|
144
|
-
)
|
|
118
|
+
result = await _mistralai_client().fim.complete_async(prompt=prompt, model=model, **model_kwargs)
|
|
145
119
|
return result.dict()
|
|
146
120
|
|
|
147
121
|
|
|
@@ -50,7 +50,7 @@ def generate(
|
|
|
50
50
|
template: Prompt template to use.
|
|
51
51
|
context: The context parameter returned from a previous call to `generate()`.
|
|
52
52
|
raw: If `True`, no formatting will be applied to the prompt.
|
|
53
|
-
options: Additional options
|
|
53
|
+
options: Additional options for the Ollama `chat` call, such as `max_tokens`, `temperature`, `top_p`, and
|
|
54
54
|
`top_k`. For details, see the
|
|
55
55
|
[Valid Parameters and Values](https://github.com/ollama/ollama/blob/main/docs/modelfile.md#valid-parameters-and-values)
|
|
56
56
|
section of the Ollama documentation.
|