gradio/js/tootils/CHANGELOG.md
Gradio PR Bot 4d520a8a7b
chore: update versions (#9908)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-15 16:16:39 -08:00

16 KiB

@self/tootils

0.7.8

Dependency updates

  • @gradio/utils@0.8.0
  • @gradio/statustracker@0.9.5

0.7.7

Dependency updates

  • @gradio/statustracker@0.9.4

0.7.6

Dependency updates

  • @gradio/statustracker@0.9.3

0.7.5

Dependency updates

  • @gradio/statustracker@0.9.2

0.7.4

Dependency updates

  • @gradio/statustracker@0.9.1

0.7.3

Dependency updates

  • @gradio/statustracker@0.9.0

0.7.2

Fixes

  • #9528 9004b11 - Fix Lite to work on FireFox. Thanks @whitphx!

0.7.1

Dependency updates

  • @gradio/statustracker@0.8.1

0.7.0

Features

Dependencies

  • @gradio/statustracker@0.8.0
  • @gradio/utils@0.7.0

0.7.0-beta.5

Features

Dependency updates

  • @gradio/statustracker@0.8.0-beta.5

0.6.5-beta.4

Dependency updates

  • @gradio/statustracker@0.8.0-beta.4

0.6.5-beta.3

Dependency updates

  • @gradio/statustracker@0.8.0-beta.3

0.6.5-beta.2

Dependency updates

  • @gradio/statustracker@0.8.0-beta.2

0.6.5-beta.2

Dependency updates

  • @gradio/statustracker@0.8.0-beta.2
  • @gradio/utils@0.7.0-beta.2

0.6.5-beta.1

Dependency updates

  • @gradio/statustracker@0.8.0-beta.1
  • @gradio/utils@0.7.0-beta.1

0.6.5

Fixes

  • #9163 2b6cbf2 - fix exports and generate types. Thanks @pngwn!

Dependency updates

  • @gradio/utils@0.6.1
  • @gradio/statustracker@0.7.6

0.6.4

Dependency updates

  • @gradio/utils@0.6.0
  • @gradio/statustracker@0.7.5

0.6.3

Dependency updates

  • @gradio/statustracker@0.7.4

0.6.2

Dependency updates

  • @gradio/utils@0.5.2
  • @gradio/statustracker@0.7.3

0.6.1

Dependency updates

  • @gradio/statustracker@0.7.2

0.6.0

Highlights

Support message format in chatbot 💬 (#8422 4221290)

gr.Chatbot and gr.ChatInterface now support the Messages API, which is fully compatible with LLM API providers such as Hugging Face Text Generation Inference, OpenAI's chat completions API, and Llama.cpp server.

Building Gradio applications around these LLM solutions is now even easier!

gr.Chatbot and gr.ChatInterface now have a type parameter that can accept two values - 'tuples' and 'messages'. If set to 'tuples', the default chatbot data format is expected. If set to 'messages', a list of dictionaries with content and role keys is expected. See below -

def chat_greeter(msg, history):
    history.append({"role": "assistant", "content": "Hello!"})
    return history

Additionally, gradio now exposes a gr.ChatMessage dataclass you can use for IDE type hints and auto completion.

image

Tool use in Chatbot 🛠️

The Gradio Chatbot can now natively display tool usage and intermediate thoughts common in Agent and chain-of-thought workflows!

If you are using the new "messages" format, simply add a metadata key with a dictionary containing a title key and value. This will display the assistant message in an expandable message box to show the result of a tool or intermediate step.

import gradio as gr
from gradio import ChatMessage
import time

def generate_response(history):
    history.append(ChatMessage(role="user", content="What is the weather in San Francisco right now?"))
    yield history
    time.sleep(0.25)
    history.append(ChatMessage(role="assistant",
                               content="In order to find the current weather in San Francisco, I will need to use my weather tool.")
                               )
    yield history
    time.sleep(0.25)

    history.append(ChatMessage(role="assistant",
                               content="API Error when connecting to weather service.",
                              metadata={"title": "💥 Error using tool 'Weather'"})
                  )
    yield history
    time.sleep(0.25)

    history.append(ChatMessage(role="assistant",
                               content="I will try again",
                              ))
    yield history
    time.sleep(0.25)

    history.append(ChatMessage(role="assistant",
                               content="Weather 72 degrees Fahrenheit with 20% chance of rain.",
                                metadata={"title": "🛠️ Used tool 'Weather'"}
                              ))
    yield history
    time.sleep(0.25)

    history.append(ChatMessage(role="assistant",
                               content="Now that the API succeeded I can complete my task.",
                              ))
    yield history
    time.sleep(0.25)

    history.append(ChatMessage(role="assistant",
                               content="It's a sunny day in San Francisco with a current temperature of 72 degrees Fahrenheit and a 20% chance of rain. Enjoy the weather!",
                              ))
    yield history


with gr.Blocks() as demo:
    chatbot  = gr.Chatbot(type="messages")
    button = gr.Button("Get San Francisco Weather")
    button.click(generate_response, chatbot, chatbot)

if __name__ == "__main__":
    demo.launch()

tool-box-demo

Thanks @freddyaboulton!

Features

Dependency updates

  • @gradio/utils@0.5.1
  • @gradio/statustracker@0.7.1

0.5.1

Dependency updates

  • @gradio/utils@0.5.0
  • @gradio/statustracker@0.7.0

0.5.0

Features

  • #8417 96d8de2 - add delete event to File component. Thanks @pngwn!

Dependency updates

  • @gradio/statustracker@0.6.0

0.4.5

Dependency updates

  • @gradio/statustracker@0.6.0

0.4.4

Dependency updates

  • @gradio/utils@0.4.2
  • @gradio/statustracker@0.5.5

0.4.3

Dependency updates

  • @gradio/statustracker@0.5.4

0.4.2

Dependency updates

  • @gradio/statustracker@0.5.3

0.4.1

Dependency updates

  • @gradio/statustracker@0.5.2

0.4.0

Features

  • #8121 f5b710c - chore(deps): update dependency eslint to v9. Thanks @renovate!

Fixes

  • #8179 6a218b4 - rework upload to be a class method + pass client into each component. Thanks @pngwn!

Dependency updates

  • @gradio/utils@0.4.1
  • @gradio/statustracker@0.5.1

0.3.0

Highlights

Setting File Upload Limits (#7909 2afca65)

We have added a max_file_size size parameter to launch() that limits to size of files uploaded to the server. This limit applies to each individual file. This parameter can be specified as a string or an integer (corresponding to the size in bytes).

The following code snippet sets a max file size of 5 megabytes.

import gradio as gr

demo = gr.Interface(lambda x: x, "image", "image")

demo.launch(max_file_size="5mb")
# or
demo.launch(max_file_size=5 * gr.FileSize.MB)

max_file_size_upload

Error states can now be cleared

When a component encounters an error, the error state shown in the UI can now be cleared by clicking on the x icon in the top right of the component. This applies to all types of errors, whether it's raised in the UI or the server.

error_modal_calculator

Thanks @freddyaboulton!

Dependency updates

  • @gradio/statustracker@0.5.0
  • @gradio/utils@0.4.0

0.2.8

Dependency updates

  • @gradio/utils@0.3.2
  • @gradio/statustracker@0.4.12

0.2.7

Dependency updates

  • @gradio/utils@0.3.1
  • @gradio/statustracker@0.4.11

0.2.6

Dependency updates

  • @gradio/statustracker@0.4.10

0.2.5

Dependency updates

  • @gradio/statustracker@0.4.9

0.2.4

Features

0.2.3

Patch Changes

  • Updated dependencies [98a2719]:
    • @gradio/statustracker@0.4.8

0.2.2

Patch Changes

  • Updated dependencies []:
    • @gradio/statustracker@0.4.7

0.2.1

Patch Changes

  • Updated dependencies [065c5b1]:
    • @gradio/utils@0.3.0
    • @gradio/statustracker@0.4.6

0.2.0

Features

0.1.9

Patch Changes

  • Updated dependencies [fdd1521]:
    • @gradio/utils@0.2.2
    • @gradio/statustracker@0.4.5

0.1.8

Patch Changes

  • Updated dependencies [5727b92]:
    • @gradio/utils@0.2.1
    • @gradio/statustracker@0.4.4

0.1.7

Patch Changes

  • Updated dependencies [828fb9e]:
    • @gradio/statustracker@0.4.3

0.1.6

Patch Changes

  • Updated dependencies []:
    • @gradio/statustracker@0.4.2

0.1.5

Patch Changes

  • Updated dependencies []:
    • @gradio/statustracker@0.4.1

0.1.4

Patch Changes

  • Updated dependencies [9caddc17b]:
    • @gradio/statustracker@0.4.0

0.1.3

Patch Changes

  • Updated dependencies []:
    • @gradio/statustracker@0.3.2

0.1.2

Patch Changes

  • Updated dependencies []:
    • @gradio/statustracker@0.3.1

0.1.1

Fixes

0.1.0

Features

0.1.0-beta.7

Patch Changes

  • Updated dependencies [667802a6c]:
    • @gradio/utils@0.2.0-beta.6

0.1.0-beta.6

Features

Fixes

0.1.0-beta.5

Patch Changes

  • Updated dependencies [13ed8a485]:
    • @gradio/utils@0.2.0-beta.4

0.1.0-beta.4

Features

0.1.0-beta.3

Patch Changes

  • Updated dependencies [0b4fd5b6d]:
    • @gradio/utils@0.2.0-beta.3

0.1.0-beta.2

Patch Changes

  • Updated dependencies [14fc612d8]:
    • @gradio/utils@0.2.0-beta.2

0.1.0-beta.1

Patch Changes

  • Updated dependencies []:
    • @gradio/utils@0.2.0-beta.1

0.1.0-beta.0

Features

0.0.2

Highlights

Improve startup performance and markdown support (#5279 fe057300)

Improved markdown support

We now have better support for markdown in gr.Markdown and gr.Dataframe. Including syntax highlighting and Github Flavoured Markdown. We also have more consistent markdown behaviour and styling.

Various performance improvements

These improvements will be particularly beneficial to large applications.

  • Rather than attaching events manually, they are now delegated, leading to a significant performance improvement and addressing a performance regression introduced in a recent version of Gradio. App startup for large applications is now around twice as fast.
  • Optimised the mounting of individual components, leading to a modest performance improvement during startup (~30%).
  • Corrected an issue that was causing markdown to re-render infinitely.
  • Ensured that the gr.3DModel does re-render prematurely.

Thanks @pngwn!