b7f52be4c9
CI / Run CI (push) Has been cancelled
CI / check-backend (push) Has been cancelled
CI / check-frontend (push) Has been cancelled
CI / tests (push) Has been cancelled
CI / e2e-tests (push) Has been cancelled
Copilot Setup Steps / copilot-setup-steps (push) Has been cancelled
54 lines
1.7 KiB
Python
54 lines
1.7 KiB
Python
import os
|
|
|
|
import chainlit as cl
|
|
|
|
# Get the directory where the current script is located
|
|
current_directory = os.path.dirname(os.path.abspath(__file__))
|
|
# Construct the absolute path to the image file
|
|
cat_image_path = os.path.join(current_directory, "cat.jpeg")
|
|
pdf_path = os.path.join(current_directory, "dummy.pdf")
|
|
|
|
|
|
@cl.step(type="tool")
|
|
async def gen_img():
|
|
return cl.Image(path=cat_image_path, name="image1")
|
|
|
|
|
|
@cl.on_chat_start
|
|
async def start():
|
|
img = await gen_img()
|
|
|
|
# Element should not be inlined or referenced
|
|
await cl.Message(
|
|
content="Here is image1, a nice image of a cat!", elements=[img]
|
|
).send()
|
|
|
|
# Image should be inlined even if not referenced
|
|
await cl.Message(
|
|
content="Here a nice image of a cat! As well as text1 and text2!",
|
|
elements=[
|
|
cl.Image(path=cat_image_path, name="image1"),
|
|
cl.Pdf(path=pdf_path, name="pdf1"),
|
|
cl.Text(
|
|
content="Here is a side text document", name="text1", display="side"
|
|
),
|
|
cl.Text(
|
|
content="Here is a page text document", name="text2", display="page"
|
|
),
|
|
],
|
|
).send()
|
|
# Element references should work even if element names collide
|
|
await cl.Message(
|
|
content="Here a nice image of a cat! As well as text1 and text2!",
|
|
elements=[
|
|
cl.Image(path=cat_image_path, name="image1"),
|
|
cl.Pdf(path=pdf_path, name="pdf1"),
|
|
cl.Text(
|
|
content="Here is a side text document", name="text1", display="side"
|
|
),
|
|
cl.Text(
|
|
content="Here is a page text document", name="text2", display="page"
|
|
),
|
|
],
|
|
).send()
|