Skip to content

Releases: svilupp/PromptingTools.jl

v0.64.0

17 Nov 20:50
Compare
Choose a tag to compare

PromptingTools v0.64.0

Diff since v0.63.0

Added

  • Added support for images in aitools to enable passing screenshots via image_path argument (extended to both OpenAI and Anthropic APIs, uses ?UserMessageWithImages internally).
  • Added the latest Gemini Experimental model via OpenAI compatibility mode (gemini-exp-1114 with alias gemexp).

Commits

Merged pull requests:

v0.63.0

12 Nov 21:47
Compare
Choose a tag to compare

PromptingTools v0.63.0

Diff since v0.62.1

Added

  • Added support for Google's Gemini API via OpenAI compatibility mode (GoogleOpenAISchema). Use model aliases gem15p (Gemini 1.5 Pro), gem15f (Gemini 1.5 Flash), and gem15f8 (Gemini 1.5 Flash 8b). Set your ENV api key GOOGLE_API_KEY to use it.
  • Thanks to @Sixzero, added support for Google Flash via OpenRouter and Qwen 72b models.

Commits

Merged pull requests:

v0.62.1

06 Nov 13:20
Compare
Choose a tag to compare

PromptingTools v0.62.1

Diff since v0.62.0

Fixed

  • Fixed a bug in tool_call_signature where hidden fields were not hidden early enough and would fail if a Dict argument was provided. It used to do the processing after, but Dicts cannot be processed, so we're now masking the fields upfront.

Commits

Merged pull requests:

v0.62.0

05 Nov 12:50
Compare
Choose a tag to compare

PromptingTools v0.62.0

Diff since v0.61.0

Added

  • Added a new Claude 3.5 Haiku model (claude-3-5-haiku-latest) and updated the alias claudeh with it.
  • Added support for XAI's Grok 2 beta model (grok-beta) and updated the alias grok with it. Set your ENV api key XAI_API_KEY to use it.

Commits

Merged pull requests:

  • Add support for Haiku 3.5 and Grok2 Beta (#229) (@svilupp)

v0.61.0

03 Nov 22:33
Compare
Choose a tag to compare

PromptingTools v0.61.0

Diff since v0.60.0

Added

  • Added a new extras field to ToolRef to enable additional parameters in the tool signature (eg, display_width_px, display_height_px for the :computer tool).
  • Added a new kwarg unused_as_kwargs to execute_tool to enable passing unused args as kwargs (see ?execute_tool for more information). Helps with using kwarg-based functions.

Updated

  • Updated the compat bounds for StreamCallbacks to enable both v0.4 and v0.5 (Fixes Julia 1.9 compatibility).
  • Updated the return type of tool_call_signature to Dict{String, AbstractTool} to enable better interoperability with different tool types.

Commits

Merged pull requests:

v0.60.0

03 Nov 15:00
Compare
Choose a tag to compare

PromptingTools v0.60.0

Diff since v0.59.1

Added

  • Added new Claude 3.5 Sonnet model (claude-3-5-sonnet-latest) and updated the alias claude and claudes with it.
  • Added support for Ollama streaming with schema OllamaSchema (see ?StreamCallback for more information). Schema OllamaManaged is NOT supported (it's legacy and will be removed in the future).
  • Moved the implementation of streaming callbacks to a new StreamCallbacks package.
  • Added new error types for tool execution to enable better error handling and reporting (see ?AbstractToolError).
  • Added support for Anthropic's new pre-trained tools via ToolRef (see ?ToolRef), to enable the feature, use the :computer_use beta header (eg, aitools(..., betas = [:computer_use])).

Fixed

  • Fixed a bug in call_cost where the cost was not calculated if any non-AIMessages were provided in the conversation.

Commits

Merged pull requests:

v0.59.1

20 Oct 19:57
Compare
Choose a tag to compare

PromptingTools v0.59.1

Diff since v0.59.0

### Fixed

  • Fixed a bug in multi-turn tool calls for OpenAI models where an empty tools array could have been, which causes an API error.

Commits

Merged pull requests:

v0.59.0

20 Oct 13:16
Compare
Choose a tag to compare

PromptingTools v0.59.0

Diff since v0.58.0

Breaking Changes

  • New field name introduced in AbstractChatMessage and AIToolRequest messages to enable role-based workflows. It initializes to nothing, so it is backward compatible.

Added

  • Extends support for structured extraction with multiple "tools" definitions (see ?aiextract).
  • Added new primitives Tool (to re-use tool definitions) and a function aitools to support mixed structured and non-structured workflows, eg, agentic workflows (see ?aitools).
  • Added a field name to AbstractChatMessage and AIToolRequest messages to enable role-based workflows.
  • Added a support for partial argument execution with execute_tool function (provide your own context to override the arg values).
  • Added support for SambaNova hosted models (set your ENV SAMBANOVA_API_KEY).
  • Added many new models from Mistral, Groq, Sambanova, OpenAI.

Updated

  • Renamed function_call_signature to tool_call_signature to better reflect that it's used for tools, but kept a link to the old name for back-compatibility.
  • Improves structured extraction for Anthropic models (now you can use tool_choice keyword argument to specify which tool to use or re-use your parsed tools).
  • When log probs are requested, we will now also log the raw information in AIMessage.extras[:log_prob] field (previously we logged only the full sum). This enables more nuanced log-probability calculations for individual tokens.

Commits

Merged pull requests:

v0.58.0

09 Oct 20:58
Compare
Choose a tag to compare

PromptingTools v0.58.0

Diff since v0.57.0

Added

  • Added support for Cerebras hosted models (set your ENV CEREBRAS_API_KEY). Available model aliases: cl3 (Llama3.1 8bn), cl70 (Llama3.1 70bn).
  • Added a kwarg to aiclassify to provide a custom token ID mapping (token_ids_map) to work with custom tokenizers.

Updated

  • Improved the implementation of airetry! to concatenate feedback from all ancestor nodes ONLY IF feedback_inplace=true (because otherwise LLM can see it in the message history).

Fixed

  • Fixed a potential bug in airetry! where the aicall object was not properly validated to ensure it has been run! first.

Commits

Merged pull requests:

  • Add Cerebras API + node validation for airetry! (#217) (@svilupp)

v0.57.0

24 Sep 11:52
Compare
Choose a tag to compare

PromptingTools v0.57.0

Diff since v0.56.1

Added

  • Support for Azure OpenAI API. Requires two environment variables to be st: AZURE_OPENAI_API_KEY and AZURE_OPENAI_HOST(i.e. https://.openai.azure.com). Thanks to @pabvald !

Commits

Merged pull requests: