Spaces:
Sleeping
Sleeping
Commit
·
f0a9ca2
0
Parent(s):
Initial commit
Browse files- .chainlit/config.toml +91 -0
- .chainlit/translations/bn.json +214 -0
- .chainlit/translations/en-US.json +214 -0
- .chainlit/translations/gu.json +214 -0
- .chainlit/translations/he-IL.json +214 -0
- .chainlit/translations/hi.json +214 -0
- .chainlit/translations/ja.json +214 -0
- .chainlit/translations/kn.json +214 -0
- .chainlit/translations/ml.json +214 -0
- .chainlit/translations/mr.json +214 -0
- .chainlit/translations/nl-NL.json +214 -0
- .chainlit/translations/ta.json +214 -0
- .chainlit/translations/te.json +214 -0
- .chainlit/translations/zh-CN.json +214 -0
- .env.sample +3 -0
- .gitignore +11 -0
- .python-version +1 -0
- Dockerfile +29 -0
- README.md +8 -0
- app.py +159 -0
- chainlit.md +14 -0
- data/2023_llms.html +472 -0
- data/2024_llms.html +667 -0
- pyproject.toml +30 -0
- uv.lock +0 -0
.chainlit/config.toml
ADDED
@@ -0,0 +1,91 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[project]
|
2 |
+
# Whether to enable telemetry (default: true). No personal data is collected.
|
3 |
+
enable_telemetry = true
|
4 |
+
|
5 |
+
|
6 |
+
# List of environment variables to be provided by each user to use the app.
|
7 |
+
user_env = []
|
8 |
+
|
9 |
+
# Duration (in seconds) during which the session is saved when the connection is lost
|
10 |
+
session_timeout = 3600
|
11 |
+
|
12 |
+
# Duration (in seconds) of the user session expiry
|
13 |
+
user_session_timeout = 1296000 # 15 days
|
14 |
+
|
15 |
+
# Enable third parties caching (e.g LangChain cache)
|
16 |
+
cache = false
|
17 |
+
|
18 |
+
# Authorized origins
|
19 |
+
allow_origins = ["*"]
|
20 |
+
|
21 |
+
[features]
|
22 |
+
# Process and display HTML in messages. This can be a security risk (see https://stackoverflow.com/questions/19603097/why-is-it-dangerous-to-render-user-generated-html-or-javascript)
|
23 |
+
unsafe_allow_html = false
|
24 |
+
|
25 |
+
# Process and display mathematical expressions. This can clash with "$" characters in messages.
|
26 |
+
latex = false
|
27 |
+
|
28 |
+
# Automatically tag threads with the current chat profile (if a chat profile is used)
|
29 |
+
auto_tag_thread = true
|
30 |
+
|
31 |
+
# Allow users to edit their own messages
|
32 |
+
edit_message = true
|
33 |
+
|
34 |
+
# Authorize users to spontaneously upload files with messages
|
35 |
+
[features.spontaneous_file_upload]
|
36 |
+
enabled = true
|
37 |
+
# Define accepted file types using MIME types
|
38 |
+
# Examples:
|
39 |
+
# 1. For specific file types:
|
40 |
+
# accept = ["image/jpeg", "image/png", "application/pdf"]
|
41 |
+
# 2. For all files of certain type:
|
42 |
+
# accept = ["image/*", "audio/*", "video/*"]
|
43 |
+
# 3. For specific file extensions:
|
44 |
+
# accept = { "application/octet-stream" = [".xyz", ".pdb"] }
|
45 |
+
# Note: Using "*/*" is not recommended as it may cause browser warnings
|
46 |
+
accept = ["*/*"]
|
47 |
+
max_files = 20
|
48 |
+
max_size_mb = 500
|
49 |
+
|
50 |
+
[features.audio]
|
51 |
+
# Sample rate of the audio
|
52 |
+
sample_rate = 24000
|
53 |
+
|
54 |
+
[UI]
|
55 |
+
# Name of the assistant.
|
56 |
+
name = "Assistant"
|
57 |
+
|
58 |
+
# default_theme = "dark"
|
59 |
+
|
60 |
+
# layout = "wide"
|
61 |
+
|
62 |
+
# Description of the assistant. This is used for HTML tags.
|
63 |
+
# description = ""
|
64 |
+
|
65 |
+
# Chain of Thought (CoT) display mode. Can be "hidden", "tool_call" or "full".
|
66 |
+
cot = "full"
|
67 |
+
|
68 |
+
# Specify a CSS file that can be used to customize the user interface.
|
69 |
+
# The CSS file can be served from the public directory or via an external link.
|
70 |
+
# custom_css = "/public/test.css"
|
71 |
+
|
72 |
+
# Specify a Javascript file that can be used to customize the user interface.
|
73 |
+
# The Javascript file can be served from the public directory.
|
74 |
+
# custom_js = "/public/test.js"
|
75 |
+
|
76 |
+
# Specify a custom meta image url.
|
77 |
+
# custom_meta_image_url = "https://chainlit-cloud.s3.eu-west-3.amazonaws.com/logo/chainlit_banner.png"
|
78 |
+
|
79 |
+
# Specify a custom build directory for the frontend.
|
80 |
+
# This can be used to customize the frontend code.
|
81 |
+
# Be careful: If this is a relative path, it should not start with a slash.
|
82 |
+
# custom_build = "./public/build"
|
83 |
+
|
84 |
+
# Specify optional one or more custom links in the header.
|
85 |
+
# [[UI.header_links]]
|
86 |
+
# name = "Issues"
|
87 |
+
# icon_url = "https://avatars.githubusercontent.com/u/128686189?s=200&v=4"
|
88 |
+
# url = "https://github.com/Chainlit/chainlit/issues"
|
89 |
+
|
90 |
+
[meta]
|
91 |
+
generated_by = "2.2.1"
|
.chainlit/translations/bn.json
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"common": {
|
3 |
+
"actions": {
|
4 |
+
"cancel": "\u09ac\u09be\u09a4\u09bf\u09b2 \u0995\u09b0\u09c1\u09a8",
|
5 |
+
"confirm": "\u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4 \u0995\u09b0\u09c1\u09a8",
|
6 |
+
"continue": "\u099a\u09be\u09b2\u09bf\u09af\u09bc\u09c7 \u09af\u09be\u09a8",
|
7 |
+
"goBack": "\u09aa\u09bf\u099b\u09a8\u09c7 \u09af\u09be\u09a8",
|
8 |
+
"reset": "\u09b0\u09bf\u09b8\u09c7\u099f \u0995\u09b0\u09c1\u09a8",
|
9 |
+
"submit": "\u099c\u09ae\u09be \u09a6\u09bf\u09a8"
|
10 |
+
},
|
11 |
+
"status": {
|
12 |
+
"loading": "\u09b2\u09cb\u09a1 \u09b9\u099a\u09cd\u099b\u09c7...",
|
13 |
+
"error": {
|
14 |
+
"default": "\u098f\u0995\u099f\u09bf \u09a4\u09cd\u09b0\u09c1\u099f\u09bf \u0998\u099f\u09c7\u099b\u09c7",
|
15 |
+
"serverConnection": "\u09b8\u09be\u09b0\u09cd\u09ad\u09be\u09b0\u09c7\u09b0 \u09b8\u09be\u09a5\u09c7 \u09b8\u0982\u09af\u09cb\u0997 \u0995\u09b0\u09be \u09af\u09be\u099a\u09cd\u099b\u09c7 \u09a8\u09be"
|
16 |
+
}
|
17 |
+
}
|
18 |
+
},
|
19 |
+
"auth": {
|
20 |
+
"login": {
|
21 |
+
"title": "\u0985\u09cd\u09af\u09be\u09aa\u09cd\u09b2\u09bf\u0995\u09c7\u09b6\u09a8 \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09a4\u09c7 \u09b2\u0997\u0987\u09a8 \u0995\u09b0\u09c1\u09a8",
|
22 |
+
"form": {
|
23 |
+
"email": {
|
24 |
+
"label": "\u0987\u09ae\u09c7\u0987\u09b2 \u09a0\u09bf\u0995\u09be\u09a8\u09be",
|
25 |
+
"required": "\u0987\u09ae\u09c7\u0987\u09b2 \u098f\u0995\u099f\u09bf \u0986\u09ac\u09b6\u09cd\u09af\u0995 \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0"
|
26 |
+
},
|
27 |
+
"password": {
|
28 |
+
"label": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1",
|
29 |
+
"required": "\u09aa\u09be\u09b8\u0993\u09af\u09bc\u09be\u09b0\u09cd\u09a1 \u098f\u0995\u099f\u09bf \u0986\u09ac\u09b6\u09cd\u09af\u0995 \u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09b0"
|
30 |
+
},
|
31 |
+
"actions": {
|
32 |
+
"signin": "\u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09c1\u09a8"
|
33 |
+
},
|
34 |
+
"alternativeText": {
|
35 |
+
"or": "\u0985\u09a5\u09ac\u09be"
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"errors": {
|
39 |
+
"default": "\u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be \u09b8\u09ae\u09cd\u09ad\u09ac \u09b9\u099a\u09cd\u099b\u09c7 \u09a8\u09be",
|
40 |
+
"signin": "\u0985\u09a8\u09cd\u09af \u098f\u0995\u099f\u09bf \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8",
|
41 |
+
"oauthSignin": "\u0985\u09a8\u09cd\u09af \u098f\u0995\u099f\u09bf \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8",
|
42 |
+
"redirectUriMismatch": "\u09b0\u09bf\u09a1\u09be\u0987\u09b0\u09c7\u0995\u09cd\u099f URI \u0993\u0986\u09a5 \u0985\u09cd\u09af\u09be\u09aa \u0995\u09a8\u09ab\u09bf\u0997\u09be\u09b0\u09c7\u09b6\u09a8\u09c7\u09b0 \u09b8\u09be\u09a5\u09c7 \u09ae\u09bf\u09b2\u099b\u09c7 \u09a8\u09be",
|
43 |
+
"oauthCallback": "\u0985\u09a8\u09cd\u09af \u098f\u0995\u099f\u09bf \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8",
|
44 |
+
"oauthCreateAccount": "\u0985\u09a8\u09cd\u09af \u098f\u0995\u099f\u09bf \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8",
|
45 |
+
"emailCreateAccount": "\u0985\u09a8\u09cd\u09af \u098f\u0995\u099f\u09bf \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8",
|
46 |
+
"callback": "\u0985\u09a8\u09cd\u09af \u098f\u0995\u099f\u09bf \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09be\u09b0 \u099a\u09c7\u09b7\u09cd\u099f\u09be \u0995\u09b0\u09c1\u09a8",
|
47 |
+
"oauthAccountNotLinked": "\u0986\u09aa\u09a8\u09be\u09b0 \u09aa\u09b0\u09bf\u099a\u09af\u09bc \u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4 \u0995\u09b0\u09a4\u09c7, \u0986\u09aa\u09a8\u09bf \u09af\u09c7 \u0985\u09cd\u09af\u09be\u0995\u09be\u0989\u09a8\u09cd\u099f\u099f\u09bf \u09ae\u09c2\u09b2\u09a4 \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c7\u099b\u09bf\u09b2\u09c7\u09a8 \u09b8\u09c7\u099f\u09bf \u09a6\u09bf\u09af\u09bc\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09c1\u09a8",
|
48 |
+
"emailSignin": "\u0987\u09ae\u09c7\u0987\u09b2 \u09aa\u09be\u09a0\u09be\u09a8\u09cb \u09af\u09be\u09af\u09bc\u09a8\u09bf",
|
49 |
+
"emailVerify": "\u0985\u09a8\u09c1\u0997\u09cd\u09b0\u09b9 \u0995\u09b0\u09c7 \u0986\u09aa\u09a8\u09be\u09b0 \u0987\u09ae\u09c7\u0987\u09b2 \u09af\u09be\u099a\u09be\u0987 \u0995\u09b0\u09c1\u09a8, \u098f\u0995\u099f\u09bf \u09a8\u09a4\u09c1\u09a8 \u0987\u09ae\u09c7\u0987\u09b2 \u09aa\u09be\u09a0\u09be\u09a8\u09cb \u09b9\u09af\u09bc\u09c7\u099b\u09c7",
|
50 |
+
"credentialsSignin": "\u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u09ac\u09cd\u09af\u09b0\u09cd\u09a5 \u09b9\u09af\u09bc\u09c7\u099b\u09c7\u0964 \u0986\u09aa\u09a8\u09be\u09b0 \u09a6\u09c7\u0993\u09af\u09bc\u09be \u09a4\u09a5\u09cd\u09af \u09b8\u09a0\u09bf\u0995 \u0995\u09bf\u09a8\u09be \u09af\u09be\u099a\u09be\u0987 \u0995\u09b0\u09c1\u09a8",
|
51 |
+
"sessionRequired": "\u098f\u0987 \u09aa\u09c3\u09b7\u09cd\u09a0\u09be \u09a6\u09c7\u0996\u09a4\u09c7 \u0985\u09a8\u09c1\u0997\u09cd\u09b0\u09b9 \u0995\u09b0\u09c7 \u09b8\u09be\u0987\u09a8 \u0987\u09a8 \u0995\u09b0\u09c1\u09a8"
|
52 |
+
}
|
53 |
+
},
|
54 |
+
"provider": {
|
55 |
+
"continue": "{{provider}} \u09a6\u09bf\u09af\u09bc\u09c7 \u099a\u09be\u09b2\u09bf\u09af\u09bc\u09c7 \u09af\u09be\u09a8"
|
56 |
+
}
|
57 |
+
},
|
58 |
+
"chat": {
|
59 |
+
"input": {
|
60 |
+
"placeholder": "\u0986\u09aa\u09a8\u09be\u09b0 \u09ac\u09be\u09b0\u09cd\u09a4\u09be \u098f\u0996\u09be\u09a8\u09c7 \u099f\u09be\u0987\u09aa \u0995\u09b0\u09c1\u09a8...",
|
61 |
+
"actions": {
|
62 |
+
"send": "\u09ac\u09be\u09b0\u09cd\u09a4\u09be \u09aa\u09be\u09a0\u09be\u09a8",
|
63 |
+
"stop": "\u0995\u09be\u099c \u09ac\u09a8\u09cd\u09a7 \u0995\u09b0\u09c1\u09a8",
|
64 |
+
"attachFiles": "\u09ab\u09be\u0987\u09b2 \u09b8\u0982\u09af\u09c1\u0995\u09cd\u09a4 \u0995\u09b0\u09c1\u09a8"
|
65 |
+
}
|
66 |
+
},
|
67 |
+
"speech": {
|
68 |
+
"start": "\u09b0\u09c7\u0995\u09b0\u09cd\u09a1\u09bf\u0982 \u09b6\u09c1\u09b0\u09c1 \u0995\u09b0\u09c1\u09a8",
|
69 |
+
"stop": "\u09b0\u09c7\u0995\u09b0\u09cd\u09a1\u09bf\u0982 \u09ac\u09a8\u09cd\u09a7 \u0995\u09b0\u09c1\u09a8",
|
70 |
+
"connecting": "\u09b8\u0982\u09af\u09cb\u0997 \u0995\u09b0\u09be \u09b9\u099a\u09cd\u099b\u09c7"
|
71 |
+
},
|
72 |
+
"fileUpload": {
|
73 |
+
"dragDrop": "\u098f\u0996\u09be\u09a8\u09c7 \u09ab\u09be\u0987\u09b2 \u099f\u09c7\u09a8\u09c7 \u0986\u09a8\u09c1\u09a8",
|
74 |
+
"browse": "\u09ab\u09be\u0987\u09b2 \u09ac\u09cd\u09b0\u09be\u0989\u099c \u0995\u09b0\u09c1\u09a8",
|
75 |
+
"sizeLimit": "\u09b8\u09c0\u09ae\u09be:",
|
76 |
+
"errors": {
|
77 |
+
"failed": "\u0986\u09aa\u09b2\u09cb\u09a1 \u09ac\u09cd\u09af\u09b0\u09cd\u09a5 \u09b9\u09af\u09bc\u09c7\u099b\u09c7",
|
78 |
+
"cancelled": "\u0986\u09aa\u09b2\u09cb\u09a1 \u09ac\u09be\u09a4\u09bf\u09b2 \u0995\u09b0\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09c7"
|
79 |
+
}
|
80 |
+
},
|
81 |
+
"messages": {
|
82 |
+
"status": {
|
83 |
+
"using": "\u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u099b\u09c7",
|
84 |
+
"used": "\u09ac\u09cd\u09af\u09ac\u09b9\u09c3\u09a4"
|
85 |
+
},
|
86 |
+
"actions": {
|
87 |
+
"copy": {
|
88 |
+
"button": "\u0995\u09cd\u09b2\u09bf\u09aa\u09ac\u09cb\u09b0\u09cd\u09a1\u09c7 \u0995\u09aa\u09bf \u0995\u09b0\u09c1\u09a8",
|
89 |
+
"success": "\u0995\u09aa\u09bf \u0995\u09b0\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09c7!"
|
90 |
+
}
|
91 |
+
},
|
92 |
+
"feedback": {
|
93 |
+
"positive": "\u09b8\u09b9\u09be\u09af\u09bc\u0995",
|
94 |
+
"negative": "\u09b8\u09b9\u09be\u09af\u09bc\u0995 \u09a8\u09af\u09bc",
|
95 |
+
"edit": "\u09aa\u09cd\u09b0\u09a4\u09bf\u0995\u09cd\u09b0\u09bf\u09af\u09bc\u09be \u09b8\u09ae\u09cd\u09aa\u09be\u09a6\u09a8\u09be \u0995\u09b0\u09c1\u09a8",
|
96 |
+
"dialog": {
|
97 |
+
"title": "\u09ae\u09a8\u09cd\u09a4\u09ac\u09cd\u09af \u09af\u09cb\u0997 \u0995\u09b0\u09c1\u09a8",
|
98 |
+
"submit": "\u09aa\u09cd\u09b0\u09a4\u09bf\u0995\u09cd\u09b0\u09bf\u09af\u09bc\u09be \u099c\u09ae\u09be \u09a6\u09bf\u09a8"
|
99 |
+
},
|
100 |
+
"status": {
|
101 |
+
"updating": "\u09b9\u09be\u09b2\u09a8\u09be\u0997\u09be\u09a6 \u0995\u09b0\u09be \u09b9\u099a\u09cd\u099b\u09c7",
|
102 |
+
"updated": "\u09aa\u09cd\u09b0\u09a4\u09bf\u0995\u09cd\u09b0\u09bf\u09af\u09bc\u09be \u09b9\u09be\u09b2\u09a8\u09be\u0997\u09be\u09a6 \u0995\u09b0\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09c7"
|
103 |
+
}
|
104 |
+
}
|
105 |
+
},
|
106 |
+
"history": {
|
107 |
+
"title": "\u09b8\u09b0\u09cd\u09ac\u09b6\u09c7\u09b7 \u0987\u09a8\u09aa\u09c1\u099f",
|
108 |
+
"empty": "\u0995\u09cb\u09a8\u09cb \u09a4\u09a5\u09cd\u09af \u09a8\u09c7\u0987...",
|
109 |
+
"show": "\u0987\u09a4\u09bf\u09b9\u09be\u09b8 \u09a6\u09c7\u0996\u09c1\u09a8"
|
110 |
+
},
|
111 |
+
"settings": {
|
112 |
+
"title": "\u09b8\u09c7\u099f\u09bf\u0982\u09b8 \u09aa\u09cd\u09af\u09be\u09a8\u09c7\u09b2"
|
113 |
+
},
|
114 |
+
"watermark": "\u09a6\u09cd\u09ac\u09be\u09b0\u09be \u09a8\u09bf\u09b0\u09cd\u09ae\u09bf\u09a4"
|
115 |
+
},
|
116 |
+
"threadHistory": {
|
117 |
+
"sidebar": {
|
118 |
+
"title": "\u09aa\u09c2\u09b0\u09cd\u09ac\u09ac\u09b0\u09cd\u09a4\u09c0 \u099a\u09cd\u09af\u09be\u099f",
|
119 |
+
"filters": {
|
120 |
+
"search": "\u0985\u09a8\u09c1\u09b8\u09a8\u09cd\u09a7\u09be\u09a8",
|
121 |
+
"placeholder": "Search conversations..."
|
122 |
+
},
|
123 |
+
"timeframes": {
|
124 |
+
"today": "\u0986\u099c",
|
125 |
+
"yesterday": "\u0997\u09a4\u0995\u09be\u09b2",
|
126 |
+
"previous7days": "\u0997\u09a4 \u09ed \u09a6\u09bf\u09a8",
|
127 |
+
"previous30days": "\u0997\u09a4 \u09e9\u09e6 \u09a6\u09bf\u09a8"
|
128 |
+
},
|
129 |
+
"empty": "\u0995\u09cb\u09a8\u09cb \u09a5\u09cd\u09b0\u09c7\u09a1 \u09aa\u09be\u0993\u09af\u09bc\u09be \u09af\u09be\u09af\u09bc\u09a8\u09bf",
|
130 |
+
"actions": {
|
131 |
+
"close": "\u09b8\u09be\u0987\u09a1\u09ac\u09be\u09b0 \u09ac\u09a8\u09cd\u09a7 \u0995\u09b0\u09c1\u09a8",
|
132 |
+
"open": "\u09b8\u09be\u0987\u09a1\u09ac\u09be\u09b0 \u0996\u09c1\u09b2\u09c1\u09a8"
|
133 |
+
}
|
134 |
+
},
|
135 |
+
"thread": {
|
136 |
+
"untitled": "\u09b6\u09bf\u09b0\u09cb\u09a8\u09be\u09ae\u09b9\u09c0\u09a8 \u0986\u09b2\u09cb\u099a\u09a8\u09be",
|
137 |
+
"menu": {
|
138 |
+
"rename": "Rename",
|
139 |
+
"delete": "Delete"
|
140 |
+
},
|
141 |
+
"actions": {
|
142 |
+
"delete": {
|
143 |
+
"title": "\u09ae\u09c1\u099b\u09c7 \u09ab\u09c7\u09b2\u09be \u09a8\u09bf\u09b6\u09cd\u099a\u09bf\u09a4 \u0995\u09b0\u09c1\u09a8",
|
144 |
+
"description": "\u098f\u099f\u09bf \u09a5\u09cd\u09b0\u09c7\u09a1 \u098f\u09ac\u0982 \u098f\u09b0 \u09ac\u09be\u09b0\u09cd\u09a4\u09be \u0993 \u0989\u09aa\u09be\u09a6\u09be\u09a8\u0997\u09c1\u09b2\u09bf \u09ae\u09c1\u099b\u09c7 \u09ab\u09c7\u09b2\u09ac\u09c7\u0964 \u098f\u0987 \u0995\u09be\u099c\u099f\u09bf \u09aa\u09c2\u09b0\u09cd\u09ac\u09be\u09ac\u09b8\u09cd\u09a5\u09be\u09af\u09bc \u09ab\u09c7\u09b0\u09be\u09a8\u09cb \u09af\u09be\u09ac\u09c7 \u09a8\u09be",
|
145 |
+
"success": "\u099a\u09cd\u09af\u09be\u099f \u09ae\u09c1\u099b\u09c7 \u09ab\u09c7\u09b2\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09c7",
|
146 |
+
"inProgress": "\u099a\u09cd\u09af\u09be\u099f \u09ae\u09c1\u099b\u09c7 \u09ab\u09c7\u09b2\u09be \u09b9\u099a\u09cd\u099b\u09c7"
|
147 |
+
},
|
148 |
+
"rename": {
|
149 |
+
"title": "\u09a5\u09cd\u09b0\u09c7\u09a1\u09c7\u09b0 \u09a8\u09be\u09ae \u09aa\u09b0\u09bf\u09ac\u09b0\u09cd\u09a4\u09a8 \u0995\u09b0\u09c1\u09a8",
|
150 |
+
"description": "\u098f\u0987 \u09a5\u09cd\u09b0\u09c7\u09a1\u09c7\u09b0 \u099c\u09a8\u09cd\u09af \u098f\u0995\u099f\u09bf \u09a8\u09a4\u09c1\u09a8 \u09a8\u09be\u09ae \u09a6\u09bf\u09a8",
|
151 |
+
"form": {
|
152 |
+
"name": {
|
153 |
+
"label": "\u09a8\u09be\u09ae",
|
154 |
+
"placeholder": "\u09a8\u09a4\u09c1\u09a8 \u09a8\u09be\u09ae \u09b2\u09bf\u0996\u09c1\u09a8"
|
155 |
+
}
|
156 |
+
},
|
157 |
+
"success": "\u09a5\u09cd\u09b0\u09c7\u09a1\u09c7\u09b0 \u09a8\u09be\u09ae \u09aa\u09b0\u09bf\u09ac\u09b0\u09cd\u09a4\u09a8 \u0995\u09b0\u09be \u09b9\u09af\u09bc\u09c7\u099b\u09c7!",
|
158 |
+
"inProgress": "\u09a5\u09cd\u09b0\u09c7\u09a1\u09c7\u09b0 \u09a8\u09be\u09ae \u09aa\u09b0\u09bf\u09ac\u09b0\u09cd\u09a4\u09a8 \u0995\u09b0\u09be \u09b9\u099a\u09cd\u099b\u09c7"
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
},
|
163 |
+
"navigation": {
|
164 |
+
"header": {
|
165 |
+
"chat": "\u099a\u09cd\u09af\u09be\u099f",
|
166 |
+
"readme": "\u09b0\u09bf\u09a1\u09ae\u09bf",
|
167 |
+
"theme": {
|
168 |
+
"light": "Light Theme",
|
169 |
+
"dark": "Dark Theme",
|
170 |
+
"system": "Follow System"
|
171 |
+
}
|
172 |
+
},
|
173 |
+
"newChat": {
|
174 |
+
"button": "\u09a8\u09a4\u09c1\u09a8 \u099a\u09cd\u09af\u09be\u099f",
|
175 |
+
"dialog": {
|
176 |
+
"title": "\u09a8\u09a4\u09c1\u09a8 \u099a\u09cd\u09af\u09be\u099f \u09a4\u09c8\u09b0\u09bf \u0995\u09b0\u09c1\u09a8",
|
177 |
+
"description": "\u098f\u099f\u09bf \u0986\u09aa\u09a8\u09be\u09b0 \u09ac\u09b0\u09cd\u09a4\u09ae\u09be\u09a8 \u099a\u09cd\u09af\u09be\u099f \u0987\u09a4\u09bf\u09b9\u09be\u09b8 \u09ae\u09c1\u099b\u09c7 \u09ab\u09c7\u09b2\u09ac\u09c7\u0964 \u0986\u09aa\u09a8\u09bf \u0995\u09bf \u099a\u09be\u09b2\u09bf\u09af\u09bc\u09c7 \u09af\u09c7\u09a4\u09c7 \u099a\u09be\u09a8?",
|
178 |
+
"tooltip": "\u09a8\u09a4\u09c1\u09a8 \u099a\u09cd\u09af\u09be\u099f"
|
179 |
+
}
|
180 |
+
},
|
181 |
+
"user": {
|
182 |
+
"menu": {
|
183 |
+
"settings": "\u09b8\u09c7\u099f\u09bf\u0982\u09b8",
|
184 |
+
"settingsKey": "S",
|
185 |
+
"apiKeys": "\u098f\u09aa\u09bf\u0986\u0987 \u0995\u09c0",
|
186 |
+
"logout": "\u09b2\u0997\u0986\u0989\u099f"
|
187 |
+
}
|
188 |
+
}
|
189 |
+
},
|
190 |
+
"apiKeys": {
|
191 |
+
"title": "\u09aa\u09cd\u09b0\u09af\u09bc\u09cb\u099c\u09a8\u09c0\u09af\u09bc \u098f\u09aa\u09bf\u0986\u0987 \u0995\u09c0",
|
192 |
+
"description": "\u098f\u0987 \u0985\u09cd\u09af\u09be\u09aa\u09cd\u09b2\u09bf\u0995\u09c7\u09b6\u09a8 \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09a4\u09c7 \u09a8\u09bf\u09ae\u09cd\u09a8\u09b2\u09bf\u0996\u09bf\u09a4 \u098f\u09aa\u09bf\u0986\u0987 \u0995\u09c0 \u09aa\u09cd\u09b0\u09af\u09bc\u09cb\u099c\u09a8\u0964 \u0995\u09c0\u0997\u09c1\u09b2\u09bf \u0986\u09aa\u09a8\u09be\u09b0 \u09a1\u09bf\u09ad\u09be\u0987\u09b8\u09c7\u09b0 \u09b2\u09cb\u0995\u09be\u09b2 \u09b8\u09cd\u099f\u09cb\u09b0\u09c7\u099c\u09c7 \u09b8\u0982\u09b0\u0995\u09cd\u09b7\u09bf\u09a4 \u09a5\u09be\u0995\u09c7\u0964",
|
193 |
+
"success": {
|
194 |
+
"saved": "\u09b8\u09ab\u09b2\u09ad\u09be\u09ac\u09c7 \u09b8\u0982\u09b0\u0995\u09cd\u09b7\u09bf\u09a4 \u09b9\u09af\u09bc\u09c7\u099b\u09c7"
|
195 |
+
}
|
196 |
+
},
|
197 |
+
"alerts": {
|
198 |
+
"info": "Info",
|
199 |
+
"note": "Note",
|
200 |
+
"tip": "Tip",
|
201 |
+
"important": "Important",
|
202 |
+
"warning": "Warning",
|
203 |
+
"caution": "Caution",
|
204 |
+
"debug": "Debug",
|
205 |
+
"example": "Example",
|
206 |
+
"success": "Success",
|
207 |
+
"help": "Help",
|
208 |
+
"idea": "Idea",
|
209 |
+
"pending": "Pending",
|
210 |
+
"security": "Security",
|
211 |
+
"beta": "Beta",
|
212 |
+
"best-practice": "Best Practice"
|
213 |
+
}
|
214 |
+
}
|
.chainlit/translations/en-US.json
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"common": {
|
3 |
+
"actions": {
|
4 |
+
"cancel": "Cancel",
|
5 |
+
"confirm": "Confirm",
|
6 |
+
"continue": "Continue",
|
7 |
+
"goBack": "Go Back",
|
8 |
+
"reset": "Reset",
|
9 |
+
"submit": "Submit"
|
10 |
+
},
|
11 |
+
"status": {
|
12 |
+
"loading": "Loading...",
|
13 |
+
"error": {
|
14 |
+
"default": "An error occurred",
|
15 |
+
"serverConnection": "Could not reach the server"
|
16 |
+
}
|
17 |
+
}
|
18 |
+
},
|
19 |
+
"auth": {
|
20 |
+
"login": {
|
21 |
+
"title": "Login to access the app",
|
22 |
+
"form": {
|
23 |
+
"email": {
|
24 |
+
"label": "Email address",
|
25 |
+
"required": "email is a required field"
|
26 |
+
},
|
27 |
+
"password": {
|
28 |
+
"label": "Password",
|
29 |
+
"required": "password is a required field"
|
30 |
+
},
|
31 |
+
"actions": {
|
32 |
+
"signin": "Sign In"
|
33 |
+
},
|
34 |
+
"alternativeText": {
|
35 |
+
"or": "OR"
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"errors": {
|
39 |
+
"default": "Unable to sign in",
|
40 |
+
"signin": "Try signing in with a different account",
|
41 |
+
"oauthSignin": "Try signing in with a different account",
|
42 |
+
"redirectUriMismatch": "The redirect URI is not matching the oauth app configuration",
|
43 |
+
"oauthCallback": "Try signing in with a different account",
|
44 |
+
"oauthCreateAccount": "Try signing in with a different account",
|
45 |
+
"emailCreateAccount": "Try signing in with a different account",
|
46 |
+
"callback": "Try signing in with a different account",
|
47 |
+
"oauthAccountNotLinked": "To confirm your identity, sign in with the same account you used originally",
|
48 |
+
"emailSignin": "The e-mail could not be sent",
|
49 |
+
"emailVerify": "Please verify your email, a new email has been sent",
|
50 |
+
"credentialsSignin": "Sign in failed. Check the details you provided are correct",
|
51 |
+
"sessionRequired": "Please sign in to access this page"
|
52 |
+
}
|
53 |
+
},
|
54 |
+
"provider": {
|
55 |
+
"continue": "Continue with {{provider}}"
|
56 |
+
}
|
57 |
+
},
|
58 |
+
"chat": {
|
59 |
+
"input": {
|
60 |
+
"placeholder": "Type your message here...",
|
61 |
+
"actions": {
|
62 |
+
"send": "Send message",
|
63 |
+
"stop": "Stop Task",
|
64 |
+
"attachFiles": "Attach files"
|
65 |
+
}
|
66 |
+
},
|
67 |
+
"speech": {
|
68 |
+
"start": "Start recording",
|
69 |
+
"stop": "Stop recording",
|
70 |
+
"connecting": "Connecting"
|
71 |
+
},
|
72 |
+
"fileUpload": {
|
73 |
+
"dragDrop": "Drag and drop files here",
|
74 |
+
"browse": "Browse Files",
|
75 |
+
"sizeLimit": "Limit:",
|
76 |
+
"errors": {
|
77 |
+
"failed": "Failed to upload",
|
78 |
+
"cancelled": "Cancelled upload of"
|
79 |
+
}
|
80 |
+
},
|
81 |
+
"messages": {
|
82 |
+
"status": {
|
83 |
+
"using": "Using",
|
84 |
+
"used": "Used"
|
85 |
+
},
|
86 |
+
"actions": {
|
87 |
+
"copy": {
|
88 |
+
"button": "Copy to clipboard",
|
89 |
+
"success": "Copied!"
|
90 |
+
}
|
91 |
+
},
|
92 |
+
"feedback": {
|
93 |
+
"positive": "Helpful",
|
94 |
+
"negative": "Not helpful",
|
95 |
+
"edit": "Edit feedback",
|
96 |
+
"dialog": {
|
97 |
+
"title": "Add a comment",
|
98 |
+
"submit": "Submit feedback"
|
99 |
+
},
|
100 |
+
"status": {
|
101 |
+
"updating": "Updating",
|
102 |
+
"updated": "Feedback updated"
|
103 |
+
}
|
104 |
+
}
|
105 |
+
},
|
106 |
+
"history": {
|
107 |
+
"title": "Last Inputs",
|
108 |
+
"empty": "Such empty...",
|
109 |
+
"show": "Show history"
|
110 |
+
},
|
111 |
+
"settings": {
|
112 |
+
"title": "Settings panel"
|
113 |
+
},
|
114 |
+
"watermark": "Built with"
|
115 |
+
},
|
116 |
+
"threadHistory": {
|
117 |
+
"sidebar": {
|
118 |
+
"title": "Past Chats",
|
119 |
+
"filters": {
|
120 |
+
"search": "Search",
|
121 |
+
"placeholder": "Search conversations..."
|
122 |
+
},
|
123 |
+
"timeframes": {
|
124 |
+
"today": "Today",
|
125 |
+
"yesterday": "Yesterday",
|
126 |
+
"previous7days": "Previous 7 days",
|
127 |
+
"previous30days": "Previous 30 days"
|
128 |
+
},
|
129 |
+
"empty": "No threads found",
|
130 |
+
"actions": {
|
131 |
+
"close": "Close sidebar",
|
132 |
+
"open": "Open sidebar"
|
133 |
+
}
|
134 |
+
},
|
135 |
+
"thread": {
|
136 |
+
"untitled": "Untitled Conversation",
|
137 |
+
"menu": {
|
138 |
+
"rename": "Rename",
|
139 |
+
"delete": "Delete"
|
140 |
+
},
|
141 |
+
"actions": {
|
142 |
+
"delete": {
|
143 |
+
"title": "Confirm deletion",
|
144 |
+
"description": "This will delete the thread as well as its messages and elements. This action cannot be undone",
|
145 |
+
"success": "Chat deleted",
|
146 |
+
"inProgress": "Deleting chat"
|
147 |
+
},
|
148 |
+
"rename": {
|
149 |
+
"title": "Rename Thread",
|
150 |
+
"description": "Enter a new name for this thread",
|
151 |
+
"form": {
|
152 |
+
"name": {
|
153 |
+
"label": "Name",
|
154 |
+
"placeholder": "Enter new name"
|
155 |
+
}
|
156 |
+
},
|
157 |
+
"success": "Thread renamed!",
|
158 |
+
"inProgress": "Renaming thread"
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
},
|
163 |
+
"navigation": {
|
164 |
+
"header": {
|
165 |
+
"chat": "Chat",
|
166 |
+
"readme": "Readme",
|
167 |
+
"theme": {
|
168 |
+
"light": "Light Theme",
|
169 |
+
"dark": "Dark Theme",
|
170 |
+
"system": "Follow System"
|
171 |
+
}
|
172 |
+
},
|
173 |
+
"newChat": {
|
174 |
+
"button": "New Chat",
|
175 |
+
"dialog": {
|
176 |
+
"title": "Create New Chat",
|
177 |
+
"description": "This will clear your current chat history. Are you sure you want to continue?",
|
178 |
+
"tooltip": "New Chat"
|
179 |
+
}
|
180 |
+
},
|
181 |
+
"user": {
|
182 |
+
"menu": {
|
183 |
+
"settings": "Settings",
|
184 |
+
"settingsKey": "S",
|
185 |
+
"apiKeys": "API Keys",
|
186 |
+
"logout": "Logout"
|
187 |
+
}
|
188 |
+
}
|
189 |
+
},
|
190 |
+
"apiKeys": {
|
191 |
+
"title": "Required API Keys",
|
192 |
+
"description": "To use this app, the following API keys are required. The keys are stored on your device's local storage.",
|
193 |
+
"success": {
|
194 |
+
"saved": "Saved successfully"
|
195 |
+
}
|
196 |
+
},
|
197 |
+
"alerts": {
|
198 |
+
"info": "Info",
|
199 |
+
"note": "Note",
|
200 |
+
"tip": "Tip",
|
201 |
+
"important": "Important",
|
202 |
+
"warning": "Warning",
|
203 |
+
"caution": "Caution",
|
204 |
+
"debug": "Debug",
|
205 |
+
"example": "Example",
|
206 |
+
"success": "Success",
|
207 |
+
"help": "Help",
|
208 |
+
"idea": "Idea",
|
209 |
+
"pending": "Pending",
|
210 |
+
"security": "Security",
|
211 |
+
"beta": "Beta",
|
212 |
+
"best-practice": "Best Practice"
|
213 |
+
}
|
214 |
+
}
|
.chainlit/translations/gu.json
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"common": {
|
3 |
+
"actions": {
|
4 |
+
"cancel": "\u0ab0\u0aa6 \u0a95\u0ab0\u0acb",
|
5 |
+
"confirm": "\u0aaa\u0ac1\u0ab7\u0acd\u0a9f\u0abf \u0a95\u0ab0\u0acb",
|
6 |
+
"continue": "\u0a9a\u0abe\u0ab2\u0ac1 \u0ab0\u0abe\u0a96\u0acb",
|
7 |
+
"goBack": "\u0aaa\u0abe\u0a9b\u0abe \u0a9c\u0abe\u0a93",
|
8 |
+
"reset": "\u0ab0\u0ac0\u0ab8\u0ac7\u0a9f \u0a95\u0ab0\u0acb",
|
9 |
+
"submit": "\u0ab8\u0aac\u0aae\u0abf\u0a9f \u0a95\u0ab0\u0acb"
|
10 |
+
},
|
11 |
+
"status": {
|
12 |
+
"loading": "\u0ab2\u0acb\u0aa1 \u0aa5\u0a88 \u0ab0\u0ab9\u0acd\u0aaf\u0ac1\u0a82 \u0a9b\u0ac7...",
|
13 |
+
"error": {
|
14 |
+
"default": "\u0a8f\u0a95 \u0aad\u0ac2\u0ab2 \u0aa5\u0a88",
|
15 |
+
"serverConnection": "\u0ab8\u0ab0\u0acd\u0ab5\u0ab0 \u0ab8\u0ac1\u0aa7\u0ac0 \u0aaa\u0ab9\u0acb\u0a82\u0a9a\u0ac0 \u0ab6\u0a95\u0abe\u0aaf\u0ac1\u0a82 \u0aa8\u0aa5\u0ac0"
|
16 |
+
}
|
17 |
+
}
|
18 |
+
},
|
19 |
+
"auth": {
|
20 |
+
"login": {
|
21 |
+
"title": "\u0a8f\u0aaa\u0acd\u0ab2\u0abf\u0a95\u0ac7\u0ab6\u0aa8 \u0a8d\u0a95\u0acd\u0ab8\u0ac7\u0ab8 \u0a95\u0ab0\u0ab5\u0abe \u0aae\u0abe\u0a9f\u0ac7 \u0ab2\u0ac9\u0a97\u0abf\u0aa8 \u0a95\u0ab0\u0acb",
|
22 |
+
"form": {
|
23 |
+
"email": {
|
24 |
+
"label": "\u0a88\u0aae\u0ac7\u0ab2 \u0a8f\u0aa1\u0acd\u0ab0\u0ac7\u0ab8",
|
25 |
+
"required": "\u0a88\u0aae\u0ac7\u0ab2 \u0a86\u0ab5\u0ab6\u0acd\u0aaf\u0a95 \u0a9b\u0ac7"
|
26 |
+
},
|
27 |
+
"password": {
|
28 |
+
"label": "\u0aaa\u0abe\u0ab8\u0ab5\u0ab0\u0acd\u0aa1",
|
29 |
+
"required": "\u0aaa\u0abe\u0ab8\u0ab5\u0ab0\u0acd\u0aa1 \u0a86\u0ab5\u0ab6\u0acd\u0aaf\u0a95 \u0a9b\u0ac7"
|
30 |
+
},
|
31 |
+
"actions": {
|
32 |
+
"signin": "\u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0acb"
|
33 |
+
},
|
34 |
+
"alternativeText": {
|
35 |
+
"or": "\u0a85\u0aa5\u0ab5\u0abe"
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"errors": {
|
39 |
+
"default": "\u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0ac0 \u0ab6\u0a95\u0abe\u0aaf\u0ac1\u0a82 \u0aa8\u0aa5\u0ac0",
|
40 |
+
"signin": "\u0a85\u0ab2\u0a97 \u0a8f\u0a95\u0abe\u0a89\u0aa8\u0acd\u0a9f\u0aa5\u0ac0 \u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0ab5\u0abe\u0aa8\u0acb \u0aaa\u0acd\u0ab0\u0aaf\u0abe\u0ab8 \u0a95\u0ab0\u0acb",
|
41 |
+
"oauthSignin": "\u0a85\u0ab2\u0a97 \u0a8f\u0a95\u0abe\u0a89\u0aa8\u0acd\u0a9f\u0aa5\u0ac0 \u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0ab5\u0abe\u0aa8\u0acb \u0aaa\u0acd\u0ab0\u0aaf\u0abe\u0ab8 \u0a95\u0ab0\u0acb",
|
42 |
+
"redirectUriMismatch": "\u0ab0\u0ac0\u0aa1\u0abe\u0aaf\u0ab0\u0ac7\u0a95\u0acd\u0a9f URI oauth \u0a8d\u0aaa \u0a95\u0aa8\u0acd\u0aab\u0abf\u0a97\u0ab0\u0ac7\u0ab6\u0aa8 \u0ab8\u0abe\u0aa5\u0ac7 \u0aae\u0ac7\u0ab3 \u0a96\u0abe\u0aa4\u0acb \u0aa8\u0aa5\u0ac0",
|
43 |
+
"oauthCallback": "\u0a85\u0ab2\u0a97 \u0a8f\u0a95\u0abe\u0a89\u0aa8\u0acd\u0a9f\u0aa5\u0ac0 \u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0ab5\u0abe\u0aa8\u0acb \u0aaa\u0acd\u0ab0\u0aaf\u0abe\u0ab8 \u0a95\u0ab0\u0acb",
|
44 |
+
"oauthCreateAccount": "\u0a85\u0ab2\u0a97 \u0a8f\u0a95\u0abe\u0a89\u0aa8\u0acd\u0a9f\u0aa5\u0ac0 \u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0ab5\u0abe\u0aa8\u0acb \u0aaa\u0acd\u0ab0\u0aaf\u0abe\u0ab8 \u0a95\u0ab0\u0acb",
|
45 |
+
"emailCreateAccount": "\u0a85\u0ab2\u0a97 \u0a8f\u0a95\u0abe\u0a89\u0aa8\u0acd\u0a9f\u0aa5\u0ac0 \u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0ab5\u0abe\u0aa8\u0acb \u0aaa\u0acd\u0ab0\u0aaf\u0abe\u0ab8 \u0a95\u0ab0\u0acb",
|
46 |
+
"callback": "\u0a85\u0ab2\u0a97 \u0a8f\u0a95\u0abe\u0a89\u0aa8\u0acd\u0a9f\u0aa5\u0ac0 \u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0ab5\u0abe\u0aa8\u0acb \u0aaa\u0acd\u0ab0\u0aaf\u0abe\u0ab8 \u0a95\u0ab0\u0acb",
|
47 |
+
"oauthAccountNotLinked": "\u0aa4\u0aae\u0abe\u0ab0\u0ac0 \u0a93\u0ab3\u0a96\u0aa8\u0ac0 \u0aaa\u0ac1\u0ab7\u0acd\u0a9f\u0abf \u0a95\u0ab0\u0ab5\u0abe \u0aae\u0abe\u0a9f\u0ac7, \u0aae\u0ac2\u0ab3 \u0ab0\u0ac2\u0aaa\u0ac7 \u0ab5\u0abe\u0aaa\u0ab0\u0ac7\u0ab2\u0abe \u0a8f\u0a95\u0abe\u0a89\u0aa8\u0acd\u0a9f\u0aa5\u0ac0 \u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0acb",
|
48 |
+
"emailSignin": "\u0a88\u0aae\u0ac7\u0ab2 \u0aae\u0acb\u0a95\u0ab2\u0ac0 \u0ab6\u0a95\u0abe\u0aaf\u0acb \u0aa8\u0aa5\u0ac0",
|
49 |
+
"emailVerify": "\u0a95\u0ac3\u0aaa\u0abe \u0a95\u0ab0\u0ac0 \u0aa4\u0aae\u0abe\u0ab0\u0acb \u0a88\u0aae\u0ac7\u0ab2 \u0a9a\u0a95\u0abe\u0ab8\u0acb, \u0aa8\u0ab5\u0acb \u0a88\u0aae\u0ac7\u0ab2 \u0aae\u0acb\u0a95\u0ab2\u0ab5\u0abe\u0aae\u0abe\u0a82 \u0a86\u0ab5\u0acd\u0aaf\u0acb \u0a9b\u0ac7",
|
50 |
+
"credentialsSignin": "\u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0aa8\u0abf\u0ab7\u0acd\u0aab\u0ab3. \u0a86\u0aaa\u0ac7\u0ab2\u0ac0 \u0ab5\u0abf\u0a97\u0aa4\u0acb \u0ab8\u0abe\u0a9a\u0ac0 \u0a9b\u0ac7 \u0a95\u0ac7 \u0aa8\u0ab9\u0ac0\u0a82 \u0aa4\u0ac7 \u0a9a\u0a95\u0abe\u0ab8\u0acb",
|
51 |
+
"sessionRequired": "\u0a86 \u0aaa\u0ac7\u0a9c\u0aa8\u0ac7 \u0a8d\u0a95\u0acd\u0ab8\u0ac7\u0ab8 \u0a95\u0ab0\u0ab5\u0abe \u0aae\u0abe\u0a9f\u0ac7 \u0a95\u0ac3\u0aaa\u0abe \u0a95\u0ab0\u0ac0 \u0ab8\u0abe\u0a87\u0aa8 \u0a87\u0aa8 \u0a95\u0ab0\u0acb"
|
52 |
+
}
|
53 |
+
},
|
54 |
+
"provider": {
|
55 |
+
"continue": "{{provider}} \u0ab8\u0abe\u0aa5\u0ac7 \u0a9a\u0abe\u0ab2\u0ac1 \u0ab0\u0abe\u0a96\u0acb"
|
56 |
+
}
|
57 |
+
},
|
58 |
+
"chat": {
|
59 |
+
"input": {
|
60 |
+
"placeholder": "\u0a85\u0ab9\u0ac0\u0a82 \u0aa4\u0aae\u0abe\u0ab0\u0acb \u0ab8\u0a82\u0aa6\u0ac7\u0ab6 \u0ab2\u0a96\u0acb...",
|
61 |
+
"actions": {
|
62 |
+
"send": "\u0ab8\u0a82\u0aa6\u0ac7\u0ab6 \u0aae\u0acb\u0a95\u0ab2\u0acb",
|
63 |
+
"stop": "\u0a95\u0abe\u0ab0\u0acd\u0aaf \u0ab0\u0acb\u0a95\u0acb",
|
64 |
+
"attachFiles": "\u0aab\u0abe\u0a87\u0ab2\u0acd\u0ab8 \u0a9c\u0acb\u0aa1\u0acb"
|
65 |
+
}
|
66 |
+
},
|
67 |
+
"speech": {
|
68 |
+
"start": "\u0ab0\u0ac7\u0a95\u0acb\u0ab0\u0acd\u0aa1\u0abf\u0a82\u0a97 \u0ab6\u0ab0\u0ac2 \u0a95\u0ab0\u0acb",
|
69 |
+
"stop": "\u0ab0\u0ac7\u0a95\u0acb\u0ab0\u0acd\u0aa1\u0abf\u0a82\u0a97 \u0aac\u0a82\u0aa7 \u0a95\u0ab0\u0acb",
|
70 |
+
"connecting": "\u0a95\u0aa8\u0ac7\u0a95\u0acd\u0a9f \u0aa5\u0a88 \u0ab0\u0ab9\u0acd\u0aaf\u0ac1\u0a82 \u0a9b\u0ac7"
|
71 |
+
},
|
72 |
+
"fileUpload": {
|
73 |
+
"dragDrop": "\u0a85\u0ab9\u0ac0\u0a82 \u0aab\u0abe\u0a87\u0ab2\u0acd\u0ab8 \u0a96\u0ac7\u0a82\u0a9a\u0acb \u0a85\u0aa8\u0ac7 \u0a9b\u0acb\u0aa1\u0acb",
|
74 |
+
"browse": "\u0aab\u0abe\u0a87\u0ab2\u0acd\u0ab8 \u0aac\u0acd\u0ab0\u0abe\u0a89\u0a9d \u0a95\u0ab0\u0acb",
|
75 |
+
"sizeLimit": "\u0aae\u0ab0\u0acd\u0aaf\u0abe\u0aa6\u0abe:",
|
76 |
+
"errors": {
|
77 |
+
"failed": "\u0a85\u0aaa\u0ab2\u0acb\u0aa1 \u0a95\u0ab0\u0ab5\u0abe\u0aae\u0abe\u0a82 \u0aa8\u0abf\u0ab7\u0acd\u0aab\u0ab3",
|
78 |
+
"cancelled": "\u0a85\u0aaa\u0ab2\u0acb\u0aa1 \u0ab0\u0aa6 \u0a95\u0ab0\u0acd\u0aaf\u0ac1\u0a82"
|
79 |
+
}
|
80 |
+
},
|
81 |
+
"messages": {
|
82 |
+
"status": {
|
83 |
+
"using": "\u0ab5\u0abe\u0aaa\u0ab0\u0ac0 \u0ab0\u0ab9\u0acd\u0aaf\u0abe \u0a9b\u0ac7",
|
84 |
+
"used": "\u0ab5\u0aaa\u0ab0\u0abe\u0aaf\u0ac7\u0ab2"
|
85 |
+
},
|
86 |
+
"actions": {
|
87 |
+
"copy": {
|
88 |
+
"button": "\u0a95\u0acd\u0ab2\u0abf\u0aaa\u0aac\u0acb\u0ab0\u0acd\u0aa1 \u0aaa\u0ab0 \u0a95\u0ac9\u0aaa\u0abf \u0a95\u0ab0\u0acb",
|
89 |
+
"success": "\u0a95\u0ac9\u0aaa\u0abf \u0aa5\u0aaf\u0ac1\u0a82!"
|
90 |
+
}
|
91 |
+
},
|
92 |
+
"feedback": {
|
93 |
+
"positive": "\u0a89\u0aaa\u0aaf\u0acb\u0a97\u0ac0",
|
94 |
+
"negative": "\u0aac\u0abf\u0aa8\u0a89\u0aaa\u0aaf\u0acb\u0a97\u0ac0",
|
95 |
+
"edit": "\u0aaa\u0acd\u0ab0\u0aa4\u0abf\u0ab8\u0abe\u0aa6 \u0ab8\u0a82\u0aaa\u0abe\u0aa6\u0abf\u0aa4 \u0a95\u0ab0\u0acb",
|
96 |
+
"dialog": {
|
97 |
+
"title": "\u0a9f\u0abf\u0aaa\u0acd\u0aaa\u0aa3\u0ac0 \u0a89\u0aae\u0ac7\u0ab0\u0acb",
|
98 |
+
"submit": "\u0aaa\u0acd\u0ab0\u0aa4\u0abf\u0ab8\u0abe\u0aa6 \u0ab8\u0aac\u0aae\u0abf\u0a9f \u0a95\u0ab0\u0acb"
|
99 |
+
},
|
100 |
+
"status": {
|
101 |
+
"updating": "\u0a85\u0aaa\u0aa1\u0ac7\u0a9f \u0aa5\u0a88 \u0ab0\u0ab9\u0acd\u0aaf\u0ac1\u0a82 \u0a9b\u0ac7",
|
102 |
+
"updated": "\u0aaa\u0acd\u0ab0\u0aa4\u0abf\u0ab8\u0abe\u0aa6 \u0a85\u0aaa\u0aa1\u0ac7\u0a9f \u0aa5\u0aaf\u0acb"
|
103 |
+
}
|
104 |
+
}
|
105 |
+
},
|
106 |
+
"history": {
|
107 |
+
"title": "\u0a9b\u0ac7\u0ab2\u0acd\u0ab2\u0abe \u0a87\u0aa8\u0aaa\u0ac1\u0a9f\u0acd\u0ab8",
|
108 |
+
"empty": "\u0a96\u0abe\u0ab2\u0ac0 \u0a9b\u0ac7...",
|
109 |
+
"show": "\u0a87\u0aa4\u0abf\u0ab9\u0abe\u0ab8 \u0aac\u0aa4\u0abe\u0ab5\u0acb"
|
110 |
+
},
|
111 |
+
"settings": {
|
112 |
+
"title": "\u0ab8\u0ac7\u0a9f\u0abf\u0a82\u0a97\u0acd\u0ab8 \u0aaa\u0ac7\u0aa8\u0ab2"
|
113 |
+
},
|
114 |
+
"watermark": "\u0ab8\u0abe\u0aa5\u0ac7 \u0aac\u0aa8\u0abe\u0ab5\u0ac7\u0ab2"
|
115 |
+
},
|
116 |
+
"threadHistory": {
|
117 |
+
"sidebar": {
|
118 |
+
"title": "\u0aaa\u0abe\u0a9b\u0ab2\u0ac0 \u0a9a\u0ac7\u0a9f\u0acd\u0ab8",
|
119 |
+
"filters": {
|
120 |
+
"search": "\u0ab6\u0acb\u0aa7\u0acb",
|
121 |
+
"placeholder": "Search conversations..."
|
122 |
+
},
|
123 |
+
"timeframes": {
|
124 |
+
"today": "\u0a86\u0a9c\u0ac7",
|
125 |
+
"yesterday": "\u0a97\u0a88\u0a95\u0abe\u0ab2\u0ac7",
|
126 |
+
"previous7days": "\u0aaa\u0abe\u0a9b\u0ab2\u0abe 7 \u0aa6\u0abf\u0ab5\u0ab8",
|
127 |
+
"previous30days": "\u0aaa\u0abe\u0a9b\u0ab2\u0abe 30 \u0aa6\u0abf\u0ab5\u0ab8"
|
128 |
+
},
|
129 |
+
"empty": "\u0a95\u0acb\u0a88 \u0aa5\u0acd\u0ab0\u0ac7\u0aa1\u0acd\u0ab8 \u0aae\u0ab3\u0acd\u0aaf\u0abe \u0aa8\u0aa5\u0ac0",
|
130 |
+
"actions": {
|
131 |
+
"close": "\u0ab8\u0abe\u0a87\u0aa1\u0aac\u0abe\u0ab0 \u0aac\u0a82\u0aa7 \u0a95\u0ab0\u0acb",
|
132 |
+
"open": "\u0ab8\u0abe\u0a87\u0aa1\u0aac\u0abe\u0ab0 \u0a96\u0acb\u0ab2\u0acb"
|
133 |
+
}
|
134 |
+
},
|
135 |
+
"thread": {
|
136 |
+
"untitled": "\u0ab6\u0ac0\u0ab0\u0acd\u0ab7\u0a95 \u0ab5\u0a97\u0ab0\u0aa8\u0ac0 \u0ab5\u0abe\u0aa4\u0a9a\u0ac0\u0aa4",
|
137 |
+
"menu": {
|
138 |
+
"rename": "Rename",
|
139 |
+
"delete": "Delete"
|
140 |
+
},
|
141 |
+
"actions": {
|
142 |
+
"delete": {
|
143 |
+
"title": "\u0a95\u0abe\u0aa2\u0ac0 \u0aa8\u0abe\u0a96\u0ab5\u0abe\u0aa8\u0ac0 \u0aaa\u0ac1\u0ab7\u0acd\u0a9f\u0abf \u0a95\u0ab0\u0acb",
|
144 |
+
"description": "\u0a86 \u0aa5\u0acd\u0ab0\u0ac7\u0aa1 \u0a85\u0aa8\u0ac7 \u0aa4\u0ac7\u0aa8\u0abe \u0ab8\u0a82\u0aa6\u0ac7\u0ab6\u0abe\u0a93 \u0a85\u0aa8\u0ac7 \u0aa4\u0aa4\u0acd\u0ab5\u0acb\u0aa8\u0ac7 \u0a95\u0abe\u0aa2\u0ac0 \u0aa8\u0abe\u0a96\u0ab6\u0ac7. \u0a86 \u0a95\u0acd\u0ab0\u0abf\u0aaf\u0abe \u0aaa\u0abe\u0a9b\u0ac0 \u0aab\u0ac7\u0ab0\u0ab5\u0ac0 \u0ab6\u0a95\u0abe\u0ab6\u0ac7 \u0aa8\u0ab9\u0ac0\u0a82",
|
145 |
+
"success": "\u0a9a\u0ac7\u0a9f \u0a95\u0abe\u0aa2\u0ac0 \u0aa8\u0abe\u0a96\u0ac0",
|
146 |
+
"inProgress": "\u0a9a\u0ac7\u0a9f \u0a95\u0abe\u0aa2\u0ac0 \u0aa8\u0abe\u0a96\u0ac0 \u0ab0\u0ab9\u0acd\u0aaf\u0abe \u0a9b\u0ac0\u0a8f"
|
147 |
+
},
|
148 |
+
"rename": {
|
149 |
+
"title": "\u0aa5\u0acd\u0ab0\u0ac7\u0aa1\u0aa8\u0ac1\u0a82 \u0aa8\u0abe\u0aae \u0aac\u0aa6\u0ab2\u0acb",
|
150 |
+
"description": "\u0a86 \u0aa5\u0acd\u0ab0\u0ac7\u0aa1 \u0aae\u0abe\u0a9f\u0ac7 \u0aa8\u0ab5\u0ac1\u0a82 \u0aa8\u0abe\u0aae \u0aa6\u0abe\u0a96\u0ab2 \u0a95\u0ab0\u0acb",
|
151 |
+
"form": {
|
152 |
+
"name": {
|
153 |
+
"label": "\u0aa8\u0abe\u0aae",
|
154 |
+
"placeholder": "\u0aa8\u0ab5\u0ac1\u0a82 \u0aa8\u0abe\u0aae \u0aa6\u0abe\u0a96\u0ab2 \u0a95\u0ab0\u0acb"
|
155 |
+
}
|
156 |
+
},
|
157 |
+
"success": "\u0aa5\u0acd\u0ab0\u0ac7\u0aa1\u0aa8\u0ac1\u0a82 \u0aa8\u0abe\u0aae \u0aac\u0aa6\u0ab2\u0abe\u0aaf\u0ac1\u0a82!",
|
158 |
+
"inProgress": "\u0aa5\u0acd\u0ab0\u0ac7\u0aa1\u0aa8\u0ac1\u0a82 \u0aa8\u0abe\u0aae \u0aac\u0aa6\u0ab2\u0ac0 \u0ab0\u0ab9\u0acd\u0aaf\u0abe \u0a9b\u0ac0\u0a8f"
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
},
|
163 |
+
"navigation": {
|
164 |
+
"header": {
|
165 |
+
"chat": "\u0a9a\u0ac7\u0a9f",
|
166 |
+
"readme": "\u0ab5\u0abe\u0a82\u0a9a\u0acb",
|
167 |
+
"theme": {
|
168 |
+
"light": "Light Theme",
|
169 |
+
"dark": "Dark Theme",
|
170 |
+
"system": "Follow System"
|
171 |
+
}
|
172 |
+
},
|
173 |
+
"newChat": {
|
174 |
+
"button": "\u0aa8\u0ab5\u0ac0 \u0a9a\u0ac7\u0a9f",
|
175 |
+
"dialog": {
|
176 |
+
"title": "\u0aa8\u0ab5\u0ac0 \u0a9a\u0ac7\u0a9f \u0aac\u0aa8\u0abe\u0ab5\u0acb",
|
177 |
+
"description": "\u0a86 \u0aa4\u0aae\u0abe\u0ab0\u0acb \u0ab5\u0ab0\u0acd\u0aa4\u0aae\u0abe\u0aa8 \u0a9a\u0ac7\u0a9f \u0a87\u0aa4\u0abf\u0ab9\u0abe\u0ab8 \u0ab8\u0abe\u0aab \u0a95\u0ab0\u0ab6\u0ac7. \u0ab6\u0ac1\u0a82 \u0aa4\u0aae\u0ac7 \u0a9a\u0abe\u0ab2\u0ac1 \u0ab0\u0abe\u0a96\u0ab5\u0abe \u0aae\u0abe\u0a82\u0a97\u0acb \u0a9b\u0acb?",
|
178 |
+
"tooltip": "\u0aa8\u0ab5\u0ac0 \u0a9a\u0ac7\u0a9f"
|
179 |
+
}
|
180 |
+
},
|
181 |
+
"user": {
|
182 |
+
"menu": {
|
183 |
+
"settings": "\u0ab8\u0ac7\u0a9f\u0abf\u0a82\u0a97\u0acd\u0ab8",
|
184 |
+
"settingsKey": "S",
|
185 |
+
"apiKeys": "API \u0a95\u0ac0",
|
186 |
+
"logout": "\u0ab2\u0ac9\u0a97\u0a86\u0a89\u0a9f"
|
187 |
+
}
|
188 |
+
}
|
189 |
+
},
|
190 |
+
"apiKeys": {
|
191 |
+
"title": "\u0a9c\u0ab0\u0ac2\u0ab0\u0ac0 API \u0a95\u0ac0",
|
192 |
+
"description": "\u0a86 \u0a8f\u0aaa\u0acd\u0ab2\u0abf\u0a95\u0ac7\u0ab6\u0aa8 \u0ab5\u0abe\u0aaa\u0ab0\u0ab5\u0abe \u0aae\u0abe\u0a9f\u0ac7, \u0aa8\u0ac0\u0a9a\u0ac7\u0aa8\u0ac0 API \u0a95\u0ac0 \u0a9c\u0ab0\u0ac2\u0ab0\u0ac0 \u0a9b\u0ac7. \u0a95\u0ac0 \u0aa4\u0aae\u0abe\u0ab0\u0abe \u0aa1\u0abf\u0ab5\u0abe\u0a87\u0ab8\u0aa8\u0abe \u0ab2\u0acb\u0a95\u0ab2 \u0ab8\u0acd\u0a9f\u0acb\u0ab0\u0ac7\u0a9c\u0aae\u0abe\u0a82 \u0ab8\u0a82\u0a97\u0acd\u0ab0\u0ab9\u0abf\u0aa4 \u0aa5\u0ab6\u0ac7.",
|
193 |
+
"success": {
|
194 |
+
"saved": "\u0ab8\u0aab\u0ab3\u0aa4\u0abe\u0aaa\u0ac2\u0ab0\u0acd\u0ab5\u0a95 \u0ab8\u0abe\u0a9a\u0ab5\u0acd\u0aaf\u0ac1\u0a82"
|
195 |
+
}
|
196 |
+
},
|
197 |
+
"alerts": {
|
198 |
+
"info": "Info",
|
199 |
+
"note": "Note",
|
200 |
+
"tip": "Tip",
|
201 |
+
"important": "Important",
|
202 |
+
"warning": "Warning",
|
203 |
+
"caution": "Caution",
|
204 |
+
"debug": "Debug",
|
205 |
+
"example": "Example",
|
206 |
+
"success": "Success",
|
207 |
+
"help": "Help",
|
208 |
+
"idea": "Idea",
|
209 |
+
"pending": "Pending",
|
210 |
+
"security": "Security",
|
211 |
+
"beta": "Beta",
|
212 |
+
"best-practice": "Best Practice"
|
213 |
+
}
|
214 |
+
}
|
.chainlit/translations/he-IL.json
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"common": {
|
3 |
+
"actions": {
|
4 |
+
"cancel": "\u05d1\u05d9\u05d8\u05d5\u05dc",
|
5 |
+
"confirm": "\u05d0\u05d9\u05e9\u05d5\u05e8",
|
6 |
+
"continue": "\u05d4\u05de\u05e9\u05da",
|
7 |
+
"goBack": "\u05d7\u05d6\u05d5\u05e8",
|
8 |
+
"reset": "\u05d0\u05d9\u05e4\u05d5\u05e1",
|
9 |
+
"submit": "\u05e9\u05dc\u05d7"
|
10 |
+
},
|
11 |
+
"status": {
|
12 |
+
"loading": "\u05d8\u05d5\u05e2\u05df...",
|
13 |
+
"error": {
|
14 |
+
"default": "\u05d0\u05d9\u05e8\u05e2\u05d4 \u05e9\u05d2\u05d9\u05d0\u05d4",
|
15 |
+
"serverConnection": "\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05dc\u05d4\u05ea\u05d7\u05d1\u05e8 \u05dc\u05e9\u05e8\u05ea"
|
16 |
+
}
|
17 |
+
}
|
18 |
+
},
|
19 |
+
"auth": {
|
20 |
+
"login": {
|
21 |
+
"title": "\u05d4\u05ea\u05d7\u05d1\u05e8 \u05db\u05d3\u05d9 \u05dc\u05d2\u05e9\u05ea \u05dc\u05d0\u05e4\u05dc\u05d9\u05e7\u05e6\u05d9\u05d4",
|
22 |
+
"form": {
|
23 |
+
"email": {
|
24 |
+
"label": "\u05db\u05ea\u05d5\u05d1\u05ea \u05d0\u05d9\u05de\u05d9\u05d9\u05dc",
|
25 |
+
"required": "\u05e9\u05d3\u05d4 \u05d4\u05d0\u05d9\u05de\u05d9\u05d9\u05dc \u05d4\u05d5\u05d0 \u05e9\u05d3\u05d4 \u05d7\u05d5\u05d1\u05d4"
|
26 |
+
},
|
27 |
+
"password": {
|
28 |
+
"label": "\u05e1\u05d9\u05e1\u05de\u05d4",
|
29 |
+
"required": "\u05e9\u05d3\u05d4 \u05d4\u05e1\u05d9\u05e1\u05de\u05d4 \u05d4\u05d5\u05d0 \u05e9\u05d3\u05d4 \u05d7\u05d5\u05d1\u05d4"
|
30 |
+
},
|
31 |
+
"actions": {
|
32 |
+
"signin": "\u05d4\u05ea\u05d7\u05d1\u05e8"
|
33 |
+
},
|
34 |
+
"alternativeText": {
|
35 |
+
"or": "\u05d0\u05d5"
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"errors": {
|
39 |
+
"default": "\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05dc\u05d4\u05ea\u05d7\u05d1\u05e8",
|
40 |
+
"signin": "\u05e0\u05e1\u05d4 \u05dc\u05d4\u05ea\u05d7\u05d1\u05e8 \u05e2\u05dd \u05d7\u05e9\u05d1\u05d5\u05df \u05d0\u05d7\u05e8",
|
41 |
+
"oauthSignin": "\u05e0\u05e1\u05d4 \u05dc\u05d4\u05ea\u05d7\u05d1\u05e8 \u05e2\u05dd \u05d7\u05e9\u05d1\u05d5\u05df \u05d0\u05d7\u05e8",
|
42 |
+
"redirectUriMismatch": "\u05db\u05ea\u05d5\u05d1\u05ea \u05d4\u05d4\u05e4\u05e0\u05d9\u05d4 \u05d0\u05d9\u05e0\u05d4 \u05ea\u05d5\u05d0\u05de\u05ea \u05d0\u05ea \u05ea\u05e6\u05d5\u05e8\u05ea \u05d0\u05e4\u05dc\u05d9\u05e7\u05e6\u05d9\u05d9\u05ea OAuth",
|
43 |
+
"oauthCallback": "\u05e0\u05e1\u05d4 \u05dc\u05d4\u05ea\u05d7\u05d1\u05e8 \u05e2\u05dd \u05d7\u05e9\u05d1\u05d5\u05df \u05d0\u05d7\u05e8",
|
44 |
+
"oauthCreateAccount": "\u05e0\u05e1\u05d4 \u05dc\u05d4\u05ea\u05d7\u05d1\u05e8 \u05e2\u05dd \u05d7\u05e9\u05d1\u05d5\u05df \u05d0\u05d7\u05e8",
|
45 |
+
"emailCreateAccount": "\u05e0\u05e1\u05d4 \u05dc\u05d4\u05ea\u05d7\u05d1\u05e8 \u05e2\u05dd \u05d7\u05e9\u05d1\u05d5\u05df \u05d0\u05d7\u05e8",
|
46 |
+
"callback": "\u05e0\u05e1\u05d4 \u05dc\u05d4\u05ea\u05d7\u05d1\u05e8 \u05e2\u05dd \u05d7\u05e9\u05d1\u05d5\u05df \u05d0\u05d7\u05e8",
|
47 |
+
"oauthAccountNotLinked": "\u05db\u05d3\u05d9 \u05dc\u05d0\u05de\u05ea \u05d0\u05ea \u05d6\u05d4\u05d5\u05ea\u05da, \u05d4\u05ea\u05d7\u05d1\u05e8 \u05e2\u05dd \u05d0\u05d5\u05ea\u05d5 \u05d7\u05e9\u05d1\u05d5\u05df \u05d1\u05d5 \u05d4\u05e9\u05ea\u05de\u05e9\u05ea \u05d1\u05de\u05e7\u05d5\u05e8",
|
48 |
+
"emailSignin": "\u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05d4\u05d9\u05d4 \u05dc\u05e9\u05dc\u05d5\u05d7 \u05d0\u05ea \u05d4\u05d0\u05d9\u05de\u05d9\u05d9\u05dc",
|
49 |
+
"emailVerify": "\u05d0\u05e0\u05d0 \u05d0\u05de\u05ea \u05d0\u05ea \u05d4\u05d0\u05d9\u05de\u05d9\u05d9\u05dc \u05e9\u05dc\u05da, \u05e0\u05e9\u05dc\u05d7 \u05d0\u05d9\u05de\u05d9\u05d9\u05dc \u05d7\u05d3\u05e9",
|
50 |
+
"credentialsSignin": "\u05d4\u05d4\u05ea\u05d7\u05d1\u05e8\u05d5\u05ea \u05e0\u05db\u05e9\u05dc\u05d4. \u05d1\u05d3\u05d5\u05e7 \u05e9\u05d4\u05e4\u05e8\u05d8\u05d9\u05dd \u05e9\u05d4\u05d6\u05e0\u05ea \u05e0\u05db\u05d5\u05e0\u05d9\u05dd",
|
51 |
+
"sessionRequired": "\u05d0\u05e0\u05d0 \u05d4\u05ea\u05d7\u05d1\u05e8 \u05db\u05d3\u05d9 \u05dc\u05d2\u05e9\u05ea \u05dc\u05d3\u05e3 \u05d6\u05d4"
|
52 |
+
}
|
53 |
+
},
|
54 |
+
"provider": {
|
55 |
+
"continue": "\u05d4\u05de\u05e9\u05da \u05e2\u05dd {{provider}}"
|
56 |
+
}
|
57 |
+
},
|
58 |
+
"chat": {
|
59 |
+
"input": {
|
60 |
+
"placeholder": "\u05d4\u05e7\u05dc\u05d3 \u05d0\u05ea \u05d4\u05d4\u05d5\u05d3\u05e2\u05d4 \u05e9\u05dc\u05da \u05db\u05d0\u05df...",
|
61 |
+
"actions": {
|
62 |
+
"send": "\u05e9\u05dc\u05d7 \u05d4\u05d5\u05d3\u05e2\u05d4",
|
63 |
+
"stop": "\u05e2\u05e6\u05d5\u05e8 \u05de\u05e9\u05d9\u05de\u05d4",
|
64 |
+
"attachFiles": "\u05e6\u05e8\u05e3 \u05e7\u05d1\u05e6\u05d9\u05dd"
|
65 |
+
}
|
66 |
+
},
|
67 |
+
"speech": {
|
68 |
+
"start": "\u05d4\u05ea\u05d7\u05dc \u05d4\u05e7\u05dc\u05d8\u05d4",
|
69 |
+
"stop": "\u05e2\u05e6\u05d5\u05e8 \u05d4\u05e7\u05dc\u05d8\u05d4",
|
70 |
+
"connecting": "\u05de\u05ea\u05d7\u05d1\u05e8"
|
71 |
+
},
|
72 |
+
"fileUpload": {
|
73 |
+
"dragDrop": "\u05d2\u05e8\u05d5\u05e8 \u05d5\u05e9\u05d7\u05e8\u05e8 \u05e7\u05d1\u05e6\u05d9\u05dd \u05db\u05d0\u05df",
|
74 |
+
"browse": "\u05e2\u05d9\u05d9\u05df \u05d1\u05e7\u05d1\u05e6\u05d9\u05dd",
|
75 |
+
"sizeLimit": "\u05de\u05d2\u05d1\u05dc\u05d4:",
|
76 |
+
"errors": {
|
77 |
+
"failed": "\u05d4\u05e2\u05dc\u05d0\u05d4 \u05e0\u05db\u05e9\u05dc\u05d4",
|
78 |
+
"cancelled": "\u05d4\u05e2\u05dc\u05d0\u05d4 \u05d1\u05d5\u05d8\u05dc\u05d4 \u05e9\u05dc"
|
79 |
+
}
|
80 |
+
},
|
81 |
+
"messages": {
|
82 |
+
"status": {
|
83 |
+
"using": "\u05de\u05e9\u05ea\u05de\u05e9 \u05d1",
|
84 |
+
"used": "\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1"
|
85 |
+
},
|
86 |
+
"actions": {
|
87 |
+
"copy": {
|
88 |
+
"button": "\u05d4\u05e2\u05ea\u05e7 \u05dc\u05dc\u05d5\u05d7",
|
89 |
+
"success": "\u05d4\u05d5\u05e2\u05ea\u05e7!"
|
90 |
+
}
|
91 |
+
},
|
92 |
+
"feedback": {
|
93 |
+
"positive": "\u05de\u05d5\u05e2\u05d9\u05dc",
|
94 |
+
"negative": "\u05dc\u05d0 \u05de\u05d5\u05e2\u05d9\u05dc",
|
95 |
+
"edit": "\u05e2\u05e8\u05d5\u05da \u05de\u05e9\u05d5\u05d1",
|
96 |
+
"dialog": {
|
97 |
+
"title": "\u05d4\u05d5\u05e1\u05e3 \u05ea\u05d2\u05d5\u05d1\u05d4",
|
98 |
+
"submit": "\u05e9\u05dc\u05d7 \u05de\u05e9\u05d5\u05d1"
|
99 |
+
},
|
100 |
+
"status": {
|
101 |
+
"updating": "\u05de\u05e2\u05d3\u05db\u05df",
|
102 |
+
"updated": "\u05d4\u05de\u05e9\u05d5\u05d1 \u05e2\u05d5\u05d3\u05db\u05df"
|
103 |
+
}
|
104 |
+
}
|
105 |
+
},
|
106 |
+
"history": {
|
107 |
+
"title": "\u05e7\u05dc\u05d8\u05d9\u05dd \u05d0\u05d7\u05e8\u05d5\u05e0\u05d9\u05dd",
|
108 |
+
"empty": "\u05db\u05dc \u05db\u05da \u05e8\u05d9\u05e7...",
|
109 |
+
"show": "\u05d4\u05e6\u05d2 \u05d4\u05d9\u05e1\u05d8\u05d5\u05e8\u05d9\u05d4"
|
110 |
+
},
|
111 |
+
"settings": {
|
112 |
+
"title": "\u05e4\u05d0\u05e0\u05dc \u05d4\u05d2\u05d3\u05e8\u05d5\u05ea"
|
113 |
+
},
|
114 |
+
"watermark": "\u05e0\u05d1\u05e0\u05d4 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea"
|
115 |
+
},
|
116 |
+
"threadHistory": {
|
117 |
+
"sidebar": {
|
118 |
+
"title": "\u05e6'\u05d0\u05d8\u05d9\u05dd \u05e7\u05d5\u05d3\u05de\u05d9\u05dd",
|
119 |
+
"filters": {
|
120 |
+
"search": "\u05d7\u05d9\u05e4\u05d5\u05e9",
|
121 |
+
"placeholder": "Search conversations..."
|
122 |
+
},
|
123 |
+
"timeframes": {
|
124 |
+
"today": "\u05d4\u05d9\u05d5\u05dd",
|
125 |
+
"yesterday": "\u05d0\u05ea\u05de\u05d5\u05dc",
|
126 |
+
"previous7days": "7 \u05d9\u05de\u05d9\u05dd \u05d0\u05d7\u05e8\u05d5\u05e0\u05d9\u05dd",
|
127 |
+
"previous30days": "30 \u05d9\u05de\u05d9\u05dd \u05d0\u05d7\u05e8\u05d5\u05e0\u05d9\u05dd"
|
128 |
+
},
|
129 |
+
"empty": "\u05dc\u05d0 \u05e0\u05de\u05e6\u05d0\u05d5 \u05e9\u05d9\u05d7\u05d5\u05ea",
|
130 |
+
"actions": {
|
131 |
+
"close": "\u05e1\u05d2\u05d5\u05e8 \u05e1\u05e8\u05d2\u05dc \u05e6\u05d3",
|
132 |
+
"open": "\u05e4\u05ea\u05d7 \u05e1\u05e8\u05d2\u05dc \u05e6\u05d3"
|
133 |
+
}
|
134 |
+
},
|
135 |
+
"thread": {
|
136 |
+
"untitled": "\u05e9\u05d9\u05d7\u05d4 \u05dc\u05dc\u05d0 \u05db\u05d5\u05ea\u05e8\u05ea",
|
137 |
+
"menu": {
|
138 |
+
"rename": "Rename",
|
139 |
+
"delete": "Delete"
|
140 |
+
},
|
141 |
+
"actions": {
|
142 |
+
"delete": {
|
143 |
+
"title": "\u05d0\u05e9\u05e8 \u05de\u05d7\u05d9\u05e7\u05d4",
|
144 |
+
"description": "\u05e4\u05e2\u05d5\u05dc\u05d4 \u05d6\u05d5 \u05ea\u05de\u05d7\u05e7 \u05d0\u05ea \u05d4\u05e9\u05d9\u05d7\u05d4 \u05d5\u05db\u05df \u05d0\u05ea \u05d4\u05d4\u05d5\u05d3\u05e2\u05d5\u05ea \u05d5\u05d4\u05d0\u05dc\u05de\u05e0\u05d8\u05d9\u05dd \u05e9\u05dc\u05d4. \u05dc\u05d0 \u05e0\u05d9\u05ea\u05df \u05dc\u05d1\u05d8\u05dc \u05e4\u05e2\u05d5\u05dc\u05d4 \u05d6\u05d5",
|
145 |
+
"success": "\u05d4\u05e6'\u05d0\u05d8 \u05e0\u05de\u05d7\u05e7",
|
146 |
+
"inProgress": "\u05de\u05d5\u05d7\u05e7 \u05e6'\u05d0\u05d8"
|
147 |
+
},
|
148 |
+
"rename": {
|
149 |
+
"title": "\u05e9\u05e0\u05d4 \u05e9\u05dd \u05e9\u05d9\u05d7\u05d4",
|
150 |
+
"description": "\u05d4\u05d6\u05df \u05e9\u05dd \u05d7\u05d3\u05e9 \u05dc\u05e9\u05d9\u05d7\u05d4 \u05d6\u05d5",
|
151 |
+
"form": {
|
152 |
+
"name": {
|
153 |
+
"label": "\u05e9\u05dd",
|
154 |
+
"placeholder": "\u05d4\u05d6\u05df \u05e9\u05dd \u05d7\u05d3\u05e9"
|
155 |
+
}
|
156 |
+
},
|
157 |
+
"success": "\u05e9\u05dd \u05d4\u05e9\u05d9\u05d7\u05d4 \u05e9\u05d5\u05e0\u05d4!",
|
158 |
+
"inProgress": "\u05de\u05e9\u05e0\u05d4 \u05e9\u05dd \u05e9\u05d9\u05d7\u05d4"
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
},
|
163 |
+
"navigation": {
|
164 |
+
"header": {
|
165 |
+
"chat": "\u05e6'\u05d0\u05d8",
|
166 |
+
"readme": "\u05e7\u05e8\u05d0 \u05d0\u05d5\u05ea\u05d9",
|
167 |
+
"theme": {
|
168 |
+
"light": "Light Theme",
|
169 |
+
"dark": "Dark Theme",
|
170 |
+
"system": "Follow System"
|
171 |
+
}
|
172 |
+
},
|
173 |
+
"newChat": {
|
174 |
+
"button": "\u05e6'\u05d0\u05d8 \u05d7\u05d3\u05e9",
|
175 |
+
"dialog": {
|
176 |
+
"title": "\u05e6\u05d5\u05e8 \u05e6'\u05d0\u05d8 \u05d7\u05d3\u05e9",
|
177 |
+
"description": "\u05e4\u05e2\u05d5\u05dc\u05d4 \u05d6\u05d5 \u05ea\u05e0\u05e7\u05d4 \u05d0\u05ea \u05d4\u05d9\u05e1\u05d8\u05d5\u05e8\u05d9\u05d9\u05ea \u05d4\u05e6'\u05d0\u05d8 \u05d4\u05e0\u05d5\u05db\u05d7\u05d9\u05ea \u05e9\u05dc\u05da. \u05d4\u05d0\u05dd \u05d0\u05ea\u05d4 \u05d1\u05d8\u05d5\u05d7 \u05e9\u05d1\u05e8\u05e6\u05d5\u05e0\u05da \u05dc\u05d4\u05de\u05e9\u05d9\u05da?",
|
178 |
+
"tooltip": "\u05e6'\u05d0\u05d8 \u05d7\u05d3\u05e9"
|
179 |
+
}
|
180 |
+
},
|
181 |
+
"user": {
|
182 |
+
"menu": {
|
183 |
+
"settings": "\u05d4\u05d2\u05d3\u05e8\u05d5\u05ea",
|
184 |
+
"settingsKey": "\u05d4",
|
185 |
+
"apiKeys": "\u05de\u05e4\u05ea\u05d7\u05d5\u05ea API",
|
186 |
+
"logout": "\u05d4\u05ea\u05e0\u05ea\u05e7"
|
187 |
+
}
|
188 |
+
}
|
189 |
+
},
|
190 |
+
"apiKeys": {
|
191 |
+
"title": "\u05de\u05e4\u05ea\u05d7\u05d5\u05ea API \u05e0\u05d3\u05e8\u05e9\u05d9\u05dd",
|
192 |
+
"description": "\u05db\u05d3\u05d9 \u05dc\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1\u05d0\u05e4\u05dc\u05d9\u05e7\u05e6\u05d9\u05d4 \u05d6\u05d5, \u05e0\u05d3\u05e8\u05e9\u05d9\u05dd \u05de\u05e4\u05ea\u05d7\u05d5\u05ea API \u05d4\u05d1\u05d0\u05d9\u05dd. \u05d4\u05de\u05e4\u05ea\u05d7\u05d5\u05ea \u05de\u05d0\u05d5\u05d7\u05e1\u05e0\u05d9\u05dd \u05d1\u05d0\u05d7\u05e1\u05d5\u05df \u05d4\u05de\u05e7\u05d5\u05de\u05d9 \u05e9\u05dc \u05d4\u05de\u05db\u05e9\u05d9\u05e8 \u05e9\u05dc\u05da.",
|
193 |
+
"success": {
|
194 |
+
"saved": "\u05e0\u05e9\u05de\u05e8 \u05d1\u05d4\u05e6\u05dc\u05d7\u05d4"
|
195 |
+
}
|
196 |
+
},
|
197 |
+
"alerts": {
|
198 |
+
"info": "Info",
|
199 |
+
"note": "Note",
|
200 |
+
"tip": "Tip",
|
201 |
+
"important": "Important",
|
202 |
+
"warning": "Warning",
|
203 |
+
"caution": "Caution",
|
204 |
+
"debug": "Debug",
|
205 |
+
"example": "Example",
|
206 |
+
"success": "Success",
|
207 |
+
"help": "Help",
|
208 |
+
"idea": "Idea",
|
209 |
+
"pending": "Pending",
|
210 |
+
"security": "Security",
|
211 |
+
"beta": "Beta",
|
212 |
+
"best-practice": "Best Practice"
|
213 |
+
}
|
214 |
+
}
|
.chainlit/translations/hi.json
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"common": {
|
3 |
+
"actions": {
|
4 |
+
"cancel": "\u0930\u0926\u094d\u0926 \u0915\u0930\u0947\u0902",
|
5 |
+
"confirm": "\u092a\u0941\u0937\u094d\u091f\u093f \u0915\u0930\u0947\u0902",
|
6 |
+
"continue": "\u091c\u093e\u0930\u0940 \u0930\u0916\u0947\u0902",
|
7 |
+
"goBack": "\u0935\u093e\u092a\u0938 \u091c\u093e\u090f\u0902",
|
8 |
+
"reset": "\u0930\u0940\u0938\u0947\u091f \u0915\u0930\u0947\u0902",
|
9 |
+
"submit": "\u091c\u092e\u093e \u0915\u0930\u0947\u0902"
|
10 |
+
},
|
11 |
+
"status": {
|
12 |
+
"loading": "\u0932\u094b\u0921 \u0939\u094b \u0930\u0939\u093e \u0939\u0948...",
|
13 |
+
"error": {
|
14 |
+
"default": "\u090f\u0915 \u0924\u094d\u0930\u0941\u091f\u093f \u0939\u0941\u0908",
|
15 |
+
"serverConnection": "\u0938\u0930\u094d\u0935\u0930 \u0938\u0947 \u0938\u0902\u092a\u0930\u094d\u0915 \u0928\u0939\u0940\u0902 \u0939\u094b \u092a\u093e \u0930\u0939\u093e"
|
16 |
+
}
|
17 |
+
}
|
18 |
+
},
|
19 |
+
"auth": {
|
20 |
+
"login": {
|
21 |
+
"title": "\u0910\u092a \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0932\u0949\u0917\u093f\u0928 \u0915\u0930\u0947\u0902",
|
22 |
+
"form": {
|
23 |
+
"email": {
|
24 |
+
"label": "\u0908\u092e\u0947\u0932 \u092a\u0924\u093e",
|
25 |
+
"required": "\u0908\u092e\u0947\u0932 \u090f\u0915 \u0906\u0935\u0936\u094d\u092f\u0915 \u092b\u093c\u0940\u0932\u094d\u0921 \u0939\u0948"
|
26 |
+
},
|
27 |
+
"password": {
|
28 |
+
"label": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921",
|
29 |
+
"required": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u090f\u0915 \u0906\u0935\u0936\u094d\u092f\u0915 \u092b\u093c\u0940\u0932\u094d\u0921 \u0939\u0948"
|
30 |
+
},
|
31 |
+
"actions": {
|
32 |
+
"signin": "\u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0947\u0902"
|
33 |
+
},
|
34 |
+
"alternativeText": {
|
35 |
+
"or": "\u092f\u093e"
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"errors": {
|
39 |
+
"default": "\u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u092e\u0947\u0902 \u0905\u0938\u092e\u0930\u094d\u0925",
|
40 |
+
"signin": "\u0915\u093f\u0938\u0940 \u0926\u0942\u0938\u0930\u0947 \u0916\u093e\u0924\u0947 \u0938\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u093e \u092a\u094d\u0930\u092f\u093e\u0938 \u0915\u0930\u0947\u0902",
|
41 |
+
"oauthSignin": "\u0915\u093f\u0938\u0940 \u0926\u0942\u0938\u0930\u0947 \u0916\u093e\u0924\u0947 \u0938\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u093e \u092a\u094d\u0930\u092f\u093e\u0938 \u0915\u0930\u0947\u0902",
|
42 |
+
"redirectUriMismatch": "\u0930\u0940\u0921\u093e\u092f\u0930\u0947\u0915\u094d\u091f URI oauth \u0910\u092a \u0915\u0949\u0928\u094d\u092b\u093c\u093f\u0917\u0930\u0947\u0936\u0928 \u0938\u0947 \u092e\u0947\u0932 \u0928\u0939\u0940\u0902 \u0916\u093e \u0930\u0939\u093e",
|
43 |
+
"oauthCallback": "\u0915\u093f\u0938\u0940 \u0926\u0942\u0938\u0930\u0947 \u0916\u093e\u0924\u0947 \u0938\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u093e \u092a\u094d\u0930\u092f\u093e\u0938 \u0915\u0930\u0947\u0902",
|
44 |
+
"oauthCreateAccount": "\u0915\u093f\u0938\u0940 \u0926\u0942\u0938\u0930\u0947 \u0916\u093e\u0924\u0947 \u0938\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u093e \u092a\u094d\u0930\u092f\u093e\u0938 \u0915\u0930\u0947\u0902",
|
45 |
+
"emailCreateAccount": "\u0915\u093f\u0938\u0940 \u0926\u0942\u0938\u0930\u0947 \u0916\u093e\u0924\u0947 \u0938\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u093e \u092a\u094d\u0930\u092f\u093e\u0938 \u0915\u0930\u0947\u0902",
|
46 |
+
"callback": "\u0915\u093f\u0938\u0940 \u0926\u0942\u0938\u0930\u0947 \u0916\u093e\u0924\u0947 \u0938\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0928\u0947 \u0915\u093e \u092a\u094d\u0930\u092f\u093e\u0938 \u0915\u0930\u0947\u0902",
|
47 |
+
"oauthAccountNotLinked": "\u0905\u092a\u0928\u0940 \u092a\u0939\u091a\u093e\u0928 \u0915\u0940 \u092a\u0941\u0937\u094d\u091f\u093f \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f, \u0909\u0938\u0940 \u0916\u093e\u0924\u0947 \u0938\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0947\u0902 \u091c\u093f\u0938\u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0906\u092a\u0928\u0947 \u092e\u0942\u0932 \u0930\u0942\u092a \u0938\u0947 \u0915\u093f\u092f\u093e \u0925\u093e",
|
48 |
+
"emailSignin": "\u0908\u092e\u0947\u0932 \u0928\u0939\u0940\u0902 \u092d\u0947\u091c\u093e \u091c\u093e \u0938\u0915\u093e",
|
49 |
+
"emailVerify": "\u0915\u0943\u092a\u092f\u093e \u0905\u092a\u0928\u093e \u0908\u092e\u0947\u0932 \u0938\u0924\u094d\u092f\u093e\u092a\u093f\u0924 \u0915\u0930\u0947\u0902, \u090f\u0915 \u0928\u092f\u093e \u0908\u092e\u0947\u0932 \u092d\u0947\u091c\u093e \u0917\u092f\u093e \u0939\u0948",
|
50 |
+
"credentialsSignin": "\u0938\u093e\u0907\u0928 \u0907\u0928 \u0935\u093f\u092b\u0932\u0964 \u0906\u092a\u0915\u0947 \u0926\u094d\u0935\u093e\u0930\u093e \u092a\u094d\u0930\u0926\u093e\u0928 \u0915\u093f\u090f \u0917\u090f \u0935\u093f\u0935\u0930\u0923 \u0915\u0940 \u091c\u093e\u0902\u091a \u0915\u0930\u0947\u0902",
|
51 |
+
"sessionRequired": "\u0907\u0938 \u092a\u0943\u0937\u094d\u0920 \u0924\u0915 \u092a\u0939\u0941\u0902\u091a\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0915\u0943\u092a\u092f\u093e \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0947\u0902"
|
52 |
+
}
|
53 |
+
},
|
54 |
+
"provider": {
|
55 |
+
"continue": "{{provider}} \u0915\u0947 \u0938\u093e\u0925 \u091c\u093e\u0930\u0940 \u0930\u0916\u0947\u0902"
|
56 |
+
}
|
57 |
+
},
|
58 |
+
"chat": {
|
59 |
+
"input": {
|
60 |
+
"placeholder": "\u0905\u092a\u0928\u093e \u0938\u0902\u0926\u0947\u0936 \u092f\u0939\u093e\u0902 \u091f\u093e\u0907\u092a \u0915\u0930\u0947\u0902...",
|
61 |
+
"actions": {
|
62 |
+
"send": "\u0938\u0902\u0926\u0947\u0936 \u092d\u0947\u091c\u0947\u0902",
|
63 |
+
"stop": "\u0915\u093e\u0930\u094d\u092f \u0930\u094b\u0915\u0947\u0902",
|
64 |
+
"attachFiles": "\u092b\u093c\u093e\u0907\u0932\u0947\u0902 \u0938\u0902\u0932\u0917\u094d\u0928 \u0915\u0930\u0947\u0902"
|
65 |
+
}
|
66 |
+
},
|
67 |
+
"speech": {
|
68 |
+
"start": "\u0930\u093f\u0915\u0949\u0930\u094d\u0921\u093f\u0902\u0917 \u0936\u0941\u0930\u0942 \u0915\u0930\u0947\u0902",
|
69 |
+
"stop": "\u0930\u093f\u0915\u0949\u0930\u094d\u0921\u093f\u0902\u0917 \u0930\u094b\u0915\u0947\u0902",
|
70 |
+
"connecting": "\u0915\u0928\u0947\u0915\u094d\u091f \u0939\u094b \u0930\u0939\u093e \u0939\u0948"
|
71 |
+
},
|
72 |
+
"fileUpload": {
|
73 |
+
"dragDrop": "\u092b\u093c\u093e\u0907\u0932\u094b\u0902 \u0915\u094b \u092f\u0939\u093e\u0902 \u0916\u0940\u0902\u091a\u0947\u0902 \u0914\u0930 \u091b\u094b\u0921\u093c\u0947\u0902",
|
74 |
+
"browse": "\u092b\u093c\u093e\u0907\u0932\u0947\u0902 \u092c\u094d\u0930\u093e\u0909\u091c\u093c \u0915\u0930\u0947\u0902",
|
75 |
+
"sizeLimit": "\u0938\u0940\u092e\u093e:",
|
76 |
+
"errors": {
|
77 |
+
"failed": "\u0905\u092a\u0932\u094b\u0921 \u0915\u0930\u0928\u0947 \u092e\u0947\u0902 \u0935\u093f\u092b\u0932",
|
78 |
+
"cancelled": "\u0915\u093e \u0905\u092a\u0932\u094b\u0921 \u0930\u0926\u094d\u0926 \u0915\u093f\u092f\u093e \u0917\u092f\u093e"
|
79 |
+
}
|
80 |
+
},
|
81 |
+
"messages": {
|
82 |
+
"status": {
|
83 |
+
"using": "\u0909\u092a\u092f\u094b\u0917 \u0915\u0930 \u0930\u0939\u0947 \u0939\u0948\u0902",
|
84 |
+
"used": "\u0909\u092a\u092f\u094b\u0917 \u0915\u093f\u092f\u093e"
|
85 |
+
},
|
86 |
+
"actions": {
|
87 |
+
"copy": {
|
88 |
+
"button": "\u0915\u094d\u0932\u093f\u092a\u092c\u094b\u0930\u094d\u0921 \u092a\u0930 \u0915\u0949\u092a\u0940 \u0915\u0930\u0947\u0902",
|
89 |
+
"success": "\u0915\u0949\u092a\u0940 \u0915\u093f\u092f\u093e \u0917\u092f\u093e!"
|
90 |
+
}
|
91 |
+
},
|
92 |
+
"feedback": {
|
93 |
+
"positive": "\u0938\u0939\u093e\u092f\u0915",
|
94 |
+
"negative": "\u0938\u0939\u093e\u092f\u0915 \u0928\u0939\u0940\u0902",
|
95 |
+
"edit": "\u092a\u094d\u0930\u0924\u093f\u0915\u094d\u0930\u093f\u092f\u093e \u0938\u0902\u092a\u093e\u0926\u093f\u0924 \u0915\u0930\u0947\u0902",
|
96 |
+
"dialog": {
|
97 |
+
"title": "\u091f\u093f\u092a\u094d\u092a\u0923\u0940 \u091c\u094b\u0921\u093c\u0947\u0902",
|
98 |
+
"submit": "\u092a\u094d\u0930\u0924\u093f\u0915\u094d\u0930\u093f\u092f\u093e \u091c\u092e\u093e \u0915\u0930\u0947\u0902"
|
99 |
+
},
|
100 |
+
"status": {
|
101 |
+
"updating": "\u0905\u092a\u0921\u0947\u091f \u0939\u094b \u0930\u0939\u093e \u0939\u0948",
|
102 |
+
"updated": "\u092a\u094d\u0930\u0924\u093f\u0915\u094d\u0930\u093f\u092f\u093e \u0905\u092a\u0921\u0947\u091f \u0915\u0940 \u0917\u0908"
|
103 |
+
}
|
104 |
+
}
|
105 |
+
},
|
106 |
+
"history": {
|
107 |
+
"title": "\u092a\u093f\u091b\u0932\u0947 \u0907\u0928\u092a\u0941\u091f",
|
108 |
+
"empty": "\u0915\u0941\u091b \u092d\u0940 \u0928\u0939\u0940\u0902 \u0939\u0948...",
|
109 |
+
"show": "\u0907\u0924\u093f\u0939\u093e\u0938 \u0926\u093f\u0916\u093e\u090f\u0902"
|
110 |
+
},
|
111 |
+
"settings": {
|
112 |
+
"title": "\u0938\u0947\u091f\u093f\u0902\u0917\u094d\u0938 \u092a\u0948\u0928\u0932"
|
113 |
+
},
|
114 |
+
"watermark": "\u0915\u0947 \u0938\u093e\u0925 \u092c\u0928\u093e\u092f\u093e \u0917\u092f\u093e"
|
115 |
+
},
|
116 |
+
"threadHistory": {
|
117 |
+
"sidebar": {
|
118 |
+
"title": "\u092a\u093f\u091b\u0932\u0940 \u091a\u0948\u091f",
|
119 |
+
"filters": {
|
120 |
+
"search": "\u0916\u094b\u091c\u0947\u0902",
|
121 |
+
"placeholder": "Search conversations..."
|
122 |
+
},
|
123 |
+
"timeframes": {
|
124 |
+
"today": "\u0906\u091c",
|
125 |
+
"yesterday": "\u0915\u0932",
|
126 |
+
"previous7days": "\u092a\u093f\u091b\u0932\u0947 7 \u0926\u093f\u0928",
|
127 |
+
"previous30days": "\u092a\u093f\u091b\u0932\u0947 30 \u0926\u093f\u0928"
|
128 |
+
},
|
129 |
+
"empty": "\u0915\u094b\u0908 \u0925\u094d\u0930\u0947\u0921 \u0928\u0939\u0940\u0902 \u092e\u093f\u0932\u093e",
|
130 |
+
"actions": {
|
131 |
+
"close": "\u0938\u093e\u0907\u0921\u092c\u093e\u0930 \u092c\u0902\u0926 \u0915\u0930\u0947\u0902",
|
132 |
+
"open": "\u0938\u093e\u0907\u0921\u092c\u093e\u0930 \u0916\u094b\u0932\u0947\u0902"
|
133 |
+
}
|
134 |
+
},
|
135 |
+
"thread": {
|
136 |
+
"untitled": "\u0936\u0940\u0930\u094d\u0937\u0915\u0939\u0940\u0928 \u0935\u093e\u0930\u094d\u0924\u093e\u0932\u093e\u092a",
|
137 |
+
"menu": {
|
138 |
+
"rename": "Rename",
|
139 |
+
"delete": "Delete"
|
140 |
+
},
|
141 |
+
"actions": {
|
142 |
+
"delete": {
|
143 |
+
"title": "\u0939\u091f\u093e\u0928\u0947 \u0915\u0940 \u092a\u0941\u0937\u094d\u091f\u093f \u0915\u0930\u0947\u0902",
|
144 |
+
"description": "\u092f\u0939 \u0925\u094d\u0930\u0947\u0921 \u0914\u0930 \u0907\u0938\u0915\u0947 \u0938\u0902\u0926\u0947\u0936\u094b\u0902 \u0914\u0930 \u0924\u0924\u094d\u0935\u094b\u0902 \u0915\u094b \u0939\u091f\u093e \u0926\u0947\u0917\u093e\u0964 \u092f\u0939 \u0915\u094d\u0930\u093f\u092f\u093e \u0935\u093e\u092a\u0938 \u0928\u0939\u0940\u0902 \u0915\u0940 \u091c\u093e \u0938\u0915\u0924\u0940",
|
145 |
+
"success": "\u091a\u0948\u091f \u0939\u091f\u093e \u0926\u0940 \u0917\u0908",
|
146 |
+
"inProgress": "\u091a\u0948\u091f \u0939\u091f\u093e\u0908 \u091c\u093e \u0930\u0939\u0940 \u0939\u0948"
|
147 |
+
},
|
148 |
+
"rename": {
|
149 |
+
"title": "\u0925\u094d\u0930\u0947\u0921 \u0915\u093e \u0928\u093e\u092e \u092c\u0926\u0932\u0947\u0902",
|
150 |
+
"description": "\u0907\u0938 \u0925\u094d\u0930\u0947\u0921 \u0915\u0947 \u0932\u093f\u090f \u090f\u0915 \u0928\u092f\u093e \u0928\u093e\u092e \u0926\u0930\u094d\u091c \u0915\u0930\u0947\u0902",
|
151 |
+
"form": {
|
152 |
+
"name": {
|
153 |
+
"label": "\u0928\u093e\u092e",
|
154 |
+
"placeholder": "\u0928\u092f\u093e \u0928\u093e\u092e \u0926\u0930\u094d\u091c \u0915\u0930\u0947\u0902"
|
155 |
+
}
|
156 |
+
},
|
157 |
+
"success": "\u0925\u094d\u0930\u0947\u0921 \u0915\u093e \u0928\u093e\u092e \u092c\u0926\u0932 \u0926\u093f\u092f\u093e \u0917\u092f\u093e!",
|
158 |
+
"inProgress": "\u0925\u094d\u0930\u0947\u0921 \u0915\u093e \u0928\u093e\u092e \u092c\u0926\u0932\u093e \u091c\u093e \u0930\u0939\u093e \u0939\u0948"
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
},
|
163 |
+
"navigation": {
|
164 |
+
"header": {
|
165 |
+
"chat": "\u091a\u0948\u091f",
|
166 |
+
"readme": "\u0930\u0940\u0921\u092e\u0940",
|
167 |
+
"theme": {
|
168 |
+
"light": "Light Theme",
|
169 |
+
"dark": "Dark Theme",
|
170 |
+
"system": "Follow System"
|
171 |
+
}
|
172 |
+
},
|
173 |
+
"newChat": {
|
174 |
+
"button": "\u0928\u0908 \u091a\u0948\u091f",
|
175 |
+
"dialog": {
|
176 |
+
"title": "\u0928\u0908 \u091a\u0948\u091f \u092c\u0928\u093e\u090f\u0902",
|
177 |
+
"description": "\u092f\u0939 \u0906\u092a\u0915\u093e \u0935\u0930\u094d\u0924\u092e\u093e\u0928 \u091a\u0948\u091f \u0907\u0924\u093f\u0939\u093e\u0938 \u0938\u093e\u092b\u093c \u0915\u0930 \u0926\u0947\u0917\u093e\u0964 \u0915\u094d\u092f\u093e \u0906\u092a \u091c\u093e\u0930\u0940 \u0930\u0916\u0928\u093e \u091a\u093e\u0939\u0924\u0947 \u0939\u0948\u0902?",
|
178 |
+
"tooltip": "\u0928\u0908 \u091a\u0948\u091f"
|
179 |
+
}
|
180 |
+
},
|
181 |
+
"user": {
|
182 |
+
"menu": {
|
183 |
+
"settings": "\u0938\u0947\u091f\u093f\u0902\u0917\u094d\u0938",
|
184 |
+
"settingsKey": "S",
|
185 |
+
"apiKeys": "API \u0915\u0941\u0902\u091c\u093f\u092f\u093e\u0902",
|
186 |
+
"logout": "\u0932\u0949\u0917\u0906\u0909\u091f"
|
187 |
+
}
|
188 |
+
}
|
189 |
+
},
|
190 |
+
"apiKeys": {
|
191 |
+
"title": "\u0906\u0935\u0936\u094d\u092f\u0915 API \u0915\u0941\u0902\u091c\u093f\u092f\u093e\u0902",
|
192 |
+
"description": "\u0907\u0938 \u0910\u092a \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f, \u0928\u093f\u092e\u094d\u0928\u0932\u093f\u0916\u093f\u0924 API \u0915\u0941\u0902\u091c\u093f\u092f\u093e\u0902 \u0906\u0935\u0936\u094d\u092f\u0915 \u0939\u0948\u0902\u0964 \u0915\u0941\u0902\u091c\u093f\u092f\u093e\u0902 \u0906\u092a\u0915\u0947 \u0921\u093f\u0935\u093e\u0907\u0938 \u0915\u0947 \u0938\u094d\u0925\u093e\u0928\u0940\u092f \u0938\u0902\u0917\u094d\u0930\u0939\u0923 \u092e\u0947\u0902 \u0938\u0902\u0917\u094d\u0930\u0939\u0940\u0924 \u0915\u0940 \u091c\u093e\u0924\u0940 \u0939\u0948\u0902\u0964",
|
193 |
+
"success": {
|
194 |
+
"saved": "\u0938\u092b\u0932\u0924\u093e\u092a\u0942\u0930\u094d\u0935\u0915 \u0938\u0939\u0947\u091c\u093e \u0917\u092f\u093e"
|
195 |
+
}
|
196 |
+
},
|
197 |
+
"alerts": {
|
198 |
+
"info": "Info",
|
199 |
+
"note": "Note",
|
200 |
+
"tip": "Tip",
|
201 |
+
"important": "Important",
|
202 |
+
"warning": "Warning",
|
203 |
+
"caution": "Caution",
|
204 |
+
"debug": "Debug",
|
205 |
+
"example": "Example",
|
206 |
+
"success": "Success",
|
207 |
+
"help": "Help",
|
208 |
+
"idea": "Idea",
|
209 |
+
"pending": "Pending",
|
210 |
+
"security": "Security",
|
211 |
+
"beta": "Beta",
|
212 |
+
"best-practice": "Best Practice"
|
213 |
+
}
|
214 |
+
}
|
.chainlit/translations/ja.json
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"common": {
|
3 |
+
"actions": {
|
4 |
+
"cancel": "\u30ad\u30e3\u30f3\u30bb\u30eb",
|
5 |
+
"confirm": "\u78ba\u8a8d",
|
6 |
+
"continue": "\u7d9a\u3051\u308b",
|
7 |
+
"goBack": "\u623b\u308b",
|
8 |
+
"reset": "\u30ea\u30bb\u30c3\u30c8",
|
9 |
+
"submit": "\u9001\u4fe1"
|
10 |
+
},
|
11 |
+
"status": {
|
12 |
+
"loading": "\u8aad\u307f\u8fbc\u307f\u4e2d...",
|
13 |
+
"error": {
|
14 |
+
"default": "\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f",
|
15 |
+
"serverConnection": "\u30b5\u30fc\u30d0\u30fc\u306b\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f"
|
16 |
+
}
|
17 |
+
}
|
18 |
+
},
|
19 |
+
"auth": {
|
20 |
+
"login": {
|
21 |
+
"title": "\u30a2\u30d7\u30ea\u306b\u30ed\u30b0\u30a4\u30f3",
|
22 |
+
"form": {
|
23 |
+
"email": {
|
24 |
+
"label": "\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9",
|
25 |
+
"required": "\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306f\u5fc5\u9808\u9805\u76ee\u3067\u3059"
|
26 |
+
},
|
27 |
+
"password": {
|
28 |
+
"label": "\u30d1\u30b9\u30ef\u30fc\u30c9",
|
29 |
+
"required": "\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u5fc5\u9808\u9805\u76ee\u3067\u3059"
|
30 |
+
},
|
31 |
+
"actions": {
|
32 |
+
"signin": "\u30b5\u30a4\u30f3\u30a4\u30f3"
|
33 |
+
},
|
34 |
+
"alternativeText": {
|
35 |
+
"or": "\u307e\u305f\u306f"
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"errors": {
|
39 |
+
"default": "\u30b5\u30a4\u30f3\u30a4\u30f3\u3067\u304d\u307e\u305b\u3093",
|
40 |
+
"signin": "\u5225\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u304f\u3060\u3055\u3044",
|
41 |
+
"oauthSignin": "\u5225\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u304f\u3060\u3055\u3044",
|
42 |
+
"redirectUriMismatch": "\u30ea\u30c0\u30a4\u30ec\u30af\u30c8URI\u304cOAuth\u30a2\u30d7\u30ea\u306e\u8a2d\u5b9a\u3068\u4e00\u81f4\u3057\u307e\u305b\u3093",
|
43 |
+
"oauthCallback": "\u5225\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u304f\u3060\u3055\u3044",
|
44 |
+
"oauthCreateAccount": "\u5225\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u304f\u3060\u3055\u3044",
|
45 |
+
"emailCreateAccount": "\u5225\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u304f\u3060\u3055\u3044",
|
46 |
+
"callback": "\u5225\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u304f\u3060\u3055\u3044",
|
47 |
+
"oauthAccountNotLinked": "\u672c\u4eba\u78ba\u8a8d\u306e\u305f\u3081\u3001\u6700\u521d\u306b\u4f7f\u7528\u3057\u305f\u306e\u3068\u540c\u3058\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u304f\u3060\u3055\u3044",
|
48 |
+
"emailSignin": "\u30e1\u30fc\u30eb\u3092\u9001\u4fe1\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f",
|
49 |
+
"emailVerify": "\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u65b0\u3057\u3044\u30e1\u30fc\u30eb\u304c\u9001\u4fe1\u3055\u308c\u307e\u3057\u305f",
|
50 |
+
"credentialsSignin": "\u30b5\u30a4\u30f3\u30a4\u30f3\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u5165\u529b\u3057\u305f\u60c5\u5831\u304c\u6b63\u3057\u3044\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044",
|
51 |
+
"sessionRequired": "\u3053\u306e\u30da\u30fc\u30b8\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u306b\u306f\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u304f\u3060\u3055\u3044"
|
52 |
+
}
|
53 |
+
},
|
54 |
+
"provider": {
|
55 |
+
"continue": "{{provider}}\u3067\u7d9a\u3051\u308b"
|
56 |
+
}
|
57 |
+
},
|
58 |
+
"chat": {
|
59 |
+
"input": {
|
60 |
+
"placeholder": "\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044...",
|
61 |
+
"actions": {
|
62 |
+
"send": "\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1",
|
63 |
+
"stop": "\u30bf\u30b9\u30af\u3092\u505c\u6b62",
|
64 |
+
"attachFiles": "\u30d5\u30a1\u30a4\u30eb\u3092\u6dfb\u4ed8"
|
65 |
+
}
|
66 |
+
},
|
67 |
+
"speech": {
|
68 |
+
"start": "\u9332\u97f3\u958b\u59cb",
|
69 |
+
"stop": "\u9332\u97f3\u505c\u6b62",
|
70 |
+
"connecting": "\u63a5\u7d9a\u4e2d"
|
71 |
+
},
|
72 |
+
"fileUpload": {
|
73 |
+
"dragDrop": "\u3053\u3053\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u30c9\u30e9\u30c3\u30b0\uff06\u30c9\u30ed\u30c3\u30d7",
|
74 |
+
"browse": "\u30d5\u30a1\u30a4\u30eb\u3092\u53c2\u7167",
|
75 |
+
"sizeLimit": "\u5236\u9650\uff1a",
|
76 |
+
"errors": {
|
77 |
+
"failed": "\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
|
78 |
+
"cancelled": "\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3092\u30ad\u30e3\u30f3\u30bb\u30eb\u3057\u307e\u3057\u305f\uff1a"
|
79 |
+
}
|
80 |
+
},
|
81 |
+
"messages": {
|
82 |
+
"status": {
|
83 |
+
"using": "\u4f7f\u7528\u4e2d",
|
84 |
+
"used": "\u4f7f\u7528\u6e08\u307f"
|
85 |
+
},
|
86 |
+
"actions": {
|
87 |
+
"copy": {
|
88 |
+
"button": "\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u30b3\u30d4\u30fc",
|
89 |
+
"success": "\u30b3\u30d4\u30fc\u3057\u307e\u3057\u305f\uff01"
|
90 |
+
}
|
91 |
+
},
|
92 |
+
"feedback": {
|
93 |
+
"positive": "\u5f79\u306b\u7acb\u3063\u305f",
|
94 |
+
"negative": "\u5f79\u306b\u7acb\u305f\u306a\u304b\u3063\u305f",
|
95 |
+
"edit": "\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3092\u7de8\u96c6",
|
96 |
+
"dialog": {
|
97 |
+
"title": "\u30b3\u30e1\u30f3\u30c8\u3092\u8ffd\u52a0",
|
98 |
+
"submit": "\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3092\u9001\u4fe1"
|
99 |
+
},
|
100 |
+
"status": {
|
101 |
+
"updating": "\u66f4\u65b0\u4e2d",
|
102 |
+
"updated": "\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3092\u66f4\u65b0\u3057\u307e\u3057\u305f"
|
103 |
+
}
|
104 |
+
}
|
105 |
+
},
|
106 |
+
"history": {
|
107 |
+
"title": "\u6700\u8fd1\u306e\u5165\u529b",
|
108 |
+
"empty": "\u4f55\u3082\u3042\u308a\u307e\u305b\u3093...",
|
109 |
+
"show": "\u5c65\u6b74\u3092\u8868\u793a"
|
110 |
+
},
|
111 |
+
"settings": {
|
112 |
+
"title": "\u8a2d\u5b9a\u30d1\u30cd\u30eb"
|
113 |
+
},
|
114 |
+
"watermark": "\u958b\u767a\u5143\uff1a"
|
115 |
+
},
|
116 |
+
"threadHistory": {
|
117 |
+
"sidebar": {
|
118 |
+
"title": "\u904e\u53bb\u306e\u30c1\u30e3\u30c3\u30c8",
|
119 |
+
"filters": {
|
120 |
+
"search": "\u691c\u7d22",
|
121 |
+
"placeholder": "Search conversations..."
|
122 |
+
},
|
123 |
+
"timeframes": {
|
124 |
+
"today": "\u4eca\u65e5",
|
125 |
+
"yesterday": "\u6628\u65e5",
|
126 |
+
"previous7days": "\u904e\u53bb7\u65e5\u9593",
|
127 |
+
"previous30days": "\u904e\u53bb30\u65e5\u9593"
|
128 |
+
},
|
129 |
+
"empty": "\u30b9\u30ec\u30c3\u30c9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",
|
130 |
+
"actions": {
|
131 |
+
"close": "\u30b5\u30a4\u30c9\u30d0\u30fc\u3092\u9589\u3058\u308b",
|
132 |
+
"open": "\u30b5\u30a4\u30c9\u30d0\u30fc\u3092\u958b\u304f"
|
133 |
+
}
|
134 |
+
},
|
135 |
+
"thread": {
|
136 |
+
"untitled": "\u7121\u984c\u306e\u4f1a\u8a71",
|
137 |
+
"menu": {
|
138 |
+
"rename": "Rename",
|
139 |
+
"delete": "Delete"
|
140 |
+
},
|
141 |
+
"actions": {
|
142 |
+
"delete": {
|
143 |
+
"title": "\u524a\u9664\u306e\u78ba\u8a8d",
|
144 |
+
"description": "\u3053\u306e\u30b9\u30ec\u30c3\u30c9\u3068\u305d\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3001\u8981\u7d20\u304c\u524a\u9664\u3055\u308c\u307e\u3059\u3002\u3053\u306e\u64cd\u4f5c\u306f\u53d6\u308a\u6d88\u305b\u307e\u305b\u3093",
|
145 |
+
"success": "\u30c1\u30e3\u30c3\u30c8\u3092\u524a\u9664\u3057\u307e\u3057\u305f",
|
146 |
+
"inProgress": "\u30c1\u30e3\u30c3\u30c8\u3092\u524a\u9664\u4e2d"
|
147 |
+
},
|
148 |
+
"rename": {
|
149 |
+
"title": "\u30b9\u30ec\u30c3\u30c9\u306e\u540d\u524d\u3092\u5909\u66f4",
|
150 |
+
"description": "\u3053\u306e\u30b9\u30ec\u30c3\u30c9\u306e\u65b0\u3057\u3044\u540d\u524d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044",
|
151 |
+
"form": {
|
152 |
+
"name": {
|
153 |
+
"label": "\u540d\u524d",
|
154 |
+
"placeholder": "\u65b0\u3057\u3044\u540d\u524d\u3092\u5165\u529b"
|
155 |
+
}
|
156 |
+
},
|
157 |
+
"success": "\u30b9\u30ec\u30c3\u30c9\u540d\u3092\u5909\u66f4\u3057\u307e\u3057\u305f\uff01",
|
158 |
+
"inProgress": "\u30b9\u30ec\u30c3\u30c9\u540d\u3092\u5909\u66f4\u4e2d"
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
},
|
163 |
+
"navigation": {
|
164 |
+
"header": {
|
165 |
+
"chat": "\u30c1\u30e3\u30c3\u30c8",
|
166 |
+
"readme": "\u8aac\u660e\u66f8",
|
167 |
+
"theme": {
|
168 |
+
"light": "Light Theme",
|
169 |
+
"dark": "Dark Theme",
|
170 |
+
"system": "Follow System"
|
171 |
+
}
|
172 |
+
},
|
173 |
+
"newChat": {
|
174 |
+
"button": "\u65b0\u898f\u30c1\u30e3\u30c3\u30c8",
|
175 |
+
"dialog": {
|
176 |
+
"title": "\u65b0\u898f\u30c1\u30e3\u30c3\u30c8\u306e\u4f5c\u6210",
|
177 |
+
"description": "\u73fe\u5728\u306e\u30c1\u30e3\u30c3\u30c8\u5c65\u6b74\u304c\u30af\u30ea\u30a2\u3055\u308c\u307e\u3059\u3002\u7d9a\u884c\u3057\u307e\u3059\u304b\uff1f",
|
178 |
+
"tooltip": "\u65b0\u898f\u30c1\u30e3\u30c3\u30c8"
|
179 |
+
}
|
180 |
+
},
|
181 |
+
"user": {
|
182 |
+
"menu": {
|
183 |
+
"settings": "\u8a2d\u5b9a",
|
184 |
+
"settingsKey": "S",
|
185 |
+
"apiKeys": "API\u30ad\u30fc",
|
186 |
+
"logout": "\u30ed\u30b0\u30a2\u30a6\u30c8"
|
187 |
+
}
|
188 |
+
}
|
189 |
+
},
|
190 |
+
"apiKeys": {
|
191 |
+
"title": "\u5fc5\u8981\u306aAPI\u30ad\u30fc",
|
192 |
+
"description": "\u3053\u306e\u30a2\u30d7\u30ea\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306eAPI\u30ad\u30fc\u304c\u5fc5\u8981\u3067\u3059\u3002\u30ad\u30fc\u306f\u304a\u4f7f\u3044\u306e\u30c7\u30d0\u30a4\u30b9\u306e\u30ed\u30fc\u30ab\u30eb\u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002",
|
193 |
+
"success": {
|
194 |
+
"saved": "\u4fdd\u5b58\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f"
|
195 |
+
}
|
196 |
+
},
|
197 |
+
"alerts": {
|
198 |
+
"info": "Info",
|
199 |
+
"note": "Note",
|
200 |
+
"tip": "Tip",
|
201 |
+
"important": "Important",
|
202 |
+
"warning": "Warning",
|
203 |
+
"caution": "Caution",
|
204 |
+
"debug": "Debug",
|
205 |
+
"example": "Example",
|
206 |
+
"success": "Success",
|
207 |
+
"help": "Help",
|
208 |
+
"idea": "Idea",
|
209 |
+
"pending": "Pending",
|
210 |
+
"security": "Security",
|
211 |
+
"beta": "Beta",
|
212 |
+
"best-practice": "Best Practice"
|
213 |
+
}
|
214 |
+
}
|
.chainlit/translations/kn.json
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"common": {
|
3 |
+
"actions": {
|
4 |
+
"cancel": "\u0cb0\u0ca6\u0ccd\u0ca6\u0cc1\u0cae\u0cbe\u0ca1\u0cbf",
|
5 |
+
"confirm": "\u0ca6\u0cc3\u0ca2\u0cc0\u0c95\u0cb0\u0cbf\u0cb8\u0cbf",
|
6 |
+
"continue": "\u0cae\u0cc1\u0c82\u0ca6\u0cc1\u0cb5\u0cb0\u0cbf\u0cb8\u0cbf",
|
7 |
+
"goBack": "\u0cb9\u0cbf\u0c82\u0ca6\u0cc6 \u0cb9\u0ccb\u0c97\u0cbf",
|
8 |
+
"reset": "\u0cae\u0cb0\u0cc1\u0cb9\u0cca\u0c82\u0ca6\u0cbf\u0cb8\u0cbf",
|
9 |
+
"submit": "\u0cb8\u0cb2\u0ccd\u0cb2\u0cbf\u0cb8\u0cbf"
|
10 |
+
},
|
11 |
+
"status": {
|
12 |
+
"loading": "\u0cb2\u0ccb\u0ca1\u0ccd \u0c86\u0c97\u0cc1\u0ca4\u0ccd\u0ca4\u0cbf\u0ca6\u0cc6...",
|
13 |
+
"error": {
|
14 |
+
"default": "\u0ca6\u0ccb\u0cb7 \u0cb8\u0c82\u0cad\u0cb5\u0cbf\u0cb8\u0cbf\u0ca6\u0cc6",
|
15 |
+
"serverConnection": "\u0cb8\u0cb0\u0ccd\u0cb5\u0cb0\u0ccd\u200c \u0c85\u0ca8\u0ccd\u0ca8\u0cc1 \u0ca4\u0cb2\u0cc1\u0caa\u0cb2\u0cc1 \u0cb8\u0cbe\u0ca7\u0ccd\u0caf\u0cb5\u0cbe\u0c97\u0cb2\u0cbf\u0cb2\u0ccd\u0cb2"
|
16 |
+
}
|
17 |
+
}
|
18 |
+
},
|
19 |
+
"auth": {
|
20 |
+
"login": {
|
21 |
+
"title": "\u0c85\u0caa\u0ccd\u0cb2\u0cbf\u0c95\u0cc7\u0cb6\u0ca8\u0ccd\u200c\u0c97\u0cc6 \u0caa\u0ccd\u0cb0\u0cb5\u0cc7\u0cb6\u0cbf\u0cb8\u0cb2\u0cc1 \u0cb2\u0cbe\u0c97\u0cbf\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cbf",
|
22 |
+
"form": {
|
23 |
+
"email": {
|
24 |
+
"label": "\u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0cb5\u0cbf\u0cb3\u0cbe\u0cb8",
|
25 |
+
"required": "\u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0c85\u0c97\u0ca4\u0ccd\u0caf\u0cb5\u0cbf\u0cb0\u0cc1\u0cb5 \u0c95\u0ccd\u0cb7\u0cc7\u0ca4\u0ccd\u0cb0"
|
26 |
+
},
|
27 |
+
"password": {
|
28 |
+
"label": "\u0caa\u0cbe\u0cb8\u0ccd\u200c\u0cb5\u0cb0\u0ccd\u0ca1\u0ccd",
|
29 |
+
"required": "\u0caa\u0cbe\u0cb8\u0ccd\u200c\u0cb5\u0cb0\u0ccd\u0ca1\u0ccd \u0c85\u0c97\u0ca4\u0ccd\u0caf\u0cb5\u0cbf\u0cb0\u0cc1\u0cb5 \u0c95\u0ccd\u0cb7\u0cc7\u0ca4\u0ccd\u0cb0"
|
30 |
+
},
|
31 |
+
"actions": {
|
32 |
+
"signin": "\u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cbf"
|
33 |
+
},
|
34 |
+
"alternativeText": {
|
35 |
+
"or": "\u0c85\u0ca5\u0cb5\u0cbe"
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"errors": {
|
39 |
+
"default": "\u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cb2\u0cc1 \u0cb8\u0cbe\u0ca7\u0ccd\u0caf\u0cb5\u0cbe\u0c97\u0cb2\u0cbf\u0cb2\u0ccd\u0cb2",
|
40 |
+
"signin": "\u0cac\u0cc7\u0cb0\u0cc6 \u0c96\u0cbe\u0ca4\u0cc6\u0caf\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cb2\u0cc1 \u0caa\u0ccd\u0cb0\u0caf\u0ca4\u0ccd\u0ca8\u0cbf\u0cb8\u0cbf",
|
41 |
+
"oauthSignin": "\u0cac\u0cc7\u0cb0\u0cc6 \u0c96\u0cbe\u0ca4\u0cc6\u0caf\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cb2\u0cc1 \u0caa\u0ccd\u0cb0\u0caf\u0ca4\u0ccd\u0ca8\u0cbf\u0cb8\u0cbf",
|
42 |
+
"redirectUriMismatch": "\u0cb0\u0cc0\u0ca1\u0cc8\u0cb0\u0cc6\u0c95\u0ccd\u0c9f\u0ccd URI \u0c93\u0ca5\u0ccd \u0c85\u0caa\u0ccd\u0cb2\u0cbf\u0c95\u0cc7\u0cb6\u0ca8\u0ccd \u0c95\u0cbe\u0ca8\u0ccd\u0cab\u0cbf\u0c97\u0cb0\u0cc7\u0cb6\u0ca8\u0ccd\u200c\u0c97\u0cc6 \u0cb9\u0cca\u0c82\u0ca6\u0cbf\u0c95\u0cc6\u0caf\u0cbe\u0c97\u0cc1\u0ca4\u0ccd\u0ca4\u0cbf\u0cb2\u0ccd\u0cb2",
|
43 |
+
"oauthCallback": "\u0cac\u0cc7\u0cb0\u0cc6 \u0c96\u0cbe\u0ca4\u0cc6\u0caf\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cb2\u0cc1 \u0caa\u0ccd\u0cb0\u0caf\u0ca4\u0ccd\u0ca8\u0cbf\u0cb8\u0cbf",
|
44 |
+
"oauthCreateAccount": "\u0cac\u0cc7\u0cb0\u0cc6 \u0c96\u0cbe\u0ca4\u0cc6\u0caf\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cb2\u0cc1 \u0caa\u0ccd\u0cb0\u0caf\u0ca4\u0ccd\u0ca8\u0cbf\u0cb8\u0cbf",
|
45 |
+
"emailCreateAccount": "\u0cac\u0cc7\u0cb0\u0cc6 \u0c96\u0cbe\u0ca4\u0cc6\u0caf\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cb2\u0cc1 \u0caa\u0ccd\u0cb0\u0caf\u0ca4\u0ccd\u0ca8\u0cbf\u0cb8\u0cbf",
|
46 |
+
"callback": "\u0cac\u0cc7\u0cb0\u0cc6 \u0c96\u0cbe\u0ca4\u0cc6\u0caf\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cb2\u0cc1 \u0caa\u0ccd\u0cb0\u0caf\u0ca4\u0ccd\u0ca8\u0cbf\u0cb8\u0cbf",
|
47 |
+
"oauthAccountNotLinked": "\u0ca8\u0cbf\u0cae\u0ccd\u0cae \u0c97\u0cc1\u0cb0\u0cc1\u0ca4\u0ca8\u0ccd\u0ca8\u0cc1 \u0ca6\u0cc3\u0ca2\u0cc0\u0c95\u0cb0\u0cbf\u0cb8\u0cb2\u0cc1, \u0ca8\u0cc0\u0cb5\u0cc1 \u0cae\u0cca\u0ca6\u0cb2\u0cc1 \u0cac\u0cb3\u0cb8\u0cbf\u0ca6 \u0c85\u0ca6\u0cc7 \u0c96\u0cbe\u0ca4\u0cc6\u0caf\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cbf",
|
48 |
+
"emailSignin": "\u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0c95\u0cb3\u0cc1\u0cb9\u0cbf\u0cb8\u0cb2\u0cc1 \u0cb8\u0cbe\u0ca7\u0ccd\u0caf\u0cb5\u0cbe\u0c97\u0cb2\u0cbf\u0cb2\u0ccd\u0cb2",
|
49 |
+
"emailVerify": "\u0ca6\u0caf\u0cb5\u0cbf\u0c9f\u0ccd\u0c9f\u0cc1 \u0ca8\u0cbf\u0cae\u0ccd\u0cae \u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0caa\u0cb0\u0cbf\u0cb6\u0cc0\u0cb2\u0cbf\u0cb8\u0cbf, \u0cb9\u0cca\u0cb8 \u0c87\u0cae\u0cc7\u0cb2\u0ccd \u0c95\u0cb3\u0cc1\u0cb9\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6",
|
50 |
+
"credentialsSignin": "\u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cb5\u0cbf\u0cab\u0cb2\u0cb5\u0cbe\u0c97\u0cbf\u0ca6\u0cc6. \u0ca8\u0cc0\u0cb5\u0cc1 \u0c92\u0ca6\u0c97\u0cbf\u0cb8\u0cbf\u0ca6 \u0cb5\u0cbf\u0cb5\u0cb0\u0c97\u0cb3\u0cc1 \u0cb8\u0cb0\u0cbf\u0caf\u0cbe\u0c97\u0cbf\u0cb5\u0cc6\u0caf\u0cc7 \u0c8e\u0c82\u0ca6\u0cc1 \u0caa\u0cb0\u0cbf\u0cb6\u0cc0\u0cb2\u0cbf\u0cb8\u0cbf",
|
51 |
+
"sessionRequired": "\u0c88 \u0caa\u0cc1\u0c9f\u0cb5\u0ca8\u0ccd\u0ca8\u0cc1 \u0caa\u0ccd\u0cb0\u0cb5\u0cc7\u0cb6\u0cbf\u0cb8\u0cb2\u0cc1 \u0ca6\u0caf\u0cb5\u0cbf\u0c9f\u0ccd\u0c9f\u0cc1 \u0cb8\u0cc8\u0ca8\u0ccd \u0c87\u0ca8\u0ccd \u0cae\u0cbe\u0ca1\u0cbf"
|
52 |
+
}
|
53 |
+
},
|
54 |
+
"provider": {
|
55 |
+
"continue": "{{provider}} \u0ca8\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0cae\u0cc1\u0c82\u0ca6\u0cc1\u0cb5\u0cb0\u0cbf\u0cb8\u0cbf"
|
56 |
+
}
|
57 |
+
},
|
58 |
+
"chat": {
|
59 |
+
"input": {
|
60 |
+
"placeholder": "\u0ca8\u0cbf\u0cae\u0ccd\u0cae \u0cb8\u0c82\u0ca6\u0cc7\u0cb6\u0cb5\u0ca8\u0ccd\u0ca8\u0cc1 \u0c87\u0cb2\u0ccd\u0cb2\u0cbf \u0c9f\u0cc8\u0caa\u0ccd \u0cae\u0cbe\u0ca1\u0cbf...",
|
61 |
+
"actions": {
|
62 |
+
"send": "\u0cb8\u0c82\u0ca6\u0cc7\u0cb6 \u0c95\u0cb3\u0cc1\u0cb9\u0cbf\u0cb8\u0cbf",
|
63 |
+
"stop": "\u0c95\u0cbe\u0cb0\u0ccd\u0caf \u0ca8\u0cbf\u0cb2\u0ccd\u0cb2\u0cbf\u0cb8\u0cbf",
|
64 |
+
"attachFiles": "\u0cab\u0cc8\u0cb2\u0ccd\u200c\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1 \u0cb2\u0c97\u0ca4\u0ccd\u0ca4\u0cbf\u0cb8\u0cbf"
|
65 |
+
}
|
66 |
+
},
|
67 |
+
"speech": {
|
68 |
+
"start": "\u0cb0\u0cc6\u0c95\u0cbe\u0cb0\u0ccd\u0ca1\u0cbf\u0c82\u0c97\u0ccd \u0caa\u0ccd\u0cb0\u0cbe\u0cb0\u0c82\u0cad\u0cbf\u0cb8\u0cbf",
|
69 |
+
"stop": "\u0cb0\u0cc6\u0c95\u0cbe\u0cb0\u0ccd\u0ca1\u0cbf\u0c82\u0c97\u0ccd \u0ca8\u0cbf\u0cb2\u0ccd\u0cb2\u0cbf\u0cb8\u0cbf",
|
70 |
+
"connecting": "\u0cb8\u0c82\u0caa\u0cb0\u0ccd\u0c95\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cc1\u0ca4\u0ccd\u0ca4\u0cbf\u0ca6\u0cc6"
|
71 |
+
},
|
72 |
+
"fileUpload": {
|
73 |
+
"dragDrop": "\u0cab\u0cc8\u0cb2\u0ccd\u200c\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1 \u0c87\u0cb2\u0ccd\u0cb2\u0cbf \u0c8e\u0cb3\u0cc6\u0ca6\u0cc1 \u0cac\u0cbf\u0ca1\u0cbf",
|
74 |
+
"browse": "\u0cab\u0cc8\u0cb2\u0ccd\u200c\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1 \u0cac\u0ccd\u0cb0\u0ccc\u0cb8\u0ccd \u0cae\u0cbe\u0ca1\u0cbf",
|
75 |
+
"sizeLimit": "\u0cae\u0cbf\u0ca4\u0cbf:",
|
76 |
+
"errors": {
|
77 |
+
"failed": "\u0c85\u0caa\u0ccd\u200c\u0cb2\u0ccb\u0ca1\u0ccd \u0cb5\u0cbf\u0cab\u0cb2\u0cb5\u0cbe\u0c97\u0cbf\u0ca6\u0cc6",
|
78 |
+
"cancelled": "\u0c85\u0caa\u0ccd\u200c\u0cb2\u0ccb\u0ca1\u0ccd \u0cb0\u0ca6\u0ccd\u0ca6\u0cc1\u0c97\u0cca\u0cb3\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6"
|
79 |
+
}
|
80 |
+
},
|
81 |
+
"messages": {
|
82 |
+
"status": {
|
83 |
+
"using": "\u0cac\u0cb3\u0cb8\u0cc1\u0ca4\u0ccd\u0ca4\u0cbf\u0cb0\u0cc1\u0cb5\u0cc1\u0ca6\u0cc1",
|
84 |
+
"used": "\u0cac\u0cb3\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6"
|
85 |
+
},
|
86 |
+
"actions": {
|
87 |
+
"copy": {
|
88 |
+
"button": "\u0c95\u0ccd\u0cb2\u0cbf\u0caa\u0ccd\u200c\u0cac\u0ccb\u0cb0\u0ccd\u0ca1\u0ccd\u200c\u0c97\u0cc6 \u0ca8\u0c95\u0cb2\u0cbf\u0cb8\u0cbf",
|
89 |
+
"success": "\u0ca8\u0c95\u0cb2\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6!"
|
90 |
+
}
|
91 |
+
},
|
92 |
+
"feedback": {
|
93 |
+
"positive": "\u0cb8\u0cb9\u0cbe\u0caf\u0c95\u0cb5\u0cbe\u0c97\u0cbf\u0ca6\u0cc6",
|
94 |
+
"negative": "\u0cb8\u0cb9\u0cbe\u0caf\u0c95\u0cb5\u0cbe\u0c97\u0cbf\u0cb2\u0ccd\u0cb2",
|
95 |
+
"edit": "\u0caa\u0ccd\u0cb0\u0ca4\u0cbf\u0c95\u0ccd\u0cb0\u0cbf\u0caf\u0cc6 \u0cb8\u0c82\u0caa\u0cbe\u0ca6\u0cbf\u0cb8\u0cbf",
|
96 |
+
"dialog": {
|
97 |
+
"title": "\u0c95\u0cbe\u0cae\u0cc6\u0c82\u0c9f\u0ccd \u0cb8\u0cc7\u0cb0\u0cbf\u0cb8\u0cbf",
|
98 |
+
"submit": "\u0caa\u0ccd\u0cb0\u0ca4\u0cbf\u0c95\u0ccd\u0cb0\u0cbf\u0caf\u0cc6 \u0cb8\u0cb2\u0ccd\u0cb2\u0cbf\u0cb8\u0cbf"
|
99 |
+
},
|
100 |
+
"status": {
|
101 |
+
"updating": "\u0ca8\u0cb5\u0cc0\u0c95\u0cb0\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cc1\u0ca4\u0ccd\u0ca4\u0cbf\u0ca6\u0cc6",
|
102 |
+
"updated": "\u0caa\u0ccd\u0cb0\u0ca4\u0cbf\u0c95\u0ccd\u0cb0\u0cbf\u0caf\u0cc6 \u0ca8\u0cb5\u0cc0\u0c95\u0cb0\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6"
|
103 |
+
}
|
104 |
+
}
|
105 |
+
},
|
106 |
+
"history": {
|
107 |
+
"title": "\u0c95\u0cca\u0ca8\u0cc6\u0caf \u0c87\u0ca8\u0ccd\u200c\u0caa\u0cc1\u0c9f\u0ccd\u200c\u0c97\u0cb3\u0cc1",
|
108 |
+
"empty": "\u0c96\u0cbe\u0cb2\u0cbf\u0caf\u0cbe\u0c97\u0cbf\u0ca6\u0cc6...",
|
109 |
+
"show": "\u0c87\u0ca4\u0cbf\u0cb9\u0cbe\u0cb8 \u0ca4\u0ccb\u0cb0\u0cbf\u0cb8\u0cbf"
|
110 |
+
},
|
111 |
+
"settings": {
|
112 |
+
"title": "\u0cb8\u0cc6\u0c9f\u0ccd\u0c9f\u0cbf\u0c82\u0c97\u0ccd\u200c\u0c97\u0cb3 \u0caa\u0ccd\u0caf\u0cbe\u0ca8\u0cc6\u0cb2\u0ccd"
|
113 |
+
},
|
114 |
+
"watermark": "\u0c87\u0ca6\u0cb0\u0cca\u0c82\u0ca6\u0cbf\u0c97\u0cc6 \u0ca8\u0cbf\u0cb0\u0ccd\u0cae\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6"
|
115 |
+
},
|
116 |
+
"threadHistory": {
|
117 |
+
"sidebar": {
|
118 |
+
"title": "\u0cb9\u0cbf\u0c82\u0ca6\u0cbf\u0ca8 \u0cb8\u0c82\u0cad\u0cbe\u0cb7\u0ca3\u0cc6\u0c97\u0cb3\u0cc1",
|
119 |
+
"filters": {
|
120 |
+
"search": "\u0cb9\u0cc1\u0ca1\u0cc1\u0c95\u0cbf",
|
121 |
+
"placeholder": "Search conversations..."
|
122 |
+
},
|
123 |
+
"timeframes": {
|
124 |
+
"today": "\u0c87\u0c82\u0ca6\u0cc1",
|
125 |
+
"yesterday": "\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6",
|
126 |
+
"previous7days": "\u0cb9\u0cbf\u0c82\u0ca6\u0cbf\u0ca8 7 \u0ca6\u0cbf\u0ca8\u0c97\u0cb3\u0cc1",
|
127 |
+
"previous30days": "\u0cb9\u0cbf\u0c82\u0ca6\u0cbf\u0ca8 30 \u0ca6\u0cbf\u0ca8\u0c97\u0cb3\u0cc1"
|
128 |
+
},
|
129 |
+
"empty": "\u0caf\u0cbe\u0cb5\u0cc1\u0ca6\u0cc7 \u0cb8\u0c82\u0cad\u0cbe\u0cb7\u0ca3\u0cc6\u0c97\u0cb3\u0cc1 \u0c95\u0c82\u0ca1\u0cc1\u0cac\u0c82\u0ca6\u0cbf\u0cb2\u0ccd\u0cb2",
|
130 |
+
"actions": {
|
131 |
+
"close": "\u0caa\u0c95\u0ccd\u0c95\u0ca6 \u0caa\u0c9f\u0ccd\u0c9f\u0cbf \u0cae\u0cc1\u0c9a\u0ccd\u0c9a\u0cbf",
|
132 |
+
"open": "\u0caa\u0c95\u0ccd\u0c95\u0ca6 \u0caa\u0c9f\u0ccd\u0c9f\u0cbf \u0ca4\u0cc6\u0cb0\u0cc6\u0caf\u0cbf\u0cb0\u0cbf"
|
133 |
+
}
|
134 |
+
},
|
135 |
+
"thread": {
|
136 |
+
"untitled": "\u0cb6\u0cc0\u0cb0\u0ccd\u0cb7\u0cbf\u0c95\u0cc6\u0cb0\u0cb9\u0cbf\u0ca4 \u0cb8\u0c82\u0cad\u0cbe\u0cb7\u0ca3\u0cc6",
|
137 |
+
"menu": {
|
138 |
+
"rename": "Rename",
|
139 |
+
"delete": "Delete"
|
140 |
+
},
|
141 |
+
"actions": {
|
142 |
+
"delete": {
|
143 |
+
"title": "\u0c85\u0cb3\u0cbf\u0cb8\u0cc1\u0cb5\u0cbf\u0c95\u0cc6\u0caf\u0ca8\u0ccd\u0ca8\u0cc1 \u0ca6\u0cc3\u0ca2\u0cc0\u0c95\u0cb0\u0cbf\u0cb8\u0cbf",
|
144 |
+
"description": "\u0c87\u0ca6\u0cc1 \u0cb8\u0c82\u0cad\u0cbe\u0cb7\u0ca3\u0cc6\u0caf\u0ca8\u0ccd\u0ca8\u0cc1 \u0cb9\u0cbe\u0c97\u0cc2 \u0c85\u0ca6\u0cb0 \u0cb8\u0c82\u0ca6\u0cc7\u0cb6\u0c97\u0cb3\u0cc1 \u0cae\u0ca4\u0ccd\u0ca4\u0cc1 \u0c85\u0c82\u0cb6\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1 \u0c85\u0cb3\u0cbf\u0cb8\u0cc1\u0ca4\u0ccd\u0ca4\u0ca6\u0cc6. \u0c88 \u0c95\u0ccd\u0cb0\u0cbf\u0caf\u0cc6\u0caf\u0ca8\u0ccd\u0ca8\u0cc1 \u0cb0\u0ca6\u0ccd\u0ca6\u0cc1\u0c97\u0cca\u0cb3\u0cbf\u0cb8\u0cb2\u0cc1 \u0cb8\u0cbe\u0ca7\u0ccd\u0caf\u0cb5\u0cbf\u0cb2\u0ccd\u0cb2",
|
145 |
+
"success": "\u0cb8\u0c82\u0cad\u0cbe\u0cb7\u0ca3\u0cc6 \u0c85\u0cb3\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6",
|
146 |
+
"inProgress": "\u0cb8\u0c82\u0cad\u0cbe\u0cb7\u0ca3\u0cc6 \u0c85\u0cb3\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cc1\u0ca4\u0ccd\u0ca4\u0cbf\u0ca6\u0cc6"
|
147 |
+
},
|
148 |
+
"rename": {
|
149 |
+
"title": "\u0cb8\u0c82\u0cad\u0cbe\u0cb7\u0ca3\u0cc6\u0caf \u0cb9\u0cc6\u0cb8\u0cb0\u0cc1 \u0cac\u0ca6\u0cb2\u0cbe\u0caf\u0cbf\u0cb8\u0cbf",
|
150 |
+
"description": "\u0c88 \u0cb8\u0c82\u0cad\u0cbe\u0cb7\u0ca3\u0cc6\u0c97\u0cc6 \u0cb9\u0cca\u0cb8 \u0cb9\u0cc6\u0cb8\u0cb0\u0ca8\u0ccd\u0ca8\u0cc1 \u0ca8\u0cae\u0cc2\u0ca6\u0cbf\u0cb8\u0cbf",
|
151 |
+
"form": {
|
152 |
+
"name": {
|
153 |
+
"label": "\u0cb9\u0cc6\u0cb8\u0cb0\u0cc1",
|
154 |
+
"placeholder": "\u0cb9\u0cca\u0cb8 \u0cb9\u0cc6\u0cb8\u0cb0\u0ca8\u0ccd\u0ca8\u0cc1 \u0ca8\u0cae\u0cc2\u0ca6\u0cbf\u0cb8\u0cbf"
|
155 |
+
}
|
156 |
+
},
|
157 |
+
"success": "\u0cb8\u0c82\u0cad\u0cbe\u0cb7\u0ca3\u0cc6\u0caf \u0cb9\u0cc6\u0cb8\u0cb0\u0cc1 \u0cac\u0ca6\u0cb2\u0cbe\u0caf\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6!",
|
158 |
+
"inProgress": "\u0cb8\u0c82\u0cad\u0cbe\u0cb7\u0ca3\u0cc6\u0caf \u0cb9\u0cc6\u0cb8\u0cb0\u0cc1 \u0cac\u0ca6\u0cb2\u0cbe\u0caf\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cc1\u0ca4\u0ccd\u0ca4\u0cbf\u0ca6\u0cc6"
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
},
|
163 |
+
"navigation": {
|
164 |
+
"header": {
|
165 |
+
"chat": "\u0cb8\u0c82\u0cad\u0cbe\u0cb7\u0ca3\u0cc6",
|
166 |
+
"readme": "\u0c93\u0ca6\u0cbf",
|
167 |
+
"theme": {
|
168 |
+
"light": "Light Theme",
|
169 |
+
"dark": "Dark Theme",
|
170 |
+
"system": "Follow System"
|
171 |
+
}
|
172 |
+
},
|
173 |
+
"newChat": {
|
174 |
+
"button": "\u0cb9\u0cca\u0cb8 \u0cb8\u0c82\u0cad\u0cbe\u0cb7\u0ca3\u0cc6",
|
175 |
+
"dialog": {
|
176 |
+
"title": "\u0cb9\u0cca\u0cb8 \u0cb8\u0c82\u0cad\u0cbe\u0cb7\u0ca3\u0cc6 \u0cb0\u0c9a\u0cbf\u0cb8\u0cbf",
|
177 |
+
"description": "\u0c87\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0ccd\u0cae \u0caa\u0ccd\u0cb0\u0cb8\u0ccd\u0ca4\u0cc1\u0ca4 \u0cb8\u0c82\u0cad\u0cbe\u0cb7\u0ca3\u0cc6\u0caf \u0c87\u0ca4\u0cbf\u0cb9\u0cbe\u0cb8\u0cb5\u0ca8\u0ccd\u0ca8\u0cc1 \u0c85\u0cb3\u0cbf\u0cb8\u0cc1\u0ca4\u0ccd\u0ca4\u0ca6\u0cc6. \u0ca8\u0cc0\u0cb5\u0cc1 \u0cae\u0cc1\u0c82\u0ca6\u0cc1\u0cb5\u0cb0\u0cc6\u0caf\u0cb2\u0cc1 \u0cac\u0caf\u0cb8\u0cc1\u0cb5\u0cbf\u0cb0\u0cbe?",
|
178 |
+
"tooltip": "\u0cb9\u0cca\u0cb8 \u0cb8\u0c82\u0cad\u0cbe\u0cb7\u0ca3\u0cc6"
|
179 |
+
}
|
180 |
+
},
|
181 |
+
"user": {
|
182 |
+
"menu": {
|
183 |
+
"settings": "\u0cb8\u0cc6\u0c9f\u0ccd\u0c9f\u0cbf\u0c82\u0c97\u0ccd\u200c\u0c97\u0cb3\u0cc1",
|
184 |
+
"settingsKey": "S",
|
185 |
+
"apiKeys": "API \u0c95\u0cc0\u0c97\u0cb3\u0cc1",
|
186 |
+
"logout": "\u0cb2\u0cbe\u0c97\u0ccd \u0c94\u0c9f\u0ccd"
|
187 |
+
}
|
188 |
+
}
|
189 |
+
},
|
190 |
+
"apiKeys": {
|
191 |
+
"title": "\u0c85\u0c97\u0ca4\u0ccd\u0caf\u0cb5\u0cbf\u0cb0\u0cc1\u0cb5 API \u0c95\u0cc0\u0c97\u0cb3\u0cc1",
|
192 |
+
"description": "\u0c88 \u0c85\u0caa\u0ccd\u0cb2\u0cbf\u0c95\u0cc7\u0cb6\u0ca8\u0ccd \u0cac\u0cb3\u0cb8\u0cb2\u0cc1, \u0c88 \u0c95\u0cc6\u0cb3\u0c97\u0cbf\u0ca8 API \u0c95\u0cc0\u0c97\u0cb3\u0cc1 \u0c85\u0c97\u0ca4\u0ccd\u0caf\u0cb5\u0cbf\u0cb0\u0cc1\u0ca4\u0ccd\u0ca4\u0cb5\u0cc6. \u0c95\u0cc0\u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1 \u0ca8\u0cbf\u0cae\u0ccd\u0cae \u0cb8\u0cbe\u0ca7\u0ca8\u0ca6 \u0cb8\u0ccd\u0ca5\u0cb3\u0cc0\u0caf \u0cb8\u0c82\u0c97\u0ccd\u0cb0\u0cb9\u0ca3\u0cc6\u0caf\u0cb2\u0ccd\u0cb2\u0cbf \u0cb8\u0c82\u0c97\u0ccd\u0cb0\u0cb9\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cc1\u0ca4\u0ccd\u0ca4\u0ca6\u0cc6.",
|
193 |
+
"success": {
|
194 |
+
"saved": "\u0caf\u0cb6\u0cb8\u0ccd\u0cb5\u0cbf\u0caf\u0cbe\u0c97\u0cbf \u0c89\u0cb3\u0cbf\u0cb8\u0cb2\u0cbe\u0c97\u0cbf\u0ca6\u0cc6"
|
195 |
+
}
|
196 |
+
},
|
197 |
+
"alerts": {
|
198 |
+
"info": "Info",
|
199 |
+
"note": "Note",
|
200 |
+
"tip": "Tip",
|
201 |
+
"important": "Important",
|
202 |
+
"warning": "Warning",
|
203 |
+
"caution": "Caution",
|
204 |
+
"debug": "Debug",
|
205 |
+
"example": "Example",
|
206 |
+
"success": "Success",
|
207 |
+
"help": "Help",
|
208 |
+
"idea": "Idea",
|
209 |
+
"pending": "Pending",
|
210 |
+
"security": "Security",
|
211 |
+
"beta": "Beta",
|
212 |
+
"best-practice": "Best Practice"
|
213 |
+
}
|
214 |
+
}
|
.chainlit/translations/ml.json
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"common": {
|
3 |
+
"actions": {
|
4 |
+
"cancel": "\u0d31\u0d26\u0d4d\u0d26\u0d3e\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
5 |
+
"confirm": "\u0d38\u0d4d\u0d25\u0d3f\u0d30\u0d40\u0d15\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
6 |
+
"continue": "\u0d24\u0d41\u0d1f\u0d30\u0d41\u0d15",
|
7 |
+
"goBack": "\u0d24\u0d3f\u0d30\u0d3f\u0d15\u0d46 \u0d2a\u0d4b\u0d15\u0d41\u0d15",
|
8 |
+
"reset": "\u0d2a\u0d41\u0d28\u0d03\u0d38\u0d1c\u0d4d\u0d1c\u0d2e\u0d3e\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
9 |
+
"submit": "\u0d38\u0d2e\u0d7c\u0d2a\u0d4d\u0d2a\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15"
|
10 |
+
},
|
11 |
+
"status": {
|
12 |
+
"loading": "\u0d32\u0d4b\u0d21\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d28\u0d4d\u0d28\u0d41...",
|
13 |
+
"error": {
|
14 |
+
"default": "\u0d12\u0d30\u0d41 \u0d2a\u0d3f\u0d36\u0d15\u0d4d \u0d38\u0d02\u0d2d\u0d35\u0d3f\u0d1a\u0d4d\u0d1a\u0d41",
|
15 |
+
"serverConnection": "\u0d38\u0d46\u0d7c\u0d35\u0d31\u0d41\u0d2e\u0d3e\u0d2f\u0d3f \u0d2c\u0d28\u0d4d\u0d27\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d3e\u0d7b \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d3f\u0d32\u0d4d\u0d32"
|
16 |
+
}
|
17 |
+
}
|
18 |
+
},
|
19 |
+
"auth": {
|
20 |
+
"login": {
|
21 |
+
"title": "\u0d06\u0d2a\u0d4d\u0d2a\u0d4d \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d15\u0d4d\u0d15\u0d3e\u0d7b \u0d32\u0d4b\u0d17\u0d3f\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
|
22 |
+
"form": {
|
23 |
+
"email": {
|
24 |
+
"label": "\u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d35\u0d3f\u0d32\u0d3e\u0d38\u0d02",
|
25 |
+
"required": "\u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d12\u0d30\u0d41 \u0d06\u0d35\u0d36\u0d4d\u0d2f\u0d2e\u0d3e\u0d2f \u0d2b\u0d40\u0d7d\u0d21\u0d4d \u0d06\u0d23\u0d4d"
|
26 |
+
},
|
27 |
+
"password": {
|
28 |
+
"label": "\u0d2a\u0d3e\u0d38\u0d4d\u200c\u0d35\u0d47\u0d21\u0d4d",
|
29 |
+
"required": "\u0d2a\u0d3e\u0d38\u0d4d\u200c\u0d35\u0d47\u0d21\u0d4d \u0d12\u0d30\u0d41 \u0d06\u0d35\u0d36\u0d4d\u0d2f\u0d2e\u0d3e\u0d2f \u0d2b\u0d40\u0d7d\u0d21\u0d4d \u0d06\u0d23\u0d4d"
|
30 |
+
},
|
31 |
+
"actions": {
|
32 |
+
"signin": "\u0d38\u0d48\u0d7b \u0d07\u0d7b"
|
33 |
+
},
|
34 |
+
"alternativeText": {
|
35 |
+
"or": "\u0d05\u0d32\u0d4d\u0d32\u0d46\u0d19\u0d4d\u0d15\u0d3f\u0d7d"
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"errors": {
|
39 |
+
"default": "\u0d38\u0d48\u0d7b \u0d07\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d3e\u0d7b \u0d15\u0d34\u0d3f\u0d2f\u0d41\u0d28\u0d4d\u0d28\u0d3f\u0d32\u0d4d\u0d32",
|
40 |
+
"signin": "\u0d2e\u0d31\u0d4d\u0d31\u0d4a\u0d30\u0d41 \u0d05\u0d15\u0d4d\u0d15\u0d57\u0d23\u0d4d\u0d1f\u0d4d \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d38\u0d48\u0d7b \u0d07\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d3e\u0d7b \u0d36\u0d4d\u0d30\u0d2e\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
41 |
+
"oauthSignin": "\u0d2e\u0d31\u0d4d\u0d31\u0d4a\u0d30\u0d41 \u0d05\u0d15\u0d4d\u0d15\u0d57\u0d23\u0d4d\u0d1f\u0d4d \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d38\u0d48\u0d7b \u0d07\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d3e\u0d7b \u0d36\u0d4d\u0d30\u0d2e\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
42 |
+
"redirectUriMismatch": "\u0d31\u0d40\u0d21\u0d2f\u0d31\u0d15\u0d4d\u0d1f\u0d4d URI oauth \u0d06\u0d2a\u0d4d\u0d2a\u0d4d \u0d15\u0d4b\u0d7a\u0d2b\u0d3f\u0d17\u0d31\u0d47\u0d37\u0d28\u0d41\u0d2e\u0d3e\u0d2f\u0d3f \u0d2a\u0d4a\u0d30\u0d41\u0d24\u0d4d\u0d24\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d41\u0d28\u0d4d\u0d28\u0d3f\u0d32\u0d4d\u0d32",
|
43 |
+
"oauthCallback": "\u0d2e\u0d31\u0d4d\u0d31\u0d4a\u0d30\u0d41 \u0d05\u0d15\u0d4d\u0d15\u0d57\u0d23\u0d4d\u0d1f\u0d4d \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d38\u0d48\u0d7b \u0d07\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d3e\u0d7b \u0d36\u0d4d\u0d30\u0d2e\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
44 |
+
"oauthCreateAccount": "\u0d2e\u0d31\u0d4d\u0d31\u0d4a\u0d30\u0d41 \u0d05\u0d15\u0d4d\u0d15\u0d57\u0d23\u0d4d\u0d1f\u0d4d \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d38\u0d48\u0d7b \u0d07\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d3e\u0d7b \u0d36\u0d4d\u0d30\u0d2e\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
45 |
+
"emailCreateAccount": "\u0d2e\u0d31\u0d4d\u0d31\u0d4a\u0d30\u0d41 \u0d05\u0d15\u0d4d\u0d15\u0d57\u0d23\u0d4d\u0d1f\u0d4d \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d38\u0d48\u0d7b \u0d07\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d3e\u0d7b \u0d36\u0d4d\u0d30\u0d2e\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
46 |
+
"callback": "\u0d2e\u0d31\u0d4d\u0d31\u0d4a\u0d30\u0d41 \u0d05\u0d15\u0d4d\u0d15\u0d57\u0d23\u0d4d\u0d1f\u0d4d \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d38\u0d48\u0d7b \u0d07\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d3e\u0d7b \u0d36\u0d4d\u0d30\u0d2e\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
47 |
+
"oauthAccountNotLinked": "\u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 \u0d35\u0d4d\u0d2f\u0d15\u0d4d\u0d24\u0d3f\u0d24\u0d4d\u0d35\u0d02 \u0d38\u0d4d\u0d25\u0d3f\u0d30\u0d40\u0d15\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d3e\u0d7b, \u0d06\u0d26\u0d4d\u0d2f\u0d02 \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a \u0d05\u0d24\u0d47 \u0d05\u0d15\u0d4d\u0d15\u0d57\u0d23\u0d4d\u0d1f\u0d4d \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d38\u0d48\u0d7b \u0d07\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
|
48 |
+
"emailSignin": "\u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d05\u0d2f\u0d2f\u0d4d\u0d15\u0d4d\u0d15\u0d3e\u0d7b \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d3f\u0d32\u0d4d\u0d32",
|
49 |
+
"emailVerify": "\u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 \u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d2a\u0d30\u0d3f\u0d36\u0d4b\u0d27\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15, \u0d12\u0d30\u0d41 \u0d2a\u0d41\u0d24\u0d3f\u0d2f \u0d07\u0d2e\u0d46\u0d2f\u0d3f\u0d7d \u0d05\u0d2f\u0d1a\u0d4d\u0d1a\u0d3f\u0d1f\u0d4d\u0d1f\u0d41\u0d23\u0d4d\u0d1f\u0d4d",
|
50 |
+
"credentialsSignin": "\u0d38\u0d48\u0d7b \u0d07\u0d7b \u0d2a\u0d30\u0d3e\u0d1c\u0d2f\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d4d\u0d1f\u0d41. \u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d7e \u0d28\u0d7d\u0d15\u0d3f\u0d2f \u0d35\u0d3f\u0d35\u0d30\u0d19\u0d4d\u0d19\u0d7e \u0d36\u0d30\u0d3f\u0d2f\u0d3e\u0d23\u0d46\u0d28\u0d4d\u0d28\u0d4d \u0d2a\u0d30\u0d3f\u0d36\u0d4b\u0d27\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
51 |
+
"sessionRequired": "\u0d08 \u0d2a\u0d47\u0d1c\u0d4d \u0d06\u0d15\u0d4d\u0d38\u0d38\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d3e\u0d7b \u0d26\u0d2f\u0d35\u0d3e\u0d2f\u0d3f \u0d38\u0d48\u0d7b \u0d07\u0d7b \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15"
|
52 |
+
}
|
53 |
+
},
|
54 |
+
"provider": {
|
55 |
+
"continue": "{{provider}} \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d24\u0d41\u0d1f\u0d30\u0d41\u0d15"
|
56 |
+
}
|
57 |
+
},
|
58 |
+
"chat": {
|
59 |
+
"input": {
|
60 |
+
"placeholder": "\u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 \u0d38\u0d28\u0d4d\u0d26\u0d47\u0d36\u0d02 \u0d07\u0d35\u0d3f\u0d1f\u0d46 \u0d1f\u0d48\u0d2a\u0d4d\u0d2a\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15...",
|
61 |
+
"actions": {
|
62 |
+
"send": "\u0d38\u0d28\u0d4d\u0d26\u0d47\u0d36\u0d02 \u0d05\u0d2f\u0d2f\u0d4d\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
63 |
+
"stop": "\u0d1f\u0d3e\u0d38\u0d4d\u0d15\u0d4d \u0d28\u0d3f\u0d7c\u0d24\u0d4d\u0d24\u0d41\u0d15",
|
64 |
+
"attachFiles": "\u0d2b\u0d2f\u0d32\u0d41\u0d15\u0d7e \u0d05\u0d31\u0d4d\u0d31\u0d3e\u0d1a\u0d4d\u0d1a\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15"
|
65 |
+
}
|
66 |
+
},
|
67 |
+
"speech": {
|
68 |
+
"start": "\u0d31\u0d46\u0d15\u0d4d\u0d15\u0d4b\u0d7c\u0d21\u0d3f\u0d02\u0d17\u0d4d \u0d06\u0d30\u0d02\u0d2d\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
69 |
+
"stop": "\u0d31\u0d46\u0d15\u0d4d\u0d15\u0d4b\u0d7c\u0d21\u0d3f\u0d02\u0d17\u0d4d \u0d28\u0d3f\u0d7c\u0d24\u0d4d\u0d24\u0d41\u0d15",
|
70 |
+
"connecting": "\u0d2c\u0d28\u0d4d\u0d27\u0d3f\u0d2a\u0d4d\u0d2a\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d41"
|
71 |
+
},
|
72 |
+
"fileUpload": {
|
73 |
+
"dragDrop": "\u0d2b\u0d2f\u0d32\u0d41\u0d15\u0d7e \u0d07\u0d35\u0d3f\u0d1f\u0d46 \u0d35\u0d32\u0d3f\u0d1a\u0d4d\u0d1a\u0d3f\u0d1f\u0d41\u0d15",
|
74 |
+
"browse": "\u0d2b\u0d2f\u0d32\u0d41\u0d15\u0d7e \u0d24\u0d3f\u0d30\u0d2f\u0d41\u0d15",
|
75 |
+
"sizeLimit": "\u0d2a\u0d30\u0d3f\u0d27\u0d3f:",
|
76 |
+
"errors": {
|
77 |
+
"failed": "\u0d05\u0d2a\u0d4d\u200c\u0d32\u0d4b\u0d21\u0d4d \u0d2a\u0d30\u0d3e\u0d1c\u0d2f\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d4d\u0d1f\u0d41",
|
78 |
+
"cancelled": "\u0d05\u0d2a\u0d4d\u200c\u0d32\u0d4b\u0d21\u0d4d \u0d31\u0d26\u0d4d\u0d26\u0d3e\u0d15\u0d4d\u0d15\u0d3f"
|
79 |
+
}
|
80 |
+
},
|
81 |
+
"messages": {
|
82 |
+
"status": {
|
83 |
+
"using": "\u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d41",
|
84 |
+
"used": "\u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d41"
|
85 |
+
},
|
86 |
+
"actions": {
|
87 |
+
"copy": {
|
88 |
+
"button": "\u0d15\u0d4d\u0d32\u0d3f\u0d2a\u0d4d\u0d2a\u0d4d\u0d2c\u0d4b\u0d7c\u0d21\u0d3f\u0d32\u0d47\u0d15\u0d4d\u0d15\u0d4d \u0d2a\u0d15\u0d7c\u0d24\u0d4d\u0d24\u0d41\u0d15",
|
89 |
+
"success": "\u0d2a\u0d15\u0d7c\u0d24\u0d4d\u0d24\u0d3f!"
|
90 |
+
}
|
91 |
+
},
|
92 |
+
"feedback": {
|
93 |
+
"positive": "\u0d38\u0d39\u0d3e\u0d2f\u0d15\u0d30\u0d02",
|
94 |
+
"negative": "\u0d38\u0d39\u0d3e\u0d2f\u0d15\u0d30\u0d2e\u0d32\u0d4d\u0d32",
|
95 |
+
"edit": "\u0d2b\u0d40\u0d21\u0d4d\u0d2c\u0d3e\u0d15\u0d4d\u0d15\u0d4d \u0d0e\u0d21\u0d3f\u0d31\u0d4d\u0d31\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
|
96 |
+
"dialog": {
|
97 |
+
"title": "\u0d12\u0d30\u0d41 \u0d15\u0d2e\u0d28\u0d4d\u0d31\u0d4d \u0d1a\u0d47\u0d7c\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
98 |
+
"submit": "\u0d2b\u0d40\u0d21\u0d4d\u0d2c\u0d3e\u0d15\u0d4d\u0d15\u0d4d \u0d38\u0d2e\u0d7c\u0d2a\u0d4d\u0d2a\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15"
|
99 |
+
},
|
100 |
+
"status": {
|
101 |
+
"updating": "\u0d05\u0d2a\u0d4d\u0d21\u0d47\u0d31\u0d4d\u0d31\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d28\u0d4d\u0d28\u0d41",
|
102 |
+
"updated": "\u0d2b\u0d40\u0d21\u0d4d\u0d2c\u0d3e\u0d15\u0d4d\u0d15\u0d4d \u0d05\u0d2a\u0d4d\u0d21\u0d47\u0d31\u0d4d\u0d31\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d24\u0d41"
|
103 |
+
}
|
104 |
+
}
|
105 |
+
},
|
106 |
+
"history": {
|
107 |
+
"title": "\u0d05\u0d35\u0d38\u0d3e\u0d28 \u0d07\u0d7b\u0d2a\u0d41\u0d1f\u0d4d\u0d1f\u0d41\u0d15\u0d7e",
|
108 |
+
"empty": "\u0d12\u0d28\u0d4d\u0d28\u0d41\u0d2e\u0d3f\u0d32\u0d4d\u0d32...",
|
109 |
+
"show": "\u0d39\u0d3f\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d31\u0d3f \u0d15\u0d3e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15"
|
110 |
+
},
|
111 |
+
"settings": {
|
112 |
+
"title": "\u0d15\u0d4d\u0d30\u0d2e\u0d40\u0d15\u0d30\u0d23\u0d19\u0d4d\u0d19\u0d7e \u0d2a\u0d3e\u0d28\u0d7d"
|
113 |
+
},
|
114 |
+
"watermark": "\u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u0d28\u0d3f\u0d7c\u0d2e\u0d4d\u0d2e\u0d3f\u0d1a\u0d4d\u0d1a\u0d24\u0d4d"
|
115 |
+
},
|
116 |
+
"threadHistory": {
|
117 |
+
"sidebar": {
|
118 |
+
"title": "\u0d2e\u0d41\u0d7b \u0d1a\u0d3e\u0d31\u0d4d\u0d31\u0d41\u0d15\u0d7e",
|
119 |
+
"filters": {
|
120 |
+
"search": "\u0d24\u0d3f\u0d30\u0d2f\u0d41\u0d15",
|
121 |
+
"placeholder": "Search conversations..."
|
122 |
+
},
|
123 |
+
"timeframes": {
|
124 |
+
"today": "\u0d07\u0d28\u0d4d\u0d28\u0d4d",
|
125 |
+
"yesterday": "\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46",
|
126 |
+
"previous7days": "\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e 7 \u0d26\u0d3f\u0d35\u0d38\u0d02",
|
127 |
+
"previous30days": "\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e 30 \u0d26\u0d3f\u0d35\u0d38\u0d02"
|
128 |
+
},
|
129 |
+
"empty": "\u0d24\u0d4d\u0d30\u0d46\u0d21\u0d41\u0d15\u0d7e \u0d15\u0d23\u0d4d\u0d1f\u0d46\u0d24\u0d4d\u0d24\u0d3f\u0d2f\u0d3f\u0d32\u0d4d\u0d32",
|
130 |
+
"actions": {
|
131 |
+
"close": "\u0d38\u0d48\u0d21\u0d4d\u0d2c\u0d3e\u0d7c \u0d05\u0d1f\u0d2f\u0d4d\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
132 |
+
"open": "\u0d38\u0d48\u0d21\u0d4d\u0d2c\u0d3e\u0d7c \u0d24\u0d41\u0d31\u0d15\u0d4d\u0d15\u0d41\u0d15"
|
133 |
+
}
|
134 |
+
},
|
135 |
+
"thread": {
|
136 |
+
"untitled": "\u0d2a\u0d47\u0d30\u0d3f\u0d32\u0d4d\u0d32\u0d3e\u0d24\u0d4d\u0d24 \u0d38\u0d02\u0d2d\u0d3e\u0d37\u0d23\u0d02",
|
137 |
+
"menu": {
|
138 |
+
"rename": "Rename",
|
139 |
+
"delete": "Delete"
|
140 |
+
},
|
141 |
+
"actions": {
|
142 |
+
"delete": {
|
143 |
+
"title": "\u0d21\u0d3f\u0d32\u0d40\u0d31\u0d4d\u0d31\u0d4d \u0d38\u0d4d\u0d25\u0d3f\u0d30\u0d40\u0d15\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
144 |
+
"description": "\u0d07\u0d24\u0d4d \u0d24\u0d4d\u0d30\u0d46\u0d21\u0d41\u0d02 \u0d05\u0d24\u0d3f\u0d28\u0d4d\u0d31\u0d46 \u0d38\u0d28\u0d4d\u0d26\u0d47\u0d36\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d02 \u0d18\u0d1f\u0d15\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d02 \u0d21\u0d3f\u0d32\u0d40\u0d31\u0d4d\u0d31\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d02. \u0d08 \u0d2a\u0d4d\u0d30\u0d35\u0d7c\u0d24\u0d4d\u0d24\u0d3f \u0d2a\u0d34\u0d2f\u0d2a\u0d1f\u0d3f\u0d2f\u0d3e\u0d15\u0d4d\u0d15\u0d3e\u0d7b \u0d15\u0d34\u0d3f\u0d2f\u0d3f\u0d32\u0d4d\u0d32",
|
145 |
+
"success": "\u0d1a\u0d3e\u0d31\u0d4d\u0d31\u0d4d \u0d21\u0d3f\u0d32\u0d40\u0d31\u0d4d\u0d31\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d24\u0d41",
|
146 |
+
"inProgress": "\u0d1a\u0d3e\u0d31\u0d4d\u0d31\u0d4d \u0d21\u0d3f\u0d32\u0d40\u0d31\u0d4d\u0d31\u0d4d \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d28\u0d4d\u0d28\u0d41"
|
147 |
+
},
|
148 |
+
"rename": {
|
149 |
+
"title": "\u0d24\u0d4d\u0d30\u0d46\u0d21\u0d4d \u0d2a\u0d41\u0d28\u0d7c\u0d28\u0d3e\u0d2e\u0d15\u0d30\u0d23\u0d02 \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
|
150 |
+
"description": "\u0d08 \u0d24\u0d4d\u0d30\u0d46\u0d21\u0d3f\u0d28\u0d4d \u0d12\u0d30\u0d41 \u0d2a\u0d41\u0d24\u0d3f\u0d2f \u0d2a\u0d47\u0d30\u0d4d \u0d28\u0d7d\u0d15\u0d41\u0d15",
|
151 |
+
"form": {
|
152 |
+
"name": {
|
153 |
+
"label": "\u0d2a\u0d47\u0d30\u0d4d",
|
154 |
+
"placeholder": "\u0d2a\u0d41\u0d24\u0d3f\u0d2f \u0d2a\u0d47\u0d30\u0d4d \u0d28\u0d7d\u0d15\u0d41\u0d15"
|
155 |
+
}
|
156 |
+
},
|
157 |
+
"success": "\u0d24\u0d4d\u0d30\u0d46\u0d21\u0d4d \u0d2a\u0d41\u0d28\u0d7c\u0d28\u0d3e\u0d2e\u0d15\u0d30\u0d23\u0d02 \u0d1a\u0d46\u0d2f\u0d4d\u0d24\u0d41!",
|
158 |
+
"inProgress": "\u0d24\u0d4d\u0d30\u0d46\u0d21\u0d4d \u0d2a\u0d41\u0d28\u0d7c\u0d28\u0d3e\u0d2e\u0d15\u0d30\u0d23\u0d02 \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d28\u0d4d\u0d28\u0d41"
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
},
|
163 |
+
"navigation": {
|
164 |
+
"header": {
|
165 |
+
"chat": "\u0d1a\u0d3e\u0d31\u0d4d\u0d31\u0d4d",
|
166 |
+
"readme": "\u0d35\u0d3e\u0d2f\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
167 |
+
"theme": {
|
168 |
+
"light": "Light Theme",
|
169 |
+
"dark": "Dark Theme",
|
170 |
+
"system": "Follow System"
|
171 |
+
}
|
172 |
+
},
|
173 |
+
"newChat": {
|
174 |
+
"button": "\u0d2a\u0d41\u0d24\u0d3f\u0d2f \u0d1a\u0d3e\u0d31\u0d4d\u0d31\u0d4d",
|
175 |
+
"dialog": {
|
176 |
+
"title": "\u0d2a\u0d41\u0d24\u0d3f\u0d2f \u0d1a\u0d3e\u0d31\u0d4d\u0d31\u0d4d \u0d38\u0d43\u0d37\u0d4d\u0d1f\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
177 |
+
"description": "\u0d07\u0d24\u0d4d \u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 \u0d28\u0d3f\u0d32\u0d35\u0d3f\u0d32\u0d46 \u0d1a\u0d3e\u0d31\u0d4d\u0d31\u0d4d \u0d39\u0d3f\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d31\u0d3f \u0d2e\u0d3e\u0d2f\u0d4d\u0d15\u0d4d\u0d15\u0d41\u0d02. \u0d24\u0d41\u0d1f\u0d30\u0d3e\u0d7b \u0d24\u0d3e\u0d7d\u0d2a\u0d4d\u0d2a\u0d30\u0d4d\u0d2f\u0d2e\u0d41\u0d23\u0d4d\u0d1f\u0d4b?",
|
178 |
+
"tooltip": "\u0d2a\u0d41\u0d24\u0d3f\u0d2f \u0d1a\u0d3e\u0d31\u0d4d\u0d31\u0d4d"
|
179 |
+
}
|
180 |
+
},
|
181 |
+
"user": {
|
182 |
+
"menu": {
|
183 |
+
"settings": "\u0d15\u0d4d\u0d30\u0d2e\u0d40\u0d15\u0d30\u0d23\u0d19\u0d4d\u0d19\u0d7e",
|
184 |
+
"settingsKey": "S",
|
185 |
+
"apiKeys": "API \u0d15\u0d40\u0d15\u0d7e",
|
186 |
+
"logout": "\u0d32\u0d4b\u0d17\u0d4d\u0d14\u0d1f\u0d4d\u0d1f\u0d4d"
|
187 |
+
}
|
188 |
+
}
|
189 |
+
},
|
190 |
+
"apiKeys": {
|
191 |
+
"title": "\u0d06\u0d35\u0d36\u0d4d\u0d2f\u0d2e\u0d3e\u0d2f API \u0d15\u0d40\u0d15\u0d7e",
|
192 |
+
"description": "\u0d08 \u0d06\u0d2a\u0d4d\u0d2a\u0d4d \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d15\u0d4d\u0d15\u0d3e\u0d7b, \u0d24\u0d3e\u0d34\u0d46\u0d2a\u0d4d\u0d2a\u0d31\u0d2f\u0d41\u0d28\u0d4d\u0d28 API \u0d15\u0d40\u0d15\u0d7e \u0d06\u0d35\u0d36\u0d4d\u0d2f\u0d2e\u0d3e\u0d23\u0d4d. \u0d15\u0d40\u0d15\u0d7e \u0d28\u0d3f\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 \u0d09\u0d2a\u0d15\u0d30\u0d23\u0d24\u0d4d\u0d24\u0d3f\u0d28\u0d4d\u0d31\u0d46 \u0d32\u0d4b\u0d15\u0d4d\u0d15\u0d7d \u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4b\u0d31\u0d47\u0d1c\u0d3f\u0d7d \u0d38\u0d02\u0d2d\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d41\u0d28\u0d4d\u0d28\u0d41.",
|
193 |
+
"success": {
|
194 |
+
"saved": "\u0d35\u0d3f\u0d1c\u0d2f\u0d15\u0d30\u0d2e\u0d3e\u0d2f\u0d3f \u0d38\u0d02\u0d30\u0d15\u0d4d\u0d37\u0d3f\u0d1a\u0d4d\u0d1a\u0d41"
|
195 |
+
}
|
196 |
+
},
|
197 |
+
"alerts": {
|
198 |
+
"info": "Info",
|
199 |
+
"note": "Note",
|
200 |
+
"tip": "Tip",
|
201 |
+
"important": "Important",
|
202 |
+
"warning": "Warning",
|
203 |
+
"caution": "Caution",
|
204 |
+
"debug": "Debug",
|
205 |
+
"example": "Example",
|
206 |
+
"success": "Success",
|
207 |
+
"help": "Help",
|
208 |
+
"idea": "Idea",
|
209 |
+
"pending": "Pending",
|
210 |
+
"security": "Security",
|
211 |
+
"beta": "Beta",
|
212 |
+
"best-practice": "Best Practice"
|
213 |
+
}
|
214 |
+
}
|
.chainlit/translations/mr.json
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"common": {
|
3 |
+
"actions": {
|
4 |
+
"cancel": "\u0930\u0926\u094d\u0926 \u0915\u0930\u093e",
|
5 |
+
"confirm": "\u092a\u0941\u0937\u094d\u091f\u0940 \u0915\u0930\u093e",
|
6 |
+
"continue": "\u092a\u0941\u0922\u0947 \u091c\u093e",
|
7 |
+
"goBack": "\u092e\u093e\u0917\u0947 \u091c\u093e",
|
8 |
+
"reset": "\u0930\u0940\u0938\u0947\u091f \u0915\u0930\u093e",
|
9 |
+
"submit": "\u0938\u092c\u092e\u093f\u091f \u0915\u0930\u093e"
|
10 |
+
},
|
11 |
+
"status": {
|
12 |
+
"loading": "\u0932\u094b\u0921 \u0915\u0930\u0924 \u0906\u0939\u0947...",
|
13 |
+
"error": {
|
14 |
+
"default": "\u090f\u0915 \u0924\u094d\u0930\u0941\u091f\u0940 \u0906\u0932\u0940",
|
15 |
+
"serverConnection": "\u0938\u0930\u094d\u0935\u094d\u0939\u0930\u0936\u0940 \u0915\u0928\u0947\u0915\u094d\u091f \u0939\u094b\u090a \u0936\u0915\u0932\u0947 \u0928\u093e\u0939\u0940"
|
16 |
+
}
|
17 |
+
}
|
18 |
+
},
|
19 |
+
"auth": {
|
20 |
+
"login": {
|
21 |
+
"title": "\u0905\u0945\u092a \u0935\u093e\u092a\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u0932\u0949\u0917\u093f\u0928 \u0915\u0930\u093e",
|
22 |
+
"form": {
|
23 |
+
"email": {
|
24 |
+
"label": "\u0908\u092e\u0947\u0932 \u092a\u0924\u094d\u0924\u093e",
|
25 |
+
"required": "\u0908\u092e\u0947\u0932 \u0906\u0935\u0936\u094d\u092f\u0915 \u0906\u0939\u0947"
|
26 |
+
},
|
27 |
+
"password": {
|
28 |
+
"label": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921",
|
29 |
+
"required": "\u092a\u093e\u0938\u0935\u0930\u094d\u0921 \u0906\u0935\u0936\u094d\u092f\u0915 \u0906\u0939\u0947"
|
30 |
+
},
|
31 |
+
"actions": {
|
32 |
+
"signin": "\u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u093e"
|
33 |
+
},
|
34 |
+
"alternativeText": {
|
35 |
+
"or": "\u0915\u093f\u0902\u0935\u093e"
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"errors": {
|
39 |
+
"default": "\u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0942 \u0936\u0915\u0924 \u0928\u093e\u0939\u0940",
|
40 |
+
"signin": "\u0935\u0947\u0917\u0933\u094d\u092f\u093e \u0916\u093e\u0924\u094d\u092f\u093e\u0928\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0923\u094d\u092f\u093e\u091a\u093e \u092a\u094d\u0930\u092f\u0924\u094d\u0928 \u0915\u0930\u093e",
|
41 |
+
"oauthSignin": "\u0935\u0947\u0917\u0933\u094d\u092f\u093e \u0916\u093e\u0924\u094d\u092f\u093e\u0928\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0923\u094d\u092f\u093e\u091a\u093e \u092a\u094d\u0930\u092f\u0924\u094d\u0928 \u0915\u0930\u093e",
|
42 |
+
"redirectUriMismatch": "\u0930\u0940\u0921\u093e\u092f\u0930\u0947\u0915\u094d\u091f URI \u0913\u0925 \u0905\u0945\u092a \u0915\u0949\u0928\u094d\u092b\u093f\u0917\u0930\u0947\u0936\u0928\u0936\u0940 \u091c\u0941\u0933\u0924 \u0928\u093e\u0939\u0940",
|
43 |
+
"oauthCallback": "\u0935\u0947\u0917\u0933\u094d\u092f\u093e \u0916\u093e\u0924\u094d\u092f\u093e\u0928\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0923\u094d\u092f\u093e\u091a\u093e \u092a\u094d\u0930\u092f\u0924\u094d\u0928 \u0915\u0930\u093e",
|
44 |
+
"oauthCreateAccount": "\u0935\u0947\u0917\u0933\u094d\u092f\u093e \u0916\u093e\u0924\u094d\u092f\u093e\u0928\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0923\u094d\u092f\u093e\u091a\u093e \u092a\u094d\u0930\u092f\u0924\u094d\u0928 \u0915\u0930\u093e",
|
45 |
+
"emailCreateAccount": "\u0935\u0947\u0917\u0933\u094d\u092f\u093e \u0916\u093e\u0924\u094d\u092f\u093e\u0928\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0923\u094d\u092f\u093e\u091a\u093e \u092a\u094d\u0930\u092f\u0924\u094d\u0928 \u0915\u0930\u093e",
|
46 |
+
"callback": "\u0935\u0947\u0917\u0933\u094d\u092f\u093e \u0916\u093e\u0924\u094d\u092f\u093e\u0928\u0947 \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u0923\u094d\u092f\u093e\u091a\u093e \u092a\u094d\u0930\u092f\u0924\u094d\u0928 \u0915\u0930\u093e",
|
47 |
+
"oauthAccountNotLinked": "\u0924\u0941\u092e\u091a\u0940 \u0913\u0933\u0916 \u092a\u091f\u0935\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940, \u092e\u0942\u0933 \u0935\u093e\u092a\u0930\u0932\u0947\u0932\u094d\u092f\u093e \u0916\u093e\u0924\u094d\u092f\u093e\u0928\u0947\u091a \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u093e",
|
48 |
+
"emailSignin": "\u0908\u092e\u0947\u0932 \u092a\u093e\u0920\u0935\u0942 \u0936\u0915\u0932\u0947 \u0928\u093e\u0939\u0940",
|
49 |
+
"emailVerify": "\u0915\u0943\u092a\u092f\u093e \u0924\u0941\u092e\u091a\u093e \u0908\u092e\u0947\u0932 \u0924\u092a\u093e\u0938\u093e, \u0928\u0935\u0940\u0928 \u0908\u092e\u0947\u0932 \u092a\u093e\u0920\u0935\u0932\u093e \u0917\u0947\u0932\u093e \u0906\u0939\u0947",
|
50 |
+
"credentialsSignin": "\u0938\u093e\u0907\u0928 \u0907\u0928 \u0905\u092f\u0936\u0938\u094d\u0935\u0940. \u0924\u0941\u092e\u094d\u0939\u0940 \u0926\u093f\u0932\u0947\u0932\u0940 \u092e\u093e\u0939\u093f\u0924\u0940 \u092f\u094b\u0917\u094d\u092f \u0906\u0939\u0947 \u0915\u093e \u0924\u0947 \u0924\u092a\u093e\u0938\u093e",
|
51 |
+
"sessionRequired": "\u092f\u093e \u092a\u0943\u0937\u094d\u0920\u093e\u0935\u0930 \u092a\u094d\u0930\u0935\u0947\u0936 \u0915\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u0915\u0943\u092a\u092f\u093e \u0938\u093e\u0907\u0928 \u0907\u0928 \u0915\u0930\u093e"
|
52 |
+
}
|
53 |
+
},
|
54 |
+
"provider": {
|
55 |
+
"continue": "{{provider}} \u0938\u0939 \u092a\u0941\u0922\u0947 \u091c\u093e"
|
56 |
+
}
|
57 |
+
},
|
58 |
+
"chat": {
|
59 |
+
"input": {
|
60 |
+
"placeholder": "\u0924\u0941\u092e\u091a\u093e \u0938\u0902\u0926\u0947\u0936 \u092f\u0947\u0925\u0947 \u091f\u093e\u0907\u092a \u0915\u0930\u093e...",
|
61 |
+
"actions": {
|
62 |
+
"send": "\u0938\u0902\u0926\u0947\u0936 \u092a\u093e\u0920\u0935\u093e",
|
63 |
+
"stop": "\u0915\u093e\u0930\u094d\u092f \u0925\u093e\u0902\u092c\u0935\u093e",
|
64 |
+
"attachFiles": "\u092b\u093e\u0907\u0932\u094d\u0938 \u091c\u094b\u0921\u093e"
|
65 |
+
}
|
66 |
+
},
|
67 |
+
"speech": {
|
68 |
+
"start": "\u0930\u0947\u0915\u0949\u0930\u094d\u0921\u093f\u0902\u0917 \u0938\u0941\u0930\u0942 \u0915\u0930\u093e",
|
69 |
+
"stop": "\u0930\u0947\u0915\u0949\u0930\u094d\u0921\u093f\u0902\u0917 \u0925\u093e\u0902\u092c\u0935\u093e",
|
70 |
+
"connecting": "\u0915\u0928\u0947\u0915\u094d\u091f \u0915\u0930\u0924 \u0906\u0939\u0947"
|
71 |
+
},
|
72 |
+
"fileUpload": {
|
73 |
+
"dragDrop": "\u092b\u093e\u0907\u0932\u094d\u0938 \u092f\u0947\u0925\u0947 \u0921\u094d\u0930\u0945\u0917 \u0906\u0923\u093f \u0921\u094d\u0930\u0949\u092a \u0915\u0930\u093e",
|
74 |
+
"browse": "\u092b\u093e\u0907\u0932\u094d\u0938 \u092c\u094d\u0930\u093e\u0909\u091d \u0915\u0930\u093e",
|
75 |
+
"sizeLimit": "\u092e\u0930\u094d\u092f\u093e\u0926\u093e:",
|
76 |
+
"errors": {
|
77 |
+
"failed": "\u0905\u092a\u0932\u094b\u0921 \u0905\u092f\u0936\u0938\u094d\u0935\u0940",
|
78 |
+
"cancelled": "\u092f\u093e\u0902\u091a\u0947 \u0905\u092a\u0932\u094b\u0921 \u0930\u0926\u094d\u0926 \u0915\u0947\u0932\u0947"
|
79 |
+
}
|
80 |
+
},
|
81 |
+
"messages": {
|
82 |
+
"status": {
|
83 |
+
"using": "\u0935\u093e\u092a\u0930\u0924 \u0906\u0939\u0947",
|
84 |
+
"used": "\u0935\u093e\u092a\u0930\u0932\u0947"
|
85 |
+
},
|
86 |
+
"actions": {
|
87 |
+
"copy": {
|
88 |
+
"button": "\u0915\u094d\u0932\u093f\u092a\u092c\u094b\u0930\u094d\u0921\u0935\u0930 \u0915\u0949\u092a\u0940 \u0915\u0930\u093e",
|
89 |
+
"success": "\u0915\u0949\u092a\u0940 \u0915\u0947\u0932\u0947!"
|
90 |
+
}
|
91 |
+
},
|
92 |
+
"feedback": {
|
93 |
+
"positive": "\u0909\u092a\u092f\u0941\u0915\u094d\u0924",
|
94 |
+
"negative": "\u0909\u092a\u092f\u0941\u0915\u094d\u0924 \u0928\u093e\u0939\u0940",
|
95 |
+
"edit": "\u092b\u0940\u0921\u092c\u0945\u0915 \u0938\u0902\u092a\u093e\u0926\u093f\u0924 \u0915\u0930\u093e",
|
96 |
+
"dialog": {
|
97 |
+
"title": "\u091f\u093f\u092a\u094d\u092a\u0923\u0940 \u091c\u094b\u0921\u093e",
|
98 |
+
"submit": "\u092b\u0940\u0921\u092c\u0945\u0915 \u0938\u092c\u092e\u093f\u091f \u0915\u0930\u093e"
|
99 |
+
},
|
100 |
+
"status": {
|
101 |
+
"updating": "\u0905\u092a\u0921\u0947\u091f \u0915\u0930\u0924 \u0906\u0939\u0947",
|
102 |
+
"updated": "\u092b\u0940\u0921\u092c\u0945\u0915 \u0905\u092a\u0921\u0947\u091f \u0915\u0947\u0932\u0947"
|
103 |
+
}
|
104 |
+
}
|
105 |
+
},
|
106 |
+
"history": {
|
107 |
+
"title": "\u0936\u0947\u0935\u091f\u091a\u0947 \u0907\u0928\u092a\u0941\u091f",
|
108 |
+
"empty": "\u0930\u093f\u0915\u093e\u092e\u0947 \u0906\u0939\u0947...",
|
109 |
+
"show": "\u0907\u0924\u093f\u0939\u093e\u0938 \u0926\u093e\u0916\u0935\u093e"
|
110 |
+
},
|
111 |
+
"settings": {
|
112 |
+
"title": "\u0938\u0947\u091f\u093f\u0902\u0917\u094d\u091c \u092a\u0945\u0928\u0932"
|
113 |
+
},
|
114 |
+
"watermark": "\u0938\u0939 \u092c\u0928\u0935\u0932\u0947"
|
115 |
+
},
|
116 |
+
"threadHistory": {
|
117 |
+
"sidebar": {
|
118 |
+
"title": "\u092e\u093e\u0917\u0940\u0932 \u091a\u0945\u091f\u094d\u0938",
|
119 |
+
"filters": {
|
120 |
+
"search": "\u0936\u094b\u0927\u093e",
|
121 |
+
"placeholder": "Search conversations..."
|
122 |
+
},
|
123 |
+
"timeframes": {
|
124 |
+
"today": "\u0906\u091c",
|
125 |
+
"yesterday": "\u0915\u093e\u0932",
|
126 |
+
"previous7days": "\u092e\u093e\u0917\u0940\u0932 7 \u0926\u093f\u0935\u0938",
|
127 |
+
"previous30days": "\u092e\u093e\u0917\u0940\u0932 30 \u0926\u093f\u0935\u0938"
|
128 |
+
},
|
129 |
+
"empty": "\u0915\u094b\u0923\u0924\u0947\u0939\u0940 \u0925\u094d\u0930\u0947\u0921 \u0938\u093e\u092a\u0921\u0932\u0947 \u0928\u093e\u0939\u0940\u0924",
|
130 |
+
"actions": {
|
131 |
+
"close": "\u0938\u093e\u0907\u0921\u092c\u093e\u0930 \u092c\u0902\u0926 \u0915\u0930\u093e",
|
132 |
+
"open": "\u0938\u093e\u0907\u0921\u092c\u093e\u0930 \u0909\u0918\u0921\u093e"
|
133 |
+
}
|
134 |
+
},
|
135 |
+
"thread": {
|
136 |
+
"untitled": "\u0936\u0940\u0930\u094d\u0937\u0915\u0935\u093f\u0930\u0939\u093f\u0924 \u0938\u0902\u092d\u093e\u0937\u0923",
|
137 |
+
"menu": {
|
138 |
+
"rename": "Rename",
|
139 |
+
"delete": "Delete"
|
140 |
+
},
|
141 |
+
"actions": {
|
142 |
+
"delete": {
|
143 |
+
"title": "\u0939\u091f\u0935\u093f\u0923\u094d\u092f\u093e\u091a\u0940 \u092a\u0941\u0937\u094d\u091f\u0940 \u0915\u0930\u093e",
|
144 |
+
"description": "\u0939\u0947 \u0925\u094d\u0930\u0947\u0921 \u0906\u0923\u093f \u0924\u094d\u092f\u093e\u091a\u0947 \u0938\u0902\u0926\u0947\u0936 \u0935 \u0918\u091f\u0915 \u0939\u091f\u0935\u0947\u0932. \u0939\u0940 \u0915\u094d\u0930\u093f\u092f\u093e \u092a\u0942\u0930\u094d\u0935\u0935\u0924 \u0915\u0947\u0932\u0940 \u091c\u093e\u090a \u0936\u0915\u0924 \u0928\u093e\u0939\u0940",
|
145 |
+
"success": "\u091a\u0945\u091f \u0939\u091f\u0935\u0932\u093e",
|
146 |
+
"inProgress": "\u091a\u0945\u091f \u0939\u091f\u0935\u0924 \u0906\u0939\u0947"
|
147 |
+
},
|
148 |
+
"rename": {
|
149 |
+
"title": "\u0925\u094d\u0930\u0947\u0921\u091a\u0947 \u0928\u093e\u0935 \u092c\u0926\u0932\u093e",
|
150 |
+
"description": "\u092f\u093e \u0925\u094d\u0930\u0947\u0921\u0938\u093e\u0920\u0940 \u0928\u0935\u0940\u0928 \u0928\u093e\u0935 \u092a\u094d\u0930\u0935\u093f\u0937\u094d\u091f \u0915\u0930\u093e",
|
151 |
+
"form": {
|
152 |
+
"name": {
|
153 |
+
"label": "\u0928\u093e\u0935",
|
154 |
+
"placeholder": "\u0928\u0935\u0940\u0928 \u0928\u093e\u0935 \u092a\u094d\u0930\u0935\u093f\u0937\u094d\u091f \u0915\u0930\u093e"
|
155 |
+
}
|
156 |
+
},
|
157 |
+
"success": "\u0925\u094d\u0930\u0947\u0921\u091a\u0947 \u0928\u093e\u0935 \u092c\u0926\u0932\u0932\u0947!",
|
158 |
+
"inProgress": "\u0925\u094d\u0930\u0947\u0921\u091a\u0947 \u0928\u093e\u0935 \u092c\u0926\u0932\u0924 \u0906\u0939\u0947"
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
},
|
163 |
+
"navigation": {
|
164 |
+
"header": {
|
165 |
+
"chat": "\u091a\u0945\u091f",
|
166 |
+
"readme": "\u0935\u093e\u091a\u093e",
|
167 |
+
"theme": {
|
168 |
+
"light": "Light Theme",
|
169 |
+
"dark": "Dark Theme",
|
170 |
+
"system": "Follow System"
|
171 |
+
}
|
172 |
+
},
|
173 |
+
"newChat": {
|
174 |
+
"button": "\u0928\u0935\u0940\u0928 \u091a\u0945\u091f",
|
175 |
+
"dialog": {
|
176 |
+
"title": "\u0928\u0935\u0940\u0928 \u091a\u0945\u091f \u0924\u092f\u093e\u0930 \u0915\u0930\u093e",
|
177 |
+
"description": "\u0939\u0947 \u0924\u0941\u092e\u091a\u093e \u0938\u0927\u094d\u092f\u093e\u091a\u093e \u091a\u0945\u091f \u0907\u0924\u093f\u0939\u093e\u0938 \u0938\u093e\u092b \u0915\u0930\u0947\u0932. \u0924\u0941\u092e\u094d\u0939\u093e\u0932\u093e \u0916\u093e\u0924\u094d\u0930\u0940 \u0906\u0939\u0947 \u0915\u0940 \u0924\u0941\u092e\u094d\u0939\u0940 \u092a\u0941\u0922\u0947 \u091c\u093e\u090a \u0907\u091a\u094d\u091b\u093f\u0924\u093e?",
|
178 |
+
"tooltip": "\u0928\u0935\u0940\u0928 \u091a\u0945\u091f"
|
179 |
+
}
|
180 |
+
},
|
181 |
+
"user": {
|
182 |
+
"menu": {
|
183 |
+
"settings": "\u0938\u0947\u091f\u093f\u0902\u0917\u094d\u091c",
|
184 |
+
"settingsKey": "S",
|
185 |
+
"apiKeys": "API \u0915\u0940\u091c",
|
186 |
+
"logout": "\u0932\u0949\u0917\u0906\u0909\u091f"
|
187 |
+
}
|
188 |
+
}
|
189 |
+
},
|
190 |
+
"apiKeys": {
|
191 |
+
"title": "\u0906\u0935\u0936\u094d\u092f\u0915 API \u0915\u0940\u091c",
|
192 |
+
"description": "\u0939\u0947 \u0905\u0945\u092a \u0935\u093e\u092a\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u0916\u093e\u0932\u0940\u0932 API \u0915\u0940\u091c \u0906\u0935\u0936\u094d\u092f\u0915 \u0906\u0939\u0947\u0924. \u0915\u0940\u091c \u0924\u0941\u092e\u091a\u094d\u092f\u093e \u0921\u093f\u0935\u094d\u0939\u093e\u0907\u0938\u091a\u094d\u092f\u093e \u0932\u094b\u0915\u0932 \u0938\u094d\u091f\u094b\u0930\u0947\u091c\u092e\u0927\u094d\u092f\u0947 \u0938\u093e\u0920\u0935\u0932\u094d\u092f\u093e \u091c\u093e\u0924\u093e\u0924.",
|
193 |
+
"success": {
|
194 |
+
"saved": "\u092f\u0936\u0938\u094d\u0935\u0940\u0930\u093f\u0924\u094d\u092f\u093e \u091c\u0924\u0928 \u0915\u0947\u0932\u0947"
|
195 |
+
}
|
196 |
+
},
|
197 |
+
"alerts": {
|
198 |
+
"info": "Info",
|
199 |
+
"note": "Note",
|
200 |
+
"tip": "Tip",
|
201 |
+
"important": "Important",
|
202 |
+
"warning": "Warning",
|
203 |
+
"caution": "Caution",
|
204 |
+
"debug": "Debug",
|
205 |
+
"example": "Example",
|
206 |
+
"success": "Success",
|
207 |
+
"help": "Help",
|
208 |
+
"idea": "Idea",
|
209 |
+
"pending": "Pending",
|
210 |
+
"security": "Security",
|
211 |
+
"beta": "Beta",
|
212 |
+
"best-practice": "Best Practice"
|
213 |
+
}
|
214 |
+
}
|
.chainlit/translations/nl-NL.json
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"common": {
|
3 |
+
"actions": {
|
4 |
+
"cancel": "Annuleren",
|
5 |
+
"confirm": "Bevestigen",
|
6 |
+
"continue": "Doorgaan",
|
7 |
+
"goBack": "Terug",
|
8 |
+
"reset": "Herstellen",
|
9 |
+
"submit": "Versturen"
|
10 |
+
},
|
11 |
+
"status": {
|
12 |
+
"loading": "Laden...",
|
13 |
+
"error": {
|
14 |
+
"default": "Er is een fout opgetreden",
|
15 |
+
"serverConnection": "Kon geen verbinding maken met de server"
|
16 |
+
}
|
17 |
+
}
|
18 |
+
},
|
19 |
+
"auth": {
|
20 |
+
"login": {
|
21 |
+
"title": "Inloggen om toegang te krijgen tot de app",
|
22 |
+
"form": {
|
23 |
+
"email": {
|
24 |
+
"label": "E-mailadres",
|
25 |
+
"required": "e-mail is een verplicht veld"
|
26 |
+
},
|
27 |
+
"password": {
|
28 |
+
"label": "Wachtwoord",
|
29 |
+
"required": "wachtwoord is een verplicht veld"
|
30 |
+
},
|
31 |
+
"actions": {
|
32 |
+
"signin": "Inloggen"
|
33 |
+
},
|
34 |
+
"alternativeText": {
|
35 |
+
"or": "OF"
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"errors": {
|
39 |
+
"default": "Kan niet inloggen",
|
40 |
+
"signin": "Probeer in te loggen met een ander account",
|
41 |
+
"oauthSignin": "Probeer in te loggen met een ander account",
|
42 |
+
"redirectUriMismatch": "De redirect URI komt niet overeen met de oauth app configuratie",
|
43 |
+
"oauthCallback": "Probeer in te loggen met een ander account",
|
44 |
+
"oauthCreateAccount": "Probeer in te loggen met een ander account",
|
45 |
+
"emailCreateAccount": "Probeer in te loggen met een ander account",
|
46 |
+
"callback": "Probeer in te loggen met een ander account",
|
47 |
+
"oauthAccountNotLinked": "Om je identiteit te bevestigen, log in met hetzelfde account dat je oorspronkelijk hebt gebruikt",
|
48 |
+
"emailSignin": "De e-mail kon niet worden verzonden",
|
49 |
+
"emailVerify": "Verifieer je e-mail, er is een nieuwe e-mail verzonden",
|
50 |
+
"credentialsSignin": "Inloggen mislukt. Controleer of de ingevoerde gegevens correct zijn",
|
51 |
+
"sessionRequired": "Log in om toegang te krijgen tot deze pagina"
|
52 |
+
}
|
53 |
+
},
|
54 |
+
"provider": {
|
55 |
+
"continue": "Doorgaan met {{provider}}"
|
56 |
+
}
|
57 |
+
},
|
58 |
+
"chat": {
|
59 |
+
"input": {
|
60 |
+
"placeholder": "Typ hier je bericht...",
|
61 |
+
"actions": {
|
62 |
+
"send": "Bericht versturen",
|
63 |
+
"stop": "Taak stoppen",
|
64 |
+
"attachFiles": "Bestanden bijvoegen"
|
65 |
+
}
|
66 |
+
},
|
67 |
+
"speech": {
|
68 |
+
"start": "Start opname",
|
69 |
+
"stop": "Stop opname",
|
70 |
+
"connecting": "Verbinden"
|
71 |
+
},
|
72 |
+
"fileUpload": {
|
73 |
+
"dragDrop": "Sleep bestanden hierheen",
|
74 |
+
"browse": "Bestanden zoeken",
|
75 |
+
"sizeLimit": "Limiet:",
|
76 |
+
"errors": {
|
77 |
+
"failed": "Uploaden mislukt",
|
78 |
+
"cancelled": "Upload geannuleerd van"
|
79 |
+
}
|
80 |
+
},
|
81 |
+
"messages": {
|
82 |
+
"status": {
|
83 |
+
"using": "In gebruik",
|
84 |
+
"used": "Gebruikt"
|
85 |
+
},
|
86 |
+
"actions": {
|
87 |
+
"copy": {
|
88 |
+
"button": "Kopi\u00ebren naar klembord",
|
89 |
+
"success": "Gekopieerd!"
|
90 |
+
}
|
91 |
+
},
|
92 |
+
"feedback": {
|
93 |
+
"positive": "Nuttig",
|
94 |
+
"negative": "Niet nuttig",
|
95 |
+
"edit": "Feedback bewerken",
|
96 |
+
"dialog": {
|
97 |
+
"title": "Voeg een opmerking toe",
|
98 |
+
"submit": "Feedback versturen"
|
99 |
+
},
|
100 |
+
"status": {
|
101 |
+
"updating": "Bijwerken",
|
102 |
+
"updated": "Feedback bijgewerkt"
|
103 |
+
}
|
104 |
+
}
|
105 |
+
},
|
106 |
+
"history": {
|
107 |
+
"title": "Laatste invoer",
|
108 |
+
"empty": "Zo leeg...",
|
109 |
+
"show": "Toon geschiedenis"
|
110 |
+
},
|
111 |
+
"settings": {
|
112 |
+
"title": "Instellingenpaneel"
|
113 |
+
},
|
114 |
+
"watermark": "Gebouwd met"
|
115 |
+
},
|
116 |
+
"threadHistory": {
|
117 |
+
"sidebar": {
|
118 |
+
"title": "Eerdere chats",
|
119 |
+
"filters": {
|
120 |
+
"search": "Zoeken",
|
121 |
+
"placeholder": "Search conversations..."
|
122 |
+
},
|
123 |
+
"timeframes": {
|
124 |
+
"today": "Vandaag",
|
125 |
+
"yesterday": "Gisteren",
|
126 |
+
"previous7days": "Afgelopen 7 dagen",
|
127 |
+
"previous30days": "Afgelopen 30 dagen"
|
128 |
+
},
|
129 |
+
"empty": "Geen gesprekken gevonden",
|
130 |
+
"actions": {
|
131 |
+
"close": "Zijbalk sluiten",
|
132 |
+
"open": "Zijbalk openen"
|
133 |
+
}
|
134 |
+
},
|
135 |
+
"thread": {
|
136 |
+
"untitled": "Naamloos gesprek",
|
137 |
+
"menu": {
|
138 |
+
"rename": "Rename",
|
139 |
+
"delete": "Delete"
|
140 |
+
},
|
141 |
+
"actions": {
|
142 |
+
"delete": {
|
143 |
+
"title": "Verwijdering bevestigen",
|
144 |
+
"description": "Dit zal het gesprek en bijbehorende berichten en elementen verwijderen. Deze actie kan niet ongedaan worden gemaakt",
|
145 |
+
"success": "Chat verwijderd",
|
146 |
+
"inProgress": "Chat verwijderen"
|
147 |
+
},
|
148 |
+
"rename": {
|
149 |
+
"title": "Gesprek hernoemen",
|
150 |
+
"description": "Voer een nieuwe naam in voor dit gesprek",
|
151 |
+
"form": {
|
152 |
+
"name": {
|
153 |
+
"label": "Naam",
|
154 |
+
"placeholder": "Voer nieuwe naam in"
|
155 |
+
}
|
156 |
+
},
|
157 |
+
"success": "Gesprek hernoemd!",
|
158 |
+
"inProgress": "Gesprek hernoemen"
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
},
|
163 |
+
"navigation": {
|
164 |
+
"header": {
|
165 |
+
"chat": "Chat",
|
166 |
+
"readme": "Leesmij",
|
167 |
+
"theme": {
|
168 |
+
"light": "Light Theme",
|
169 |
+
"dark": "Dark Theme",
|
170 |
+
"system": "Follow System"
|
171 |
+
}
|
172 |
+
},
|
173 |
+
"newChat": {
|
174 |
+
"button": "Nieuwe chat",
|
175 |
+
"dialog": {
|
176 |
+
"title": "Nieuwe chat aanmaken",
|
177 |
+
"description": "Dit zal je huidige chatgeschiedenis wissen. Weet je zeker dat je door wilt gaan?",
|
178 |
+
"tooltip": "Nieuwe chat"
|
179 |
+
}
|
180 |
+
},
|
181 |
+
"user": {
|
182 |
+
"menu": {
|
183 |
+
"settings": "Instellingen",
|
184 |
+
"settingsKey": "I",
|
185 |
+
"apiKeys": "API-sleutels",
|
186 |
+
"logout": "Uitloggen"
|
187 |
+
}
|
188 |
+
}
|
189 |
+
},
|
190 |
+
"apiKeys": {
|
191 |
+
"title": "Vereiste API-sleutels",
|
192 |
+
"description": "Om deze app te gebruiken zijn de volgende API-sleutels vereist. De sleutels worden opgeslagen in de lokale opslag van je apparaat.",
|
193 |
+
"success": {
|
194 |
+
"saved": "Succesvol opgeslagen"
|
195 |
+
}
|
196 |
+
},
|
197 |
+
"alerts": {
|
198 |
+
"info": "Info",
|
199 |
+
"note": "Note",
|
200 |
+
"tip": "Tip",
|
201 |
+
"important": "Important",
|
202 |
+
"warning": "Warning",
|
203 |
+
"caution": "Caution",
|
204 |
+
"debug": "Debug",
|
205 |
+
"example": "Example",
|
206 |
+
"success": "Success",
|
207 |
+
"help": "Help",
|
208 |
+
"idea": "Idea",
|
209 |
+
"pending": "Pending",
|
210 |
+
"security": "Security",
|
211 |
+
"beta": "Beta",
|
212 |
+
"best-practice": "Best Practice"
|
213 |
+
}
|
214 |
+
}
|
.chainlit/translations/ta.json
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"common": {
|
3 |
+
"actions": {
|
4 |
+
"cancel": "\u0bb0\u0ba4\u0bcd\u0ba4\u0bc1 \u0b9a\u0bc6\u0baf\u0bcd",
|
5 |
+
"confirm": "\u0b89\u0bb1\u0bc1\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1",
|
6 |
+
"continue": "\u0ba4\u0bca\u0b9f\u0bb0\u0bcd\u0b95",
|
7 |
+
"goBack": "\u0ba4\u0bbf\u0bb0\u0bc1\u0bae\u0bcd\u0baa\u0bbf\u0b9a\u0bcd \u0b9a\u0bc6\u0bb2\u0bcd",
|
8 |
+
"reset": "\u0bae\u0bc0\u0b9f\u0bcd\u0b9f\u0bae\u0bc8",
|
9 |
+
"submit": "\u0b9a\u0bae\u0bb0\u0bcd\u0baa\u0bcd\u0baa\u0bbf"
|
10 |
+
},
|
11 |
+
"status": {
|
12 |
+
"loading": "\u0b8f\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1...",
|
13 |
+
"error": {
|
14 |
+
"default": "\u0baa\u0bbf\u0bb4\u0bc8 \u0b8f\u0bb1\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1",
|
15 |
+
"serverConnection": "\u0b9a\u0bc7\u0bb5\u0bc8\u0baf\u0b95\u0ba4\u0bcd\u0ba4\u0bc8 \u0b85\u0b9f\u0bc8\u0baf \u0bae\u0bc1\u0b9f\u0bbf\u0baf\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8"
|
16 |
+
}
|
17 |
+
}
|
18 |
+
},
|
19 |
+
"auth": {
|
20 |
+
"login": {
|
21 |
+
"title": "\u0baa\u0baf\u0ba9\u0bcd\u0baa\u0bbe\u0b9f\u0bcd\u0b9f\u0bc8 \u0b85\u0ba3\u0bc1\u0b95 \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf\u0bb5\u0bc1\u0bae\u0bcd",
|
22 |
+
"form": {
|
23 |
+
"email": {
|
24 |
+
"label": "\u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bcd \u0bae\u0bc1\u0b95\u0bb5\u0bb0\u0bbf",
|
25 |
+
"required": "\u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bcd \u0ba4\u0bc7\u0bb5\u0bc8\u0baf\u0bbe\u0ba9 \u0baa\u0bc1\u0bb2\u0bae\u0bcd"
|
26 |
+
},
|
27 |
+
"password": {
|
28 |
+
"label": "\u0b95\u0b9f\u0bb5\u0bc1\u0b9a\u0bcd\u0b9a\u0bca\u0bb2\u0bcd",
|
29 |
+
"required": "\u0b95\u0b9f\u0bb5\u0bc1\u0b9a\u0bcd\u0b9a\u0bca\u0bb2\u0bcd \u0ba4\u0bc7\u0bb5\u0bc8\u0baf\u0bbe\u0ba9 \u0baa\u0bc1\u0bb2\u0bae\u0bcd"
|
30 |
+
},
|
31 |
+
"actions": {
|
32 |
+
"signin": "\u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0b95"
|
33 |
+
},
|
34 |
+
"alternativeText": {
|
35 |
+
"or": "\u0b85\u0bb2\u0bcd\u0bb2\u0ba4\u0bc1"
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"errors": {
|
39 |
+
"default": "\u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf \u0bae\u0bc1\u0b9f\u0bbf\u0baf\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8",
|
40 |
+
"signin": "\u0bb5\u0bc7\u0bb1\u0bc1 \u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1\u0b9f\u0ba9\u0bcd \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf \u0bae\u0bc1\u0baf\u0bb1\u0bcd\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd",
|
41 |
+
"oauthSignin": "\u0bb5\u0bc7\u0bb1\u0bc1 \u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1\u0b9f\u0ba9\u0bcd \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf \u0bae\u0bc1\u0baf\u0bb1\u0bcd\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd",
|
42 |
+
"redirectUriMismatch": "\u0ba4\u0bbf\u0b9a\u0bc8\u0ba4\u0bbf\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0bb2\u0bcd URI \u0b93\u0b86\u0ba4\u0bcd \u0baa\u0baf\u0ba9\u0bcd\u0baa\u0bbe\u0b9f\u0bcd\u0b9f\u0bc1 \u0b95\u0b9f\u0bcd\u0b9f\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1\u0b9f\u0ba9\u0bcd \u0baa\u0bca\u0bb0\u0bc1\u0ba8\u0bcd\u0ba4\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8",
|
43 |
+
"oauthCallback": "\u0bb5\u0bc7\u0bb1\u0bc1 \u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1\u0b9f\u0ba9\u0bcd \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf \u0bae\u0bc1\u0baf\u0bb1\u0bcd\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd",
|
44 |
+
"oauthCreateAccount": "\u0bb5\u0bc7\u0bb1\u0bc1 \u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1\u0b9f\u0ba9\u0bcd \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf \u0bae\u0bc1\u0baf\u0bb1\u0bcd\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd",
|
45 |
+
"emailCreateAccount": "\u0bb5\u0bc7\u0bb1\u0bc1 \u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1\u0b9f\u0ba9\u0bcd \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf \u0bae\u0bc1\u0baf\u0bb1\u0bcd\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd",
|
46 |
+
"callback": "\u0bb5\u0bc7\u0bb1\u0bc1 \u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1\u0b9f\u0ba9\u0bcd \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf \u0bae\u0bc1\u0baf\u0bb1\u0bcd\u0b9a\u0bbf\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd",
|
47 |
+
"oauthAccountNotLinked": "\u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b85\u0b9f\u0bc8\u0baf\u0bbe\u0bb3\u0ba4\u0bcd\u0ba4\u0bc8 \u0b89\u0bb1\u0bc1\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4, \u0bae\u0bc1\u0ba4\u0bb2\u0bbf\u0bb2\u0bcd \u0baa\u0baf\u0ba9\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bbf\u0baf \u0b85\u0ba4\u0bc7 \u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1\u0b9f\u0ba9\u0bcd \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf\u0bb5\u0bc1\u0bae\u0bcd",
|
48 |
+
"emailSignin": "\u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bc8 \u0b85\u0ba9\u0bc1\u0baa\u0bcd\u0baa \u0bae\u0bc1\u0b9f\u0bbf\u0baf\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8",
|
49 |
+
"emailVerify": "\u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bc8 \u0b9a\u0bb0\u0bbf\u0baa\u0bbe\u0bb0\u0bcd\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd, \u0baa\u0bc1\u0ba4\u0bbf\u0baf \u0bae\u0bbf\u0ba9\u0bcd\u0ba9\u0b9e\u0bcd\u0b9a\u0bb2\u0bcd \u0b85\u0ba9\u0bc1\u0baa\u0bcd\u0baa\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bc1\u0bb3\u0bcd\u0bb3\u0ba4\u0bc1",
|
50 |
+
"credentialsSignin": "\u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0bb5\u0bc1 \u0ba4\u0bcb\u0bb2\u0bcd\u0bb5\u0bbf\u0baf\u0b9f\u0bc8\u0ba8\u0bcd\u0ba4\u0ba4\u0bc1. \u0ba8\u0bc0\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0bb5\u0bb4\u0b99\u0bcd\u0b95\u0bbf\u0baf \u0bb5\u0bbf\u0bb5\u0bb0\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b9a\u0bb0\u0bbf\u0baf\u0bbe\u0ba9\u0bb5\u0bc8 \u0b8e\u0ba9 \u0b9a\u0bb0\u0bbf\u0baa\u0bbe\u0bb0\u0bcd\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd",
|
51 |
+
"sessionRequired": "\u0b87\u0ba8\u0bcd\u0ba4\u0baa\u0bcd \u0baa\u0b95\u0bcd\u0b95\u0ba4\u0bcd\u0ba4\u0bc8 \u0b85\u0ba3\u0bc1\u0b95 \u0b89\u0bb3\u0bcd\u0ba8\u0bc1\u0bb4\u0bc8\u0baf\u0bb5\u0bc1\u0bae\u0bcd"
|
52 |
+
}
|
53 |
+
},
|
54 |
+
"provider": {
|
55 |
+
"continue": "{{provider}} \u0bae\u0bc2\u0bb2\u0bae\u0bcd \u0ba4\u0bca\u0b9f\u0bb0\u0bb5\u0bc1\u0bae\u0bcd"
|
56 |
+
}
|
57 |
+
},
|
58 |
+
"chat": {
|
59 |
+
"input": {
|
60 |
+
"placeholder": "\u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b9a\u0bc6\u0baf\u0bcd\u0ba4\u0bbf\u0baf\u0bc8 \u0b87\u0b99\u0bcd\u0b95\u0bc7 \u0ba4\u0b9f\u0bcd\u0b9f\u0b9a\u0bcd\u0b9a\u0bc1 \u0b9a\u0bc6\u0baf\u0bcd\u0baf\u0bb5\u0bc1\u0bae\u0bcd...",
|
61 |
+
"actions": {
|
62 |
+
"send": "\u0b9a\u0bc6\u0baf\u0bcd\u0ba4\u0bbf \u0b85\u0ba9\u0bc1\u0baa\u0bcd\u0baa\u0bc1",
|
63 |
+
"stop": "\u0baa\u0ba3\u0bbf\u0baf\u0bc8 \u0ba8\u0bbf\u0bb1\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1",
|
64 |
+
"attachFiles": "\u0b95\u0bcb\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bc8 \u0b87\u0ba3\u0bc8"
|
65 |
+
}
|
66 |
+
},
|
67 |
+
"speech": {
|
68 |
+
"start": "\u0baa\u0ba4\u0bbf\u0bb5\u0bc1 \u0ba4\u0bca\u0b9f\u0b99\u0bcd\u0b95\u0bc1",
|
69 |
+
"stop": "\u0baa\u0ba4\u0bbf\u0bb5\u0bc8 \u0ba8\u0bbf\u0bb1\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1",
|
70 |
+
"connecting": "\u0b87\u0ba3\u0bc8\u0b95\u0bcd\u0b95\u0bbf\u0bb1\u0ba4\u0bc1"
|
71 |
+
},
|
72 |
+
"fileUpload": {
|
73 |
+
"dragDrop": "\u0b95\u0bcb\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bc8 \u0b87\u0b99\u0bcd\u0b95\u0bc7 \u0b87\u0bb4\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1 \u0bb5\u0bbf\u0b9f\u0bb5\u0bc1\u0bae\u0bcd",
|
74 |
+
"browse": "\u0b95\u0bcb\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bc8 \u0b89\u0bb2\u0bbe\u0bb5\u0bc1",
|
75 |
+
"sizeLimit": "\u0bb5\u0bb0\u0bae\u0bcd\u0baa\u0bc1:",
|
76 |
+
"errors": {
|
77 |
+
"failed": "\u0baa\u0ba4\u0bbf\u0bb5\u0bc7\u0bb1\u0bcd\u0bb1\u0bae\u0bcd \u0ba4\u0bcb\u0bb2\u0bcd\u0bb5\u0bbf\u0baf\u0b9f\u0bc8\u0ba8\u0bcd\u0ba4\u0ba4\u0bc1",
|
78 |
+
"cancelled": "\u0baa\u0ba4\u0bbf\u0bb5\u0bc7\u0bb1\u0bcd\u0bb1\u0bae\u0bcd \u0bb0\u0ba4\u0bcd\u0ba4\u0bc1 \u0b9a\u0bc6\u0baf\u0bcd\u0baf\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
|
79 |
+
}
|
80 |
+
},
|
81 |
+
"messages": {
|
82 |
+
"status": {
|
83 |
+
"using": "\u0baa\u0baf\u0ba9\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1",
|
84 |
+
"used": "\u0baa\u0baf\u0ba9\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
|
85 |
+
},
|
86 |
+
"actions": {
|
87 |
+
"copy": {
|
88 |
+
"button": "\u0b95\u0bbf\u0bb3\u0bbf\u0baa\u0bcd\u0baa\u0bcb\u0bb0\u0bcd\u0b9f\u0bc1\u0b95\u0bcd\u0b95\u0bc1 \u0ba8\u0b95\u0bb2\u0bc6\u0b9f\u0bc1",
|
89 |
+
"success": "\u0ba8\u0b95\u0bb2\u0bc6\u0b9f\u0bc1\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1!"
|
90 |
+
}
|
91 |
+
},
|
92 |
+
"feedback": {
|
93 |
+
"positive": "\u0baa\u0baf\u0ba9\u0bc1\u0bb3\u0bcd\u0bb3\u0ba4\u0bbe\u0b95 \u0b87\u0bb0\u0bc1\u0ba8\u0bcd\u0ba4\u0ba4\u0bc1",
|
94 |
+
"negative": "\u0baa\u0baf\u0ba9\u0bc1\u0bb3\u0bcd\u0bb3\u0ba4\u0bbe\u0b95 \u0b87\u0bb2\u0bcd\u0bb2\u0bc8",
|
95 |
+
"edit": "\u0b95\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bc8 \u0ba4\u0bbf\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1",
|
96 |
+
"dialog": {
|
97 |
+
"title": "\u0b95\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bc8\u0b9a\u0bcd \u0b9a\u0bc7\u0bb0\u0bcd",
|
98 |
+
"submit": "\u0b95\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bc8 \u0b9a\u0bae\u0bb0\u0bcd\u0baa\u0bcd\u0baa\u0bbf"
|
99 |
+
},
|
100 |
+
"status": {
|
101 |
+
"updating": "\u0baa\u0bc1\u0ba4\u0bc1\u0baa\u0bcd\u0baa\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb1\u0ba4\u0bc1",
|
102 |
+
"updated": "\u0b95\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1 \u0baa\u0bc1\u0ba4\u0bc1\u0baa\u0bcd\u0baa\u0bbf\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
|
103 |
+
}
|
104 |
+
}
|
105 |
+
},
|
106 |
+
"history": {
|
107 |
+
"title": "\u0b95\u0b9f\u0bc8\u0b9a\u0bbf \u0b89\u0bb3\u0bcd\u0bb3\u0bc0\u0b9f\u0bc1\u0b95\u0bb3\u0bcd",
|
108 |
+
"empty": "\u0b95\u0bbe\u0bb2\u0bbf\u0baf\u0bbe\u0b95 \u0b89\u0bb3\u0bcd\u0bb3\u0ba4\u0bc1...",
|
109 |
+
"show": "\u0bb5\u0bb0\u0bb2\u0bbe\u0bb1\u0bcd\u0bb1\u0bc8\u0b95\u0bcd \u0b95\u0bbe\u0b9f\u0bcd\u0b9f\u0bc1"
|
110 |
+
},
|
111 |
+
"settings": {
|
112 |
+
"title": "\u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd \u0baa\u0bb2\u0b95\u0bae\u0bcd"
|
113 |
+
},
|
114 |
+
"watermark": "\u0b89\u0b9f\u0ba9\u0bcd \u0b89\u0bb0\u0bc1\u0bb5\u0bbe\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
|
115 |
+
},
|
116 |
+
"threadHistory": {
|
117 |
+
"sidebar": {
|
118 |
+
"title": "\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b9f\u0bb2\u0bcd\u0b95\u0bb3\u0bcd",
|
119 |
+
"filters": {
|
120 |
+
"search": "\u0ba4\u0bc7\u0b9f\u0bc1",
|
121 |
+
"placeholder": "Search conversations..."
|
122 |
+
},
|
123 |
+
"timeframes": {
|
124 |
+
"today": "\u0b87\u0ba9\u0bcd\u0bb1\u0bc1",
|
125 |
+
"yesterday": "\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1",
|
126 |
+
"previous7days": "\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 7 \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",
|
127 |
+
"previous30days": "\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 30 \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd"
|
128 |
+
},
|
129 |
+
"empty": "\u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b9f\u0bb2\u0bcd\u0b95\u0bb3\u0bcd \u0b8e\u0ba4\u0bc1\u0bb5\u0bc1\u0bae\u0bcd \u0b87\u0bb2\u0bcd\u0bb2\u0bc8",
|
130 |
+
"actions": {
|
131 |
+
"close": "\u0baa\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bc8 \u0bae\u0bc2\u0b9f\u0bc1",
|
132 |
+
"open": "\u0baa\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bc8 \u0ba4\u0bbf\u0bb1"
|
133 |
+
}
|
134 |
+
},
|
135 |
+
"thread": {
|
136 |
+
"untitled": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bbf\u0b9f\u0bbe\u0ba4 \u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b9f\u0bb2\u0bcd",
|
137 |
+
"menu": {
|
138 |
+
"rename": "Rename",
|
139 |
+
"delete": "Delete"
|
140 |
+
},
|
141 |
+
"actions": {
|
142 |
+
"delete": {
|
143 |
+
"title": "\u0ba8\u0bc0\u0b95\u0bcd\u0b95\u0bc1\u0bb5\u0ba4\u0bc8 \u0b89\u0bb1\u0bc1\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1",
|
144 |
+
"description": "\u0b87\u0ba4\u0bc1 \u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b9f\u0bb2\u0bcd \u0bae\u0bb1\u0bcd\u0bb1\u0bc1\u0bae\u0bcd \u0b85\u0ba4\u0ba9\u0bcd \u0b9a\u0bc6\u0baf\u0bcd\u0ba4\u0bbf\u0b95\u0bb3\u0bcd, \u0b89\u0bb1\u0bc1\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bc8 \u0ba8\u0bc0\u0b95\u0bcd\u0b95\u0bc1\u0bae\u0bcd. \u0b87\u0ba8\u0bcd\u0ba4 \u0b9a\u0bc6\u0baf\u0bb2\u0bc8 \u0bae\u0bc0\u0b9f\u0bcd\u0b9f\u0bc6\u0b9f\u0bc1\u0b95\u0bcd\u0b95 \u0bae\u0bc1\u0b9f\u0bbf\u0baf\u0bbe\u0ba4\u0bc1",
|
145 |
+
"success": "\u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b9f\u0bb2\u0bcd \u0ba8\u0bc0\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1",
|
146 |
+
"inProgress": "\u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b9f\u0bb2\u0bc8 \u0ba8\u0bc0\u0b95\u0bcd\u0b95\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1"
|
147 |
+
},
|
148 |
+
"rename": {
|
149 |
+
"title": "\u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b9f\u0bb2\u0bc8 \u0bae\u0bb1\u0bc1\u0baa\u0bc6\u0baf\u0bb0\u0bbf\u0b9f\u0bc1",
|
150 |
+
"description": "\u0b87\u0ba8\u0bcd\u0ba4 \u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b9f\u0bb2\u0bc1\u0b95\u0bcd\u0b95\u0bc1 \u0baa\u0bc1\u0ba4\u0bbf\u0baf \u0baa\u0bc6\u0baf\u0bb0\u0bc8 \u0b89\u0bb3\u0bcd\u0bb3\u0bbf\u0b9f\u0bb5\u0bc1\u0bae\u0bcd",
|
151 |
+
"form": {
|
152 |
+
"name": {
|
153 |
+
"label": "\u0baa\u0bc6\u0baf\u0bb0\u0bcd",
|
154 |
+
"placeholder": "\u0baa\u0bc1\u0ba4\u0bbf\u0baf \u0baa\u0bc6\u0baf\u0bb0\u0bc8 \u0b89\u0bb3\u0bcd\u0bb3\u0bbf\u0b9f\u0bb5\u0bc1\u0bae\u0bcd"
|
155 |
+
}
|
156 |
+
},
|
157 |
+
"success": "\u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b9f\u0bb2\u0bcd \u0bae\u0bb1\u0bc1\u0baa\u0bc6\u0baf\u0bb0\u0bbf\u0b9f\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1!",
|
158 |
+
"inProgress": "\u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b9f\u0bb2\u0bc8 \u0bae\u0bb1\u0bc1\u0baa\u0bc6\u0baf\u0bb0\u0bbf\u0b9f\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1"
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
},
|
163 |
+
"navigation": {
|
164 |
+
"header": {
|
165 |
+
"chat": "\u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b9f\u0bb2\u0bcd",
|
166 |
+
"readme": "\u0baa\u0b9f\u0bbf\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd",
|
167 |
+
"theme": {
|
168 |
+
"light": "Light Theme",
|
169 |
+
"dark": "Dark Theme",
|
170 |
+
"system": "Follow System"
|
171 |
+
}
|
172 |
+
},
|
173 |
+
"newChat": {
|
174 |
+
"button": "\u0baa\u0bc1\u0ba4\u0bbf\u0baf \u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b9f\u0bb2\u0bcd",
|
175 |
+
"dialog": {
|
176 |
+
"title": "\u0baa\u0bc1\u0ba4\u0bbf\u0baf \u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b9f\u0bb2\u0bc8 \u0b89\u0bb0\u0bc1\u0bb5\u0bbe\u0b95\u0bcd\u0b95\u0bc1",
|
177 |
+
"description": "\u0b87\u0ba4\u0bc1 \u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0ba4\u0bb1\u0bcd\u0baa\u0bcb\u0ba4\u0bc8\u0baf \u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b9f\u0bb2\u0bcd \u0bb5\u0bb0\u0bb2\u0bbe\u0bb1\u0bcd\u0bb1\u0bc8 \u0b85\u0bb4\u0bbf\u0b95\u0bcd\u0b95\u0bc1\u0bae\u0bcd. \u0ba4\u0bca\u0b9f\u0bb0 \u0bb5\u0bbf\u0bb0\u0bc1\u0bae\u0bcd\u0baa\u0bc1\u0b95\u0bbf\u0bb1\u0bc0\u0bb0\u0bcd\u0b95\u0bb3\u0bbe?",
|
178 |
+
"tooltip": "\u0baa\u0bc1\u0ba4\u0bbf\u0baf \u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b9f\u0bb2\u0bcd"
|
179 |
+
}
|
180 |
+
},
|
181 |
+
"user": {
|
182 |
+
"menu": {
|
183 |
+
"settings": "\u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd",
|
184 |
+
"settingsKey": "S",
|
185 |
+
"apiKeys": "API \u0bb5\u0bbf\u0b9a\u0bc8\u0b95\u0bb3\u0bcd",
|
186 |
+
"logout": "\u0bb5\u0bc6\u0bb3\u0bbf\u0baf\u0bc7\u0bb1\u0bc1"
|
187 |
+
}
|
188 |
+
}
|
189 |
+
},
|
190 |
+
"apiKeys": {
|
191 |
+
"title": "\u0ba4\u0bc7\u0bb5\u0bc8\u0baf\u0bbe\u0ba9 API \u0bb5\u0bbf\u0b9a\u0bc8\u0b95\u0bb3\u0bcd",
|
192 |
+
"description": "\u0b87\u0ba8\u0bcd\u0ba4 \u0baa\u0baf\u0ba9\u0bcd\u0baa\u0bbe\u0b9f\u0bcd\u0b9f\u0bc8\u0baa\u0bcd \u0baa\u0baf\u0ba9\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4, \u0baa\u0bbf\u0ba9\u0bcd\u0bb5\u0bb0\u0bc1\u0bae\u0bcd API \u0bb5\u0bbf\u0b9a\u0bc8\u0b95\u0bb3\u0bcd \u0ba4\u0bc7\u0bb5\u0bc8. \u0bb5\u0bbf\u0b9a\u0bc8\u0b95\u0bb3\u0bcd \u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b9a\u0bbe\u0ba4\u0ba9\u0ba4\u0bcd\u0ba4\u0bbf\u0ba9\u0bcd \u0b89\u0bb3\u0bcd\u0bb3\u0bc2\u0bb0\u0bcd \u0b9a\u0bc7\u0bae\u0bbf\u0baa\u0bcd\u0baa\u0b95\u0ba4\u0bcd\u0ba4\u0bbf\u0bb2\u0bcd \u0b9a\u0bc7\u0bae\u0bbf\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0bae\u0bcd.",
|
193 |
+
"success": {
|
194 |
+
"saved": "\u0bb5\u0bc6\u0bb1\u0bcd\u0bb1\u0bbf\u0b95\u0bb0\u0bae\u0bbe\u0b95 \u0b9a\u0bc7\u0bae\u0bbf\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1"
|
195 |
+
}
|
196 |
+
},
|
197 |
+
"alerts": {
|
198 |
+
"info": "Info",
|
199 |
+
"note": "Note",
|
200 |
+
"tip": "Tip",
|
201 |
+
"important": "Important",
|
202 |
+
"warning": "Warning",
|
203 |
+
"caution": "Caution",
|
204 |
+
"debug": "Debug",
|
205 |
+
"example": "Example",
|
206 |
+
"success": "Success",
|
207 |
+
"help": "Help",
|
208 |
+
"idea": "Idea",
|
209 |
+
"pending": "Pending",
|
210 |
+
"security": "Security",
|
211 |
+
"beta": "Beta",
|
212 |
+
"best-practice": "Best Practice"
|
213 |
+
}
|
214 |
+
}
|
.chainlit/translations/te.json
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"common": {
|
3 |
+
"actions": {
|
4 |
+
"cancel": "\u0c30\u0c26\u0c4d\u0c26\u0c41 \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f",
|
5 |
+
"confirm": "\u0c28\u0c3f\u0c30\u0c4d\u0c27\u0c3e\u0c30\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
6 |
+
"continue": "\u0c15\u0c4a\u0c28\u0c38\u0c3e\u0c17\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
7 |
+
"goBack": "\u0c35\u0c46\u0c28\u0c15\u0c4d\u0c15\u0c3f \u0c35\u0c46\u0c33\u0c4d\u0c33\u0c02\u0c21\u0c3f",
|
8 |
+
"reset": "\u0c30\u0c40\u0c38\u0c46\u0c1f\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f",
|
9 |
+
"submit": "\u0c38\u0c2e\u0c30\u0c4d\u0c2a\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f"
|
10 |
+
},
|
11 |
+
"status": {
|
12 |
+
"loading": "\u0c32\u0c4b\u0c21\u0c4d \u0c05\u0c35\u0c41\u0c24\u0c4b\u0c02\u0c26\u0c3f...",
|
13 |
+
"error": {
|
14 |
+
"default": "\u0c32\u0c4b\u0c2a\u0c02 \u0c38\u0c02\u0c2d\u0c35\u0c3f\u0c02\u0c1a\u0c3f\u0c02\u0c26\u0c3f",
|
15 |
+
"serverConnection": "\u0c38\u0c30\u0c4d\u0c35\u0c30\u0c4d\u200c\u0c28\u0c3f \u0c1a\u0c47\u0c30\u0c41\u0c15\u0c4b\u0c32\u0c47\u0c15\u0c2a\u0c4b\u0c2f\u0c3e\u0c2e\u0c41"
|
16 |
+
}
|
17 |
+
}
|
18 |
+
},
|
19 |
+
"auth": {
|
20 |
+
"login": {
|
21 |
+
"title": "\u0c2f\u0c3e\u0c2a\u0c4d\u200c\u0c28\u0c3f \u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c32\u0c3e\u0c17\u0c3f\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f",
|
22 |
+
"form": {
|
23 |
+
"email": {
|
24 |
+
"label": "\u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c1a\u0c3f\u0c30\u0c41\u0c28\u0c3e\u0c2e\u0c3e",
|
25 |
+
"required": "\u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c24\u0c2a\u0c4d\u0c2a\u0c28\u0c3f\u0c38\u0c30\u0c3f"
|
26 |
+
},
|
27 |
+
"password": {
|
28 |
+
"label": "\u0c2a\u0c3e\u0c38\u0c4d\u200c\u0c35\u0c30\u0c4d\u0c21\u0c4d",
|
29 |
+
"required": "\u0c2a\u0c3e\u0c38\u0c4d\u200c\u0c35\u0c30\u0c4d\u0c21\u0c4d \u0c24\u0c2a\u0c4d\u0c2a\u0c28\u0c3f\u0c38\u0c30\u0c3f"
|
30 |
+
},
|
31 |
+
"actions": {
|
32 |
+
"signin": "\u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f"
|
33 |
+
},
|
34 |
+
"alternativeText": {
|
35 |
+
"or": "\u0c32\u0c47\u0c26\u0c3e"
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"errors": {
|
39 |
+
"default": "\u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c32\u0c47\u0c15\u0c2a\u0c4b\u0c2f\u0c3e\u0c2e\u0c41",
|
40 |
+
"signin": "\u0c35\u0c47\u0c30\u0c47 \u0c16\u0c3e\u0c24\u0c3e\u0c24\u0c4b \u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c2a\u0c4d\u0c30\u0c2f\u0c24\u0c4d\u0c28\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
41 |
+
"oauthSignin": "\u0c35\u0c47\u0c30\u0c47 \u0c16\u0c3e\u0c24\u0c3e\u0c24\u0c4b \u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c2a\u0c4d\u0c30\u0c2f\u0c24\u0c4d\u0c28\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
42 |
+
"redirectUriMismatch": "\u0c30\u0c40\u0c21\u0c48\u0c30\u0c46\u0c15\u0c4d\u0c1f\u0c4d URI oauth \u0c2f\u0c3e\u0c2a\u0c4d \u0c15\u0c3e\u0c28\u0c4d\u0c2b\u0c3f\u0c17\u0c30\u0c47\u0c37\u0c28\u0c4d\u200c\u0c24\u0c4b \u0c38\u0c30\u0c3f\u0c2a\u0c4b\u0c32\u0c21\u0c02 \u0c32\u0c47\u0c26\u0c41",
|
43 |
+
"oauthCallback": "\u0c35\u0c47\u0c30\u0c47 \u0c16\u0c3e\u0c24\u0c3e\u0c24\u0c4b \u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c2a\u0c4d\u0c30\u0c2f\u0c24\u0c4d\u0c28\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
44 |
+
"oauthCreateAccount": "\u0c35\u0c47\u0c30\u0c47 \u0c16\u0c3e\u0c24\u0c3e\u0c24\u0c4b \u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c2a\u0c4d\u0c30\u0c2f\u0c24\u0c4d\u0c28\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
45 |
+
"emailCreateAccount": "\u0c35\u0c47\u0c30\u0c47 \u0c16\u0c3e\u0c24\u0c3e\u0c24\u0c4b \u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c2a\u0c4d\u0c30\u0c2f\u0c24\u0c4d\u0c28\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
46 |
+
"callback": "\u0c35\u0c47\u0c30\u0c47 \u0c16\u0c3e\u0c24\u0c3e\u0c24\u0c4b \u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c2a\u0c4d\u0c30\u0c2f\u0c24\u0c4d\u0c28\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
47 |
+
"oauthAccountNotLinked": "\u0c2e\u0c40 \u0c17\u0c41\u0c30\u0c4d\u0c24\u0c3f\u0c02\u0c2a\u0c41\u0c28\u0c41 \u0c28\u0c3f\u0c30\u0c4d\u0c27\u0c3e\u0c30\u0c3f\u0c02\u0c1a\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f, \u0c2e\u0c40\u0c30\u0c41 \u0c2e\u0c4a\u0c26\u0c1f \u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c3f\u0c28 \u0c05\u0c26\u0c47 \u0c16\u0c3e\u0c24\u0c3e\u0c24\u0c4b \u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f",
|
48 |
+
"emailSignin": "\u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c2a\u0c02\u0c2a\u0c21\u0c02 \u0c38\u0c3e\u0c27\u0c4d\u0c2f\u0c02 \u0c15\u0c3e\u0c32\u0c47\u0c26\u0c41",
|
49 |
+
"emailVerify": "\u0c26\u0c2f\u0c1a\u0c47\u0c38\u0c3f \u0c2e\u0c40 \u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d\u200c\u0c28\u0c3f \u0c27\u0c43\u0c35\u0c40\u0c15\u0c30\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f, \u0c15\u0c4a\u0c24\u0c4d\u0c24 \u0c07\u0c2e\u0c46\u0c2f\u0c3f\u0c32\u0c4d \u0c2a\u0c02\u0c2a\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f",
|
50 |
+
"credentialsSignin": "\u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c35\u0c3f\u0c2b\u0c32\u0c2e\u0c48\u0c02\u0c26\u0c3f. \u0c2e\u0c40\u0c30\u0c41 \u0c05\u0c02\u0c26\u0c3f\u0c02\u0c1a\u0c3f\u0c28 \u0c35\u0c3f\u0c35\u0c30\u0c3e\u0c32\u0c41 \u0c38\u0c30\u0c48\u0c28\u0c35\u0c47\u0c28\u0c3e \u0c05\u0c28\u0c3f \u0c24\u0c28\u0c3f\u0c16\u0c40 \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f",
|
51 |
+
"sessionRequired": "\u0c08 \u0c2a\u0c47\u0c1c\u0c40\u0c28\u0c3f \u0c2f\u0c3e\u0c15\u0c4d\u0c38\u0c46\u0c38\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f \u0c26\u0c2f\u0c1a\u0c47\u0c38\u0c3f \u0c38\u0c48\u0c28\u0c4d \u0c07\u0c28\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f"
|
52 |
+
}
|
53 |
+
},
|
54 |
+
"provider": {
|
55 |
+
"continue": "{{provider}}\u0c24\u0c4b \u0c15\u0c4a\u0c28\u0c38\u0c3e\u0c17\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f"
|
56 |
+
}
|
57 |
+
},
|
58 |
+
"chat": {
|
59 |
+
"input": {
|
60 |
+
"placeholder": "\u0c2e\u0c40 \u0c38\u0c02\u0c26\u0c47\u0c36\u0c3e\u0c28\u0c4d\u0c28\u0c3f \u0c07\u0c15\u0c4d\u0c15\u0c21 \u0c1f\u0c48\u0c2a\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f...",
|
61 |
+
"actions": {
|
62 |
+
"send": "\u0c38\u0c02\u0c26\u0c47\u0c36\u0c02 \u0c2a\u0c02\u0c2a\u0c02\u0c21\u0c3f",
|
63 |
+
"stop": "\u0c2a\u0c28\u0c3f \u0c06\u0c2a\u0c02\u0c21\u0c3f",
|
64 |
+
"attachFiles": "\u0c2b\u0c48\u0c32\u0c4d\u0c38\u0c4d \u0c1c\u0c4b\u0c21\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f"
|
65 |
+
}
|
66 |
+
},
|
67 |
+
"speech": {
|
68 |
+
"start": "\u0c30\u0c3f\u0c15\u0c3e\u0c30\u0c4d\u0c21\u0c3f\u0c02\u0c17\u0c4d \u0c2a\u0c4d\u0c30\u0c3e\u0c30\u0c02\u0c2d\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
69 |
+
"stop": "\u0c30\u0c3f\u0c15\u0c3e\u0c30\u0c4d\u0c21\u0c3f\u0c02\u0c17\u0c4d \u0c06\u0c2a\u0c02\u0c21\u0c3f",
|
70 |
+
"connecting": "\u0c05\u0c28\u0c41\u0c38\u0c02\u0c27\u0c3e\u0c28\u0c3f\u0c38\u0c4d\u0c24\u0c4b\u0c02\u0c26\u0c3f"
|
71 |
+
},
|
72 |
+
"fileUpload": {
|
73 |
+
"dragDrop": "\u0c2b\u0c48\u0c32\u0c4d\u0c38\u0c4d\u200c\u0c28\u0c3f \u0c07\u0c15\u0c4d\u0c15\u0c21 \u0c21\u0c4d\u0c30\u0c3e\u0c17\u0c4d \u0c1a\u0c47\u0c38\u0c3f \u0c21\u0c4d\u0c30\u0c3e\u0c2a\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f",
|
74 |
+
"browse": "\u0c2b\u0c48\u0c32\u0c4d\u0c38\u0c4d \u0c2c\u0c4d\u0c30\u0c4c\u0c1c\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f",
|
75 |
+
"sizeLimit": "\u0c2a\u0c30\u0c3f\u0c2e\u0c3f\u0c24\u0c3f:",
|
76 |
+
"errors": {
|
77 |
+
"failed": "\u0c05\u0c2a\u0c4d\u200c\u0c32\u0c4b\u0c21\u0c4d \u0c35\u0c3f\u0c2b\u0c32\u0c2e\u0c48\u0c02\u0c26\u0c3f",
|
78 |
+
"cancelled": "\u0c05\u0c2a\u0c4d\u200c\u0c32\u0c4b\u0c21\u0c4d \u0c30\u0c26\u0c4d\u0c26\u0c41 \u0c1a\u0c47\u0c2f\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f"
|
79 |
+
}
|
80 |
+
},
|
81 |
+
"messages": {
|
82 |
+
"status": {
|
83 |
+
"using": "\u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c38\u0c4d\u0c24\u0c4b\u0c02\u0c26\u0c3f",
|
84 |
+
"used": "\u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f"
|
85 |
+
},
|
86 |
+
"actions": {
|
87 |
+
"copy": {
|
88 |
+
"button": "\u0c15\u0c4d\u0c32\u0c3f\u0c2a\u0c4d\u200c\u0c2c\u0c4b\u0c30\u0c4d\u0c21\u0c4d\u200c\u0c15\u0c3f \u0c15\u0c3e\u0c2a\u0c40 \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f",
|
89 |
+
"success": "\u0c15\u0c3e\u0c2a\u0c40 \u0c1a\u0c47\u0c2f\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f!"
|
90 |
+
}
|
91 |
+
},
|
92 |
+
"feedback": {
|
93 |
+
"positive": "\u0c38\u0c39\u0c3e\u0c2f\u0c15\u0c30\u0c02",
|
94 |
+
"negative": "\u0c38\u0c39\u0c3e\u0c2f\u0c15\u0c30\u0c02 \u0c15\u0c3e\u0c26\u0c41",
|
95 |
+
"edit": "\u0c05\u0c2d\u0c3f\u0c2a\u0c4d\u0c30\u0c3e\u0c2f\u0c3e\u0c28\u0c4d\u0c28\u0c3f \u0c38\u0c35\u0c30\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
96 |
+
"dialog": {
|
97 |
+
"title": "\u0c35\u0c4d\u0c2f\u0c3e\u0c16\u0c4d\u0c2f \u0c1c\u0c4b\u0c21\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
98 |
+
"submit": "\u0c05\u0c2d\u0c3f\u0c2a\u0c4d\u0c30\u0c3e\u0c2f\u0c3e\u0c28\u0c4d\u0c28\u0c3f \u0c38\u0c2e\u0c30\u0c4d\u0c2a\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f"
|
99 |
+
},
|
100 |
+
"status": {
|
101 |
+
"updating": "\u0c28\u0c35\u0c40\u0c15\u0c30\u0c3f\u0c38\u0c4d\u0c24\u0c4b\u0c02\u0c26\u0c3f",
|
102 |
+
"updated": "\u0c05\u0c2d\u0c3f\u0c2a\u0c4d\u0c30\u0c3e\u0c2f\u0c02 \u0c28\u0c35\u0c40\u0c15\u0c30\u0c3f\u0c02\u0c1a\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f"
|
103 |
+
}
|
104 |
+
}
|
105 |
+
},
|
106 |
+
"history": {
|
107 |
+
"title": "\u0c1a\u0c3f\u0c35\u0c30\u0c3f \u0c07\u0c28\u0c4d\u200c\u0c2a\u0c41\u0c1f\u0c4d\u200c\u0c32\u0c41",
|
108 |
+
"empty": "\u0c16\u0c3e\u0c33\u0c40\u0c17\u0c3e \u0c09\u0c02\u0c26\u0c3f...",
|
109 |
+
"show": "\u0c1a\u0c30\u0c3f\u0c24\u0c4d\u0c30\u0c28\u0c41 \u0c1a\u0c42\u0c2a\u0c3f\u0c02\u0c1a\u0c41"
|
110 |
+
},
|
111 |
+
"settings": {
|
112 |
+
"title": "\u0c38\u0c46\u0c1f\u0c4d\u0c1f\u0c3f\u0c02\u0c17\u0c4d\u200c\u0c32 \u0c2a\u0c4d\u0c2f\u0c3e\u0c28\u0c46\u0c32\u0c4d"
|
113 |
+
},
|
114 |
+
"watermark": "\u0c24\u0c4b \u0c28\u0c3f\u0c30\u0c4d\u0c2e\u0c3f\u0c02\u0c1a\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f"
|
115 |
+
},
|
116 |
+
"threadHistory": {
|
117 |
+
"sidebar": {
|
118 |
+
"title": "\u0c17\u0c24 \u0c1a\u0c3e\u0c1f\u0c4d\u200c\u0c32\u0c41",
|
119 |
+
"filters": {
|
120 |
+
"search": "\u0c35\u0c46\u0c24\u0c15\u0c02\u0c21\u0c3f",
|
121 |
+
"placeholder": "Search conversations..."
|
122 |
+
},
|
123 |
+
"timeframes": {
|
124 |
+
"today": "\u0c08\u0c30\u0c4b\u0c1c\u0c41",
|
125 |
+
"yesterday": "\u0c28\u0c3f\u0c28\u0c4d\u0c28",
|
126 |
+
"previous7days": "\u0c17\u0c24 7 \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",
|
127 |
+
"previous30days": "\u0c17\u0c24 30 \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41"
|
128 |
+
},
|
129 |
+
"empty": "\u0c25\u0c4d\u0c30\u0c46\u0c21\u0c4d\u200c\u0c32\u0c41 \u0c15\u0c28\u0c41\u0c17\u0c4a\u0c28\u0c2c\u0c21\u0c32\u0c47\u0c26\u0c41",
|
130 |
+
"actions": {
|
131 |
+
"close": "\u0c38\u0c48\u0c21\u0c4d\u200c\u0c2c\u0c3e\u0c30\u0c4d \u0c2e\u0c42\u0c38\u0c3f\u0c35\u0c47\u0c2f\u0c02\u0c21\u0c3f",
|
132 |
+
"open": "\u0c38\u0c48\u0c21\u0c4d\u200c\u0c2c\u0c3e\u0c30\u0c4d \u0c24\u0c46\u0c30\u0c35\u0c02\u0c21\u0c3f"
|
133 |
+
}
|
134 |
+
},
|
135 |
+
"thread": {
|
136 |
+
"untitled": "\u0c2a\u0c47\u0c30\u0c41 \u0c32\u0c47\u0c28\u0c3f \u0c38\u0c02\u0c2d\u0c3e\u0c37\u0c23",
|
137 |
+
"menu": {
|
138 |
+
"rename": "Rename",
|
139 |
+
"delete": "Delete"
|
140 |
+
},
|
141 |
+
"actions": {
|
142 |
+
"delete": {
|
143 |
+
"title": "\u0c24\u0c4a\u0c32\u0c17\u0c3f\u0c02\u0c2a\u0c41\u0c28\u0c41 \u0c28\u0c3f\u0c30\u0c4d\u0c27\u0c3e\u0c30\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
144 |
+
"description": "\u0c07\u0c26\u0c3f \u0c25\u0c4d\u0c30\u0c46\u0c21\u0c4d\u200c\u0c24\u0c4b \u0c2a\u0c3e\u0c1f\u0c41 \u0c26\u0c3e\u0c28\u0c3f \u0c38\u0c02\u0c26\u0c47\u0c36\u0c3e\u0c32\u0c28\u0c41 \u0c2e\u0c30\u0c3f\u0c2f\u0c41 \u0c05\u0c02\u0c36\u0c3e\u0c32\u0c28\u0c41 \u0c24\u0c4a\u0c32\u0c17\u0c3f\u0c38\u0c4d\u0c24\u0c41\u0c02\u0c26\u0c3f. \u0c08 \u0c1a\u0c30\u0c4d\u0c2f\u0c28\u0c41 \u0c30\u0c26\u0c4d\u0c26\u0c41 \u0c1a\u0c47\u0c2f\u0c32\u0c47\u0c30\u0c41",
|
145 |
+
"success": "\u0c1a\u0c3e\u0c1f\u0c4d \u0c24\u0c4a\u0c32\u0c17\u0c3f\u0c02\u0c1a\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f",
|
146 |
+
"inProgress": "\u0c1a\u0c3e\u0c1f\u0c4d\u200c\u0c28\u0c3f \u0c24\u0c4a\u0c32\u0c17\u0c3f\u0c38\u0c4d\u0c24\u0c4b\u0c02\u0c26\u0c3f"
|
147 |
+
},
|
148 |
+
"rename": {
|
149 |
+
"title": "\u0c25\u0c4d\u0c30\u0c46\u0c21\u0c4d \u0c2a\u0c47\u0c30\u0c41 \u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c02\u0c21\u0c3f",
|
150 |
+
"description": "\u0c08 \u0c25\u0c4d\u0c30\u0c46\u0c21\u0c4d \u0c15\u0c4b\u0c38\u0c02 \u0c15\u0c4a\u0c24\u0c4d\u0c24 \u0c2a\u0c47\u0c30\u0c41\u0c28\u0c41 \u0c28\u0c2e\u0c4b\u0c26\u0c41 \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f",
|
151 |
+
"form": {
|
152 |
+
"name": {
|
153 |
+
"label": "\u0c2a\u0c47\u0c30\u0c41",
|
154 |
+
"placeholder": "\u0c15\u0c4a\u0c24\u0c4d\u0c24 \u0c2a\u0c47\u0c30\u0c41\u0c28\u0c41 \u0c28\u0c2e\u0c4b\u0c26\u0c41 \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f"
|
155 |
+
}
|
156 |
+
},
|
157 |
+
"success": "\u0c25\u0c4d\u0c30\u0c46\u0c21\u0c4d \u0c2a\u0c47\u0c30\u0c41 \u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f!",
|
158 |
+
"inProgress": "\u0c25\u0c4d\u0c30\u0c46\u0c21\u0c4d \u0c2a\u0c47\u0c30\u0c41 \u0c2e\u0c3e\u0c30\u0c41\u0c38\u0c4d\u0c24\u0c4b\u0c02\u0c26\u0c3f"
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
},
|
163 |
+
"navigation": {
|
164 |
+
"header": {
|
165 |
+
"chat": "\u0c1a\u0c3e\u0c1f\u0c4d",
|
166 |
+
"readme": "\u0c1a\u0c26\u0c35\u0c02\u0c21\u0c3f",
|
167 |
+
"theme": {
|
168 |
+
"light": "Light Theme",
|
169 |
+
"dark": "Dark Theme",
|
170 |
+
"system": "Follow System"
|
171 |
+
}
|
172 |
+
},
|
173 |
+
"newChat": {
|
174 |
+
"button": "\u0c15\u0c4a\u0c24\u0c4d\u0c24 \u0c1a\u0c3e\u0c1f\u0c4d",
|
175 |
+
"dialog": {
|
176 |
+
"title": "\u0c15\u0c4a\u0c24\u0c4d\u0c24 \u0c1a\u0c3e\u0c1f\u0c4d \u0c38\u0c43\u0c37\u0c4d\u0c1f\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
|
177 |
+
"description": "\u0c07\u0c26\u0c3f \u0c2e\u0c40 \u0c2a\u0c4d\u0c30\u0c38\u0c4d\u0c24\u0c41\u0c24 \u0c1a\u0c3e\u0c1f\u0c4d \u0c1a\u0c30\u0c3f\u0c24\u0c4d\u0c30\u0c28\u0c41 \u0c24\u0c41\u0c21\u0c3f\u0c1a\u0c3f\u0c35\u0c47\u0c38\u0c4d\u0c24\u0c41\u0c02\u0c26\u0c3f. \u0c2e\u0c40\u0c30\u0c41 \u0c15\u0c4a\u0c28\u0c38\u0c3e\u0c17\u0c3f\u0c02\u0c1a\u0c3e\u0c32\u0c28\u0c41\u0c15\u0c41\u0c02\u0c1f\u0c41\u0c28\u0c4d\u0c28\u0c3e\u0c30\u0c3e?",
|
178 |
+
"tooltip": "\u0c15\u0c4a\u0c24\u0c4d\u0c24 \u0c1a\u0c3e\u0c1f\u0c4d"
|
179 |
+
}
|
180 |
+
},
|
181 |
+
"user": {
|
182 |
+
"menu": {
|
183 |
+
"settings": "\u0c38\u0c46\u0c1f\u0c4d\u0c1f\u0c3f\u0c02\u0c17\u0c4d\u200c\u0c32\u0c41",
|
184 |
+
"settingsKey": "S",
|
185 |
+
"apiKeys": "API \u0c15\u0c40\u0c32\u0c41",
|
186 |
+
"logout": "\u0c32\u0c3e\u0c17\u0c4d \u0c05\u0c35\u0c41\u0c1f\u0c4d"
|
187 |
+
}
|
188 |
+
}
|
189 |
+
},
|
190 |
+
"apiKeys": {
|
191 |
+
"title": "\u0c05\u0c35\u0c38\u0c30\u0c2e\u0c48\u0c28 API \u0c15\u0c40\u0c32\u0c41",
|
192 |
+
"description": "\u0c08 \u0c2f\u0c3e\u0c2a\u0c4d\u200c\u0c28\u0c3f \u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f, \u0c15\u0c3f\u0c02\u0c26\u0c3f API \u0c15\u0c40\u0c32\u0c41 \u0c05\u0c35\u0c38\u0c30\u0c02. \u0c15\u0c40\u0c32\u0c41 \u0c2e\u0c40 \u0c2a\u0c30\u0c3f\u0c15\u0c30\u0c02 \u0c2f\u0c4a\u0c15\u0c4d\u0c15 \u0c38\u0c4d\u0c25\u0c3e\u0c28\u0c3f\u0c15 \u0c28\u0c3f\u0c32\u0c4d\u0c35\u0c32\u0c4b \u0c28\u0c3f\u0c32\u0c4d\u0c35 \u0c1a\u0c47\u0c2f\u0c2c\u0c21\u0c24\u0c3e\u0c2f\u0c3f.",
|
193 |
+
"success": {
|
194 |
+
"saved": "\u0c35\u0c3f\u0c1c\u0c2f\u0c35\u0c02\u0c24\u0c02\u0c17\u0c3e \u0c38\u0c47\u0c35\u0c4d \u0c1a\u0c47\u0c2f\u0c2c\u0c21\u0c3f\u0c02\u0c26\u0c3f"
|
195 |
+
}
|
196 |
+
},
|
197 |
+
"alerts": {
|
198 |
+
"info": "Info",
|
199 |
+
"note": "Note",
|
200 |
+
"tip": "Tip",
|
201 |
+
"important": "Important",
|
202 |
+
"warning": "Warning",
|
203 |
+
"caution": "Caution",
|
204 |
+
"debug": "Debug",
|
205 |
+
"example": "Example",
|
206 |
+
"success": "Success",
|
207 |
+
"help": "Help",
|
208 |
+
"idea": "Idea",
|
209 |
+
"pending": "Pending",
|
210 |
+
"security": "Security",
|
211 |
+
"beta": "Beta",
|
212 |
+
"best-practice": "Best Practice"
|
213 |
+
}
|
214 |
+
}
|
.chainlit/translations/zh-CN.json
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"common": {
|
3 |
+
"actions": {
|
4 |
+
"cancel": "\u53d6\u6d88",
|
5 |
+
"confirm": "\u786e\u8ba4",
|
6 |
+
"continue": "\u7ee7\u7eed",
|
7 |
+
"goBack": "\u8fd4\u56de",
|
8 |
+
"reset": "\u91cd\u7f6e",
|
9 |
+
"submit": "\u63d0\u4ea4"
|
10 |
+
},
|
11 |
+
"status": {
|
12 |
+
"loading": "\u52a0\u8f7d\u4e2d...",
|
13 |
+
"error": {
|
14 |
+
"default": "\u53d1\u751f\u9519\u8bef",
|
15 |
+
"serverConnection": "\u65e0\u6cd5\u8fde\u63a5\u5230\u670d\u52a1\u5668"
|
16 |
+
}
|
17 |
+
}
|
18 |
+
},
|
19 |
+
"auth": {
|
20 |
+
"login": {
|
21 |
+
"title": "\u767b\u5f55\u4ee5\u8bbf\u95ee\u5e94\u7528",
|
22 |
+
"form": {
|
23 |
+
"email": {
|
24 |
+
"label": "\u7535\u5b50\u90ae\u7bb1",
|
25 |
+
"required": "\u90ae\u7bb1\u662f\u5fc5\u586b\u9879"
|
26 |
+
},
|
27 |
+
"password": {
|
28 |
+
"label": "\u5bc6\u7801",
|
29 |
+
"required": "\u5bc6\u7801\u662f\u5fc5\u586b\u9879"
|
30 |
+
},
|
31 |
+
"actions": {
|
32 |
+
"signin": "\u767b\u5f55"
|
33 |
+
},
|
34 |
+
"alternativeText": {
|
35 |
+
"or": "\u6216"
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"errors": {
|
39 |
+
"default": "\u65e0\u6cd5\u767b\u5f55",
|
40 |
+
"signin": "\u8bf7\u5c1d\u8bd5\u4f7f\u7528\u5176\u4ed6\u8d26\u53f7\u767b\u5f55",
|
41 |
+
"oauthSignin": "\u8bf7\u5c1d\u8bd5\u4f7f\u7528\u5176\u4ed6\u8d26\u53f7\u767b\u5f55",
|
42 |
+
"redirectUriMismatch": "\u91cd\u5b9a\u5411URI\u4e0eOAuth\u5e94\u7528\u914d\u7f6e\u4e0d\u5339\u914d",
|
43 |
+
"oauthCallback": "\u8bf7\u5c1d\u8bd5\u4f7f\u7528\u5176\u4ed6\u8d26\u53f7\u767b\u5f55",
|
44 |
+
"oauthCreateAccount": "\u8bf7\u5c1d\u8bd5\u4f7f\u7528\u5176\u4ed6\u8d26\u53f7\u767b\u5f55",
|
45 |
+
"emailCreateAccount": "\u8bf7\u5c1d\u8bd5\u4f7f\u7528\u5176\u4ed6\u8d26\u53f7\u767b\u5f55",
|
46 |
+
"callback": "\u8bf7\u5c1d\u8bd5\u4f7f\u7528\u5176\u4ed6\u8d26\u53f7\u767b\u5f55",
|
47 |
+
"oauthAccountNotLinked": "\u4e3a\u786e\u8ba4\u60a8\u7684\u8eab\u4efd\uff0c\u8bf7\u4f7f\u7528\u539f\u59cb\u8d26\u53f7\u767b\u5f55",
|
48 |
+
"emailSignin": "\u90ae\u4ef6\u53d1\u9001\u5931\u8d25",
|
49 |
+
"emailVerify": "\u8bf7\u9a8c\u8bc1\u60a8\u7684\u90ae\u7bb1\uff0c\u65b0\u7684\u9a8c\u8bc1\u90ae\u4ef6\u5df2\u53d1\u9001",
|
50 |
+
"credentialsSignin": "\u767b\u5f55\u5931\u8d25\u3002\u8bf7\u68c0\u67e5\u60a8\u63d0\u4f9b\u7684\u4fe1\u606f\u662f\u5426\u6b63\u786e",
|
51 |
+
"sessionRequired": "\u8bf7\u767b\u5f55\u4ee5\u8bbf\u95ee\u6b64\u9875\u9762"
|
52 |
+
}
|
53 |
+
},
|
54 |
+
"provider": {
|
55 |
+
"continue": "\u7ee7\u7eed\u4f7f\u7528{{provider}}"
|
56 |
+
}
|
57 |
+
},
|
58 |
+
"chat": {
|
59 |
+
"input": {
|
60 |
+
"placeholder": "\u5728\u6b64\u8f93\u5165\u60a8\u7684\u6d88\u606f...",
|
61 |
+
"actions": {
|
62 |
+
"send": "\u53d1\u9001\u6d88\u606f",
|
63 |
+
"stop": "\u505c\u6b62\u4efb\u52a1",
|
64 |
+
"attachFiles": "\u9644\u52a0\u6587\u4ef6"
|
65 |
+
}
|
66 |
+
},
|
67 |
+
"speech": {
|
68 |
+
"start": "\u5f00\u59cb\u5f55\u97f3",
|
69 |
+
"stop": "\u505c\u6b62\u5f55\u97f3",
|
70 |
+
"connecting": "\u8fde\u63a5\u4e2d"
|
71 |
+
},
|
72 |
+
"fileUpload": {
|
73 |
+
"dragDrop": "\u5c06\u6587\u4ef6\u62d6\u653e\u5230\u8fd9\u91cc",
|
74 |
+
"browse": "\u6d4f\u89c8\u6587\u4ef6",
|
75 |
+
"sizeLimit": "\u9650\u5236\uff1a",
|
76 |
+
"errors": {
|
77 |
+
"failed": "\u4e0a\u4f20\u5931\u8d25",
|
78 |
+
"cancelled": "\u5df2\u53d6\u6d88\u4e0a\u4f20"
|
79 |
+
}
|
80 |
+
},
|
81 |
+
"messages": {
|
82 |
+
"status": {
|
83 |
+
"using": "\u4f7f\u7528\u4e2d",
|
84 |
+
"used": "\u5df2\u4f7f\u7528"
|
85 |
+
},
|
86 |
+
"actions": {
|
87 |
+
"copy": {
|
88 |
+
"button": "\u590d\u5236\u5230\u526a\u8d34\u677f",
|
89 |
+
"success": "\u5df2\u590d\u5236\uff01"
|
90 |
+
}
|
91 |
+
},
|
92 |
+
"feedback": {
|
93 |
+
"positive": "\u6709\u5e2e\u52a9",
|
94 |
+
"negative": "\u6ca1\u6709\u5e2e\u52a9",
|
95 |
+
"edit": "\u7f16\u8f91\u53cd\u9988",
|
96 |
+
"dialog": {
|
97 |
+
"title": "\u6dfb\u52a0\u8bc4\u8bba",
|
98 |
+
"submit": "\u63d0\u4ea4\u53cd\u9988"
|
99 |
+
},
|
100 |
+
"status": {
|
101 |
+
"updating": "\u66f4\u65b0\u4e2d",
|
102 |
+
"updated": "\u53cd\u9988\u5df2\u66f4\u65b0"
|
103 |
+
}
|
104 |
+
}
|
105 |
+
},
|
106 |
+
"history": {
|
107 |
+
"title": "\u6700\u8fd1\u8f93\u5165",
|
108 |
+
"empty": "\u7a7a\u7a7a\u5982\u4e5f...",
|
109 |
+
"show": "\u663e\u793a\u5386\u53f2"
|
110 |
+
},
|
111 |
+
"settings": {
|
112 |
+
"title": "\u8bbe\u7f6e\u9762\u677f"
|
113 |
+
},
|
114 |
+
"watermark": "\u6280\u672f\u652f\u6301"
|
115 |
+
},
|
116 |
+
"threadHistory": {
|
117 |
+
"sidebar": {
|
118 |
+
"title": "\u5386\u53f2\u5bf9\u8bdd",
|
119 |
+
"filters": {
|
120 |
+
"search": "\u641c\u7d22",
|
121 |
+
"placeholder": "\u641c\u7d22\u4f1a\u8bdd..."
|
122 |
+
},
|
123 |
+
"timeframes": {
|
124 |
+
"today": "\u4eca\u5929",
|
125 |
+
"yesterday": "\u6628\u5929",
|
126 |
+
"previous7days": "\u8fc7\u53bb7\u5929",
|
127 |
+
"previous30days": "\u8fc7\u53bb30\u5929"
|
128 |
+
},
|
129 |
+
"empty": "\u672a\u627e\u5230\u5bf9\u8bdd",
|
130 |
+
"actions": {
|
131 |
+
"close": "\u5173\u95ed\u4fa7\u8fb9\u680f",
|
132 |
+
"open": "\u6253\u5f00\u4fa7\u8fb9\u680f"
|
133 |
+
}
|
134 |
+
},
|
135 |
+
"thread": {
|
136 |
+
"untitled": "\u672a\u547d\u540d\u5bf9\u8bdd",
|
137 |
+
"menu": {
|
138 |
+
"rename": "\u91cd\u547d\u540d",
|
139 |
+
"delete": "\u5220\u9664"
|
140 |
+
},
|
141 |
+
"actions": {
|
142 |
+
"delete": {
|
143 |
+
"title": "\u786e\u8ba4\u5220\u9664",
|
144 |
+
"description": "\u8fd9\u5c06\u5220\u9664\u8be5\u5bf9\u8bdd\u53ca\u5176\u6240\u6709\u6d88\u606f\u548c\u5143\u7d20\u3002\u6b64\u64cd\u4f5c\u65e0\u6cd5\u64a4\u9500",
|
145 |
+
"success": "\u5bf9\u8bdd\u5df2\u5220\u9664",
|
146 |
+
"inProgress": "\u6b63\u5728\u5220\u9664\u5bf9\u8bdd"
|
147 |
+
},
|
148 |
+
"rename": {
|
149 |
+
"title": "\u91cd\u547d\u540d\u5bf9\u8bdd",
|
150 |
+
"description": "\u4e3a\u6b64\u5bf9\u8bdd\u8f93\u5165\u65b0\u540d\u79f0",
|
151 |
+
"form": {
|
152 |
+
"name": {
|
153 |
+
"label": "\u540d\u79f0",
|
154 |
+
"placeholder": "\u8f93\u5165\u65b0\u540d\u79f0"
|
155 |
+
}
|
156 |
+
},
|
157 |
+
"success": "\u5bf9\u8bdd\u5df2\u91cd\u547d\u540d\uff01",
|
158 |
+
"inProgress": "\u6b63\u5728\u91cd\u547d\u540d\u5bf9\u8bdd"
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
},
|
163 |
+
"navigation": {
|
164 |
+
"header": {
|
165 |
+
"chat": "\u804a\u5929",
|
166 |
+
"readme": "\u8bf4\u660e",
|
167 |
+
"theme": {
|
168 |
+
"light": "\u6d45\u8272\u4e3b\u9898",
|
169 |
+
"dark": "\u6df1\u8272\u4e3b\u9898",
|
170 |
+
"system": "\u8ddf\u968f\u7cfb\u7edf"
|
171 |
+
}
|
172 |
+
},
|
173 |
+
"newChat": {
|
174 |
+
"button": "\u65b0\u5efa\u5bf9\u8bdd",
|
175 |
+
"dialog": {
|
176 |
+
"title": "\u521b\u5efa\u65b0\u5bf9\u8bdd",
|
177 |
+
"description": "\u8fd9\u5c06\u6e05\u9664\u60a8\u5f53\u524d\u7684\u804a\u5929\u8bb0\u5f55\u3002\u786e\u5b9a\u8981\u7ee7\u7eed\u5417\uff1f",
|
178 |
+
"tooltip": "\u65b0\u5efa\u5bf9\u8bdd"
|
179 |
+
}
|
180 |
+
},
|
181 |
+
"user": {
|
182 |
+
"menu": {
|
183 |
+
"settings": "\u8bbe\u7f6e",
|
184 |
+
"settingsKey": "S",
|
185 |
+
"apiKeys": "API\u5bc6\u94a5",
|
186 |
+
"logout": "\u9000\u51fa\u767b\u5f55"
|
187 |
+
}
|
188 |
+
}
|
189 |
+
},
|
190 |
+
"apiKeys": {
|
191 |
+
"title": "\u6240\u9700API\u5bc6\u94a5",
|
192 |
+
"description": "\u4f7f\u7528\u6b64\u5e94\u7528\u9700\u8981\u4ee5\u4e0bAPI\u5bc6\u94a5\u3002\u8fd9\u4e9b\u5bc6\u94a5\u5b58\u50a8\u5728\u60a8\u8bbe\u5907\u7684\u672c\u5730\u5b58\u50a8\u4e2d\u3002",
|
193 |
+
"success": {
|
194 |
+
"saved": "\u4fdd\u5b58\u6210\u529f"
|
195 |
+
}
|
196 |
+
},
|
197 |
+
"alerts": {
|
198 |
+
"info": "\u4fe1\u606f",
|
199 |
+
"note": "\u6ce8\u91ca",
|
200 |
+
"tip": "\u63d0\u793a",
|
201 |
+
"important": "\u91cd\u8981",
|
202 |
+
"warning": "\u8b66\u544a",
|
203 |
+
"caution": "\u6ce8\u610f",
|
204 |
+
"debug": "\u8c03\u8bd5",
|
205 |
+
"example": "\u793a\u4f8b",
|
206 |
+
"success": "\u6210\u529f",
|
207 |
+
"help": "\u5e2e\u52a9",
|
208 |
+
"idea": "\u60f3\u6cd5",
|
209 |
+
"pending": "\u5f85\u5904\u7406",
|
210 |
+
"security": "\u5b89\u5168",
|
211 |
+
"beta": "\u6d4b\u8bd5",
|
212 |
+
"best-practice": "\u6700\u4f73\u5b9e\u8df5"
|
213 |
+
}
|
214 |
+
}
|
.env.sample
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
OPENAI_API_KEY=
|
2 |
+
TAVILY_API_KEY=
|
3 |
+
COHERE_API_KEY=
|
.gitignore
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Python-generated files
|
2 |
+
__pycache__/
|
3 |
+
*.py[oc]
|
4 |
+
build/
|
5 |
+
dist/
|
6 |
+
wheels/
|
7 |
+
*.egg-info
|
8 |
+
|
9 |
+
# Virtual environments
|
10 |
+
.venv
|
11 |
+
.env
|
.python-version
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
3.13
|
Dockerfile
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Get a distribution that has uv already installed
|
2 |
+
FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim
|
3 |
+
|
4 |
+
# Add user - this is the user that will run the app
|
5 |
+
# If you do not set user, the app will run as root (undesirable)
|
6 |
+
RUN useradd -m -u 1000 user
|
7 |
+
USER user
|
8 |
+
|
9 |
+
# Set the home directory and path
|
10 |
+
ENV HOME=/home/user \
|
11 |
+
PATH=/home/user/.local/bin:$PATH
|
12 |
+
|
13 |
+
ENV UVICORN_WS_PROTOCOL=websockets
|
14 |
+
|
15 |
+
# Set the working directory
|
16 |
+
WORKDIR $HOME/app
|
17 |
+
|
18 |
+
# Copy the app to the container
|
19 |
+
COPY --chown=user . $HOME/app
|
20 |
+
|
21 |
+
# Install the dependencies
|
22 |
+
# RUN uv sync --frozen
|
23 |
+
RUN uv sync
|
24 |
+
|
25 |
+
# Expose the port
|
26 |
+
EXPOSE 7860
|
27 |
+
|
28 |
+
# Run the app
|
29 |
+
CMD ["uv", "run", "chainlit", "run", "app.py", "--host", "0.0.0.0", "--port", "7860"]
|
README.md
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
title: MidTermSample
|
3 |
+
emoji: 😻
|
4 |
+
colorFrom: purple
|
5 |
+
colorTo: gray
|
6 |
+
sdk: docker
|
7 |
+
pinned: false
|
8 |
+
---
|
app.py
ADDED
@@ -0,0 +1,159 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from typing import TypedDict, Annotated, List
|
2 |
+
from typing_extensions import List, TypedDict
|
3 |
+
|
4 |
+
from dotenv import load_dotenv
|
5 |
+
import chainlit as cl
|
6 |
+
import operator
|
7 |
+
|
8 |
+
from langchain.prompts import ChatPromptTemplate
|
9 |
+
from langchain.retrievers.contextual_compression import ContextualCompressionRetriever
|
10 |
+
from langchain.text_splitter import RecursiveCharacterTextSplitter
|
11 |
+
from langchain_cohere import CohereRerank
|
12 |
+
from langchain_community.document_loaders import DirectoryLoader
|
13 |
+
from langchain_community.tools.arxiv.tool import ArxivQueryRun
|
14 |
+
from langchain_community.tools.tavily_search import TavilySearchResults
|
15 |
+
from langchain_core.documents import Document
|
16 |
+
from langchain_core.messages import BaseMessage, HumanMessage
|
17 |
+
from langchain_core.tools import tool
|
18 |
+
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
|
19 |
+
from langchain_qdrant import QdrantVectorStore
|
20 |
+
from langgraph.graph import START, StateGraph, END
|
21 |
+
from langgraph.graph.message import add_messages
|
22 |
+
from langgraph.prebuilt import ToolNode
|
23 |
+
from qdrant_client import QdrantClient
|
24 |
+
from qdrant_client.http.models import Distance, VectorParams
|
25 |
+
|
26 |
+
load_dotenv()
|
27 |
+
|
28 |
+
path = "data/"
|
29 |
+
loader = DirectoryLoader(path, glob="*.html")
|
30 |
+
docs = loader.load()
|
31 |
+
|
32 |
+
tavily_tool = TavilySearchResults(max_results=5)
|
33 |
+
arxiv_tool = ArxivQueryRun()
|
34 |
+
|
35 |
+
text_splitter = RecursiveCharacterTextSplitter(chunk_size=750, chunk_overlap=100)
|
36 |
+
split_documents = text_splitter.split_documents(docs)
|
37 |
+
|
38 |
+
embeddings = OpenAIEmbeddings(model="text-embedding-3-small")
|
39 |
+
|
40 |
+
client = QdrantClient(":memory:")
|
41 |
+
|
42 |
+
client.create_collection(
|
43 |
+
collection_name="ai_across_years",
|
44 |
+
vectors_config=VectorParams(size=1536, distance=Distance.COSINE),
|
45 |
+
)
|
46 |
+
|
47 |
+
vector_store = QdrantVectorStore(
|
48 |
+
client=client,
|
49 |
+
collection_name="ai_across_years",
|
50 |
+
embedding=embeddings,
|
51 |
+
)
|
52 |
+
|
53 |
+
_ = vector_store.add_documents(documents=split_documents)
|
54 |
+
|
55 |
+
retriever = vector_store.as_retriever(search_kwargs={"k": 5})
|
56 |
+
|
57 |
+
def retrieve(state):
|
58 |
+
retrieved_docs = retriever.invoke(state["question"])
|
59 |
+
return {"context" : retrieved_docs}
|
60 |
+
|
61 |
+
RAG_PROMPT = """\
|
62 |
+
You are a helpful assistant who answers questions based on provided context. You must only use the provided context, and cannot use your own knowledge.
|
63 |
+
|
64 |
+
### Question
|
65 |
+
{question}
|
66 |
+
|
67 |
+
### Context
|
68 |
+
{context}
|
69 |
+
"""
|
70 |
+
|
71 |
+
rag_prompt = ChatPromptTemplate.from_template(RAG_PROMPT)
|
72 |
+
|
73 |
+
llm = ChatOpenAI(model="gpt-4o-mini")
|
74 |
+
|
75 |
+
def generate(state):
|
76 |
+
docs_content = "\n\n".join(doc.page_content for doc in state["context"])
|
77 |
+
messages = rag_prompt.format_messages(question=state["question"], context=docs_content)
|
78 |
+
response = llm.invoke(messages)
|
79 |
+
return {"response" : response.content}
|
80 |
+
|
81 |
+
from langgraph.graph import START, StateGraph
|
82 |
+
from typing_extensions import List, TypedDict
|
83 |
+
from langchain_core.documents import Document
|
84 |
+
|
85 |
+
class State(TypedDict):
|
86 |
+
question: str
|
87 |
+
context: List[Document]
|
88 |
+
response: str
|
89 |
+
|
90 |
+
graph_builder = StateGraph(State).add_sequence([retrieve, generate])
|
91 |
+
graph_builder.add_edge(START, "retrieve")
|
92 |
+
graph = graph_builder.compile()
|
93 |
+
|
94 |
+
@tool
|
95 |
+
def ai_rag_tool(question: str) -> str:
|
96 |
+
"""Useful for when you need to answer questions about artificial intelligence. Input should be a fully formed question."""
|
97 |
+
response = graph.invoke({"question" : question})
|
98 |
+
return {
|
99 |
+
"messages": [HumanMessage(content=response["response"])],
|
100 |
+
"context": response["context"]
|
101 |
+
}
|
102 |
+
|
103 |
+
tool_belt = [
|
104 |
+
tavily_tool,
|
105 |
+
arxiv_tool,
|
106 |
+
ai_rag_tool
|
107 |
+
]
|
108 |
+
|
109 |
+
model = ChatOpenAI(model="gpt-4o", temperature=0)
|
110 |
+
model = model.bind_tools(tool_belt)
|
111 |
+
|
112 |
+
class AgentState(TypedDict):
|
113 |
+
messages: Annotated[list, add_messages]
|
114 |
+
context: List[Document]
|
115 |
+
|
116 |
+
tool_node = ToolNode(tool_belt)
|
117 |
+
|
118 |
+
uncompiled_graph = StateGraph(AgentState)
|
119 |
+
|
120 |
+
def call_model(state):
|
121 |
+
messages = state["messages"]
|
122 |
+
response = model.invoke(messages)
|
123 |
+
return {
|
124 |
+
"messages": [response],
|
125 |
+
"context": state.get("context", [])
|
126 |
+
}
|
127 |
+
|
128 |
+
uncompiled_graph.add_node("agent", call_model)
|
129 |
+
uncompiled_graph.add_node("action", tool_node)
|
130 |
+
|
131 |
+
uncompiled_graph.set_entry_point("agent")
|
132 |
+
|
133 |
+
def should_continue(state):
|
134 |
+
last_message = state["messages"][-1]
|
135 |
+
|
136 |
+
if last_message.tool_calls:
|
137 |
+
return "action"
|
138 |
+
|
139 |
+
return END
|
140 |
+
|
141 |
+
uncompiled_graph.add_conditional_edges(
|
142 |
+
"agent",
|
143 |
+
should_continue
|
144 |
+
)
|
145 |
+
|
146 |
+
uncompiled_graph.add_edge("action", "agent")
|
147 |
+
|
148 |
+
compiled_graph = uncompiled_graph.compile()
|
149 |
+
|
150 |
+
@cl.on_chat_start
|
151 |
+
async def start():
|
152 |
+
cl.user_session.set("graph", compiled_graph)
|
153 |
+
|
154 |
+
@cl.on_message
|
155 |
+
async def handle(message: cl.Message):
|
156 |
+
graph = cl.user_session.get("graph")
|
157 |
+
state = {"messages" : [HumanMessage(content=message.content)]}
|
158 |
+
response = await graph.ainvoke(state)
|
159 |
+
await cl.Message(content=response["messages"][-1].content).send()
|
chainlit.md
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Welcome to Chainlit! 🚀🤖
|
2 |
+
|
3 |
+
Hi there, Developer! 👋 We're excited to have you on board. Chainlit is a powerful tool designed to help you prototype, debug and share applications built on top of LLMs.
|
4 |
+
|
5 |
+
## Useful Links 🔗
|
6 |
+
|
7 |
+
- **Documentation:** Get started with our comprehensive [Chainlit Documentation](https://docs.chainlit.io) 📚
|
8 |
+
- **Discord Community:** Join our friendly [Chainlit Discord](https://discord.gg/k73SQ3FyUh) to ask questions, share your projects, and connect with other developers! 💬
|
9 |
+
|
10 |
+
We can't wait to see what you create with Chainlit! Happy coding! 💻😊
|
11 |
+
|
12 |
+
## Welcome screen
|
13 |
+
|
14 |
+
To modify the welcome screen, edit the `chainlit.md` file at the root of your project. If you do not want a welcome screen, just leave this file empty.
|
data/2023_llms.html
ADDED
@@ -0,0 +1,472 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en-gb">
|
3 |
+
<head>
|
4 |
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
6 |
+
<link rel="canonical" href="https://simonwillison.net/2023/Dec/31/ai-in-2023/">
|
7 |
+
<title>Stuff we figured out about AI in 2023</title>
|
8 |
+
<script defer data-domain="simonwillison.net" src="https://plausible.io/js/plausible.js"></script>
|
9 |
+
<link rel="alternate" type="application/atom+xml" title="Atom" href="/atom/everything/">
|
10 |
+
<link rel="stylesheet" type="text/css" href="/static/css/all.css">
|
11 |
+
<link rel="webmention" href="https://webmention.io/simonwillison.net/webmention">
|
12 |
+
<link rel="pingback" href="https://webmention.io/simonwillison.net/xmlrpc">
|
13 |
+
<meta name="author" content="Simon Willison">
|
14 |
+
<meta property="og:site_name" content="Simon Willison’s Weblog">
|
15 |
+
|
16 |
+
|
17 |
+
|
18 |
+
<meta name="twitter:card" content="summary">
|
19 |
+
<meta name="twitter:image" content="https://static.simonwillison.net/static/2023/2023-tag-cloud.jpg">
|
20 |
+
|
21 |
+
<meta name="twitter:creator" content="@simonw">
|
22 |
+
<meta property="og:url" content="https://simonwillison.net/2023/Dec/31/ai-in-2023/">
|
23 |
+
<meta property="og:title" content="Stuff we figured out about AI in 2023">
|
24 |
+
<meta property="og:image" content="https://static.simonwillison.net/static/2023/2023-tag-cloud.jpg">
|
25 |
+
<meta property="og:type" content="article">
|
26 |
+
<meta property="og:description" content="2023 was the breakthrough year for Large Language Models (LLMs). I think it’s OK to call these AI—they’re the latest and (currently) most interesting development in the academic field of …">
|
27 |
+
<meta property="og:updated_time" content="1704067192">
|
28 |
+
|
29 |
+
|
30 |
+
|
31 |
+
<script async src="https://media.ethicalads.io/media/client/ethicalads.min.js"></script>
|
32 |
+
|
33 |
+
|
34 |
+
</head>
|
35 |
+
<body class="smallhead">
|
36 |
+
|
37 |
+
<div id="smallhead">
|
38 |
+
<div id="smallhead-inner">
|
39 |
+
<h1><a href="/">Simon Willison’s Weblog</a></h1>
|
40 |
+
<a id="smallhead-about" href="/about/#subscribe">Subscribe</a>
|
41 |
+
</div>
|
42 |
+
</div><!-- #smallhead -->
|
43 |
+
|
44 |
+
<div id="wrapper">
|
45 |
+
<div id="primary">
|
46 |
+
|
47 |
+
<div class="entry entryPage">
|
48 |
+
|
49 |
+
|
50 |
+
<div data-permalink-context="/2023/Dec/31/ai-in-2023/">
|
51 |
+
<h2>Stuff we figured out about AI in 2023</h2>
|
52 |
+
<p class="mobile-date">31st December 2023</p>
|
53 |
+
|
54 |
+
|
55 |
+
|
56 |
+
<p>2023 was the breakthrough year for Large Language Models (LLMs). I think it’s OK to call these AI—they’re the latest and (currently) most interesting development in the academic field of Artificial Intelligence that <a href="https://en.wikipedia.org/wiki/Dartmouth_workshop">dates back to the 1950s</a>.</p>
|
57 |
+
<p>Here’s my attempt to round up the highlights in one place!</p>
|
58 |
+
<ul>
|
59 |
+
<li><a href="https://simonwillison.net/2023/Dec/31/ai-in-2023/#large-language-models">Large Language Models</a></li>
|
60 |
+
<li><a href="https://simonwillison.net/2023/Dec/31/ai-in-2023/#easy-to-build">They’re actually quite easy to build</a></li>
|
61 |
+
<li><a href="https://simonwillison.net/2023/Dec/31/ai-in-2023/#on-your-devices">You can run LLMs on your own devices</a></li>
|
62 |
+
<li><a href="https://simonwillison.net/2023/Dec/31/ai-in-2023/#hobbyist-fine-tuning">Hobbyists can build their own fine-tuned models</a></li>
|
63 |
+
<li><a href="https://simonwillison.net/2023/Dec/31/ai-in-2023/#cant-build-gpt4">We don’t yet know how to build GPT-4</a></li>
|
64 |
+
<li><a href="https://simonwillison.net/2023/Dec/31/ai-in-2023/#vibes-based-development">Vibes Based Development</a></li>
|
65 |
+
<li><a href="https://simonwillison.net/2023/Dec/31/ai-in-2023/#smart-and-dumb">LLMs are really smart, and also really, really dumb</a></li>
|
66 |
+
<li><a href="https://simonwillison.net/2023/Dec/31/ai-in-2023/#gullibility-unsolved">Gullibility is the biggest unsolved problem</a></li>
|
67 |
+
<li><a href="https://simonwillison.net/2023/Dec/31/ai-in-2023/#code-best-application">Code may be the best application</a></li>
|
68 |
+
<li><a href="https://simonwillison.net/2023/Dec/31/ai-in-2023/#ethics-diabolically-complex">The ethics of this space remain diabolically complex</a></li>
|
69 |
+
<li><a href="https://simonwillison.net/2023/Dec/31/ai-in-2023/#my-blog-2023">My blog in 2023</a></li>
|
70 |
+
</ul>
|
71 |
+
<p>Here’s the sequel to this post: <a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/">Things we learned about LLMs in 2024</a>.</p>
|
72 |
+
<h4 id="large-language-models">Large Language Models</h4>
|
73 |
+
<p>In the past 24-36 months, our species has discovered that you can take a GIANT corpus of text, run it through a pile of GPUs, and use it to create a fascinating new kind of software.</p>
|
74 |
+
<p>LLMs can do a lot of things. They can answer questions, summarize documents, translate from one language to another, extract information and even write surprisingly competent code.</p>
|
75 |
+
<p>They can also help you cheat at your homework, generate unlimited streams of fake content and be used for all manner of nefarious purposes.</p>
|
76 |
+
<p>So far, I think they’re a net positive. I’ve used them on a personal level to <a href="https://simonwillison.net/2023/Mar/27/ai-enhanced-development/">improve my productivity</a> (and entertain myself) in all sorts of different ways. I think people who learn how to use them effectively can gain a significant boost to their quality of life.</p>
|
77 |
+
<p>A lot of people are yet to be sold on their value! Some think their negatives outweigh their positives, some think they are all hot air, and some even think they represent an existential threat to humanity.</p>
|
78 |
+
<h4 id="easy-to-build">They’re actually quite easy to build</h4>
|
79 |
+
<p>The most surprising thing we’ve learned about LLMs this year is that they’re actually quite easy to build.</p>
|
80 |
+
<p>Intuitively, one would expect that systems this powerful would take millions of lines of complex code. Instead, it turns out a <a href="https://github.com/karpathy/nanoGPT/blob/master/train.py">few hundred lines of Python</a> is genuinely enough to train a basic version!</p>
|
81 |
+
<p>What matters most is the training data. You need a <em>lot</em> of data to make these things work, and the quantity and quality of the training data appears to be the most important factor in how good the resulting model is.</p>
|
82 |
+
<p>If you can gather the right data, and afford to pay for the GPUs to train it, you can build an LLM.</p>
|
83 |
+
<p>A year ago, the only organization that had released a generally useful LLM was OpenAI. We’ve now seen better-than-GPT-3 class models produced by Anthropic, Mistral, Google, Meta, EleutherAI, Stability AI, TII in Abu Dhabi (<a href="https://falconllm.tii.ae/">Falcon</a>), Microsoft Research, xAI, Replit, Baidu and a bunch of other organizations.</p>
|
84 |
+
<p>The training cost (hardware and electricity) is still significant—initially millions of dollars, but that seems to have dropped to the tens of thousands already. Microsoft’s Phi-2 <a href="https://www.microsoft.com/en-us/research/blog/phi-2-the-surprising-power-of-small-language-models/">claims to have used</a> “14 days on 96 A100 GPUs”, which works out at around $35,000 <a href="https://lambdalabs.com/service/gpu-cloud">using current Lambda pricing</a>.</p>
|
85 |
+
<p>So training an LLM still isn’t something a hobbyist can afford, but it’s no longer the sole domain of the super-rich. I like to compare the difficulty of training an LLM to that of building a suspension bridge—not trivial, but hundreds of countries around the world have figured out how to do it. <em>(Correction: Wikipedia’s <a href="https://en.wikipedia.org/wiki/Category:Suspension_bridges_by_country">Suspension bridges by country</a> category lists 44 countries).</em></p>
|
86 |
+
<h4 id="on-your-devices">You can run LLMs on your own devices</h4>
|
87 |
+
<p>In January of this year, I thought it would be years before I could run a useful LLM on my own computer. GPT-3 and 3.5 were pretty much the only games in town, and I thought that even if the model weights were available it would take a $10,000+ server to run them.</p>
|
88 |
+
<p>Then in February, Meta released Llama. And a few weeks later in March, Georgi Gerganov <a href="https://github.com/ggerganov/llama.cpp">released code</a> that got it working on a MacBook.</p>
|
89 |
+
<p>I wrote about how <a href="https://simonwillison.net/2023/Mar/11/llama/">Large language models are having their Stable Diffusion moment</a>, and with hindsight that was a very good call!</p>
|
90 |
+
<p>This unleashed a whirlwind of innovation, which was accelerated further in July when Meta <a href="https://simonwillison.net/2023/Jul/18/accessing-llama-2/">released Llama 2</a>—an improved version which, crucially, included permission for commercial use.</p>
|
91 |
+
<p>Today there are literally thousands of LLMs that can be run locally, on all manner of different devices.</p>
|
92 |
+
<p>I run a bunch of them on my laptop. I run Mistral 7B (a surprisingly great model) <a href="https://llm.mlc.ai/#ios">on my iPhone</a>. You can install several different apps to get your own, local, completely private LLM. My own <a href="https://llm.datasette.io/">LLM</a> project provides a CLI tool for running an array of different models <a href="https://simonwillison.net/2023/Jul/12/llm/">via plugins</a>.</p>
|
93 |
+
<p>You can even <a href="https://simonwillison.net/2023/Apr/16/web-llm/">run them entirely in your browser</a> using WebAssembly and the latest Chrome!</p>
|
94 |
+
<h4 id="hobbyist-fine-tuning">Hobbyists can build their own fine-tuned models</h4>
|
95 |
+
<p>I said earlier that building an LLM was still out of reach of hobbyists. That may be true for training from scratch, but fine-tuning one of those models is another matter entirely.</p>
|
96 |
+
<p>There’s now a fascinating ecosystem of people training their own models on top of these foundations, publishing those models, building fine-tuning datasets and sharing those too.</p>
|
97 |
+
<p>The Hugging Face <a href="https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard">Open LLM Leaderboard</a> is one place that tracks these. I can’t even attempt to count them, and any count would be out-of-date within a few hours.</p>
|
98 |
+
<p>The best overall openly licensed LLM at any time is rarely a foundation model: instead, it’s whichever fine-tuned community model has most recently discovered the best combination of fine-tuning data.</p>
|
99 |
+
<p>This is a huge advantage for open over closed models: the closed, hosted models don’t have thousands of researchers and hobbyists around the world collaborating and competing to improve them.</p>
|
100 |
+
<h4 id="cant-build-gpt4">We don’t yet know how to build GPT-4</h4>
|
101 |
+
<p>Frustratingly, despite the enormous leaps ahead we’ve had this year, we are yet to see an alternative model that’s better than GPT-4.</p>
|
102 |
+
<p>OpenAI released GPT-4 in March, though it later turned out we had a sneak peak of it in February when Microsoft used it as part of the new Bing.</p>
|
103 |
+
<p>This may well change in the next few weeks: Google’s Gemini Ultra has big claims, but isn’t yet available for us to try out.</p>
|
104 |
+
<p>The team behind Mistral are working to beat GPT-4 as well, and their track record is <a href="https://simonwillison.net/2023/Dec/18/mistral/">already extremely strong</a> considering their first public model only came out in September, and they’ve released two significant improvements since then.</p>
|
105 |
+
<p>Still, I’m surprised that no-one has beaten the now almost year old GPT-4 by now. OpenAI clearly have some substantial tricks that they haven’t shared yet.</p>
|
106 |
+
<h4 id="vibes-based-development">Vibes Based Development</h4>
|
107 |
+
<p>As a computer scientist and software engineer, LLMs are <em>infuriating</em>.</p>
|
108 |
+
<p>Even the openly licensed ones are still the world’s most convoluted black boxes. We continue to have very little idea what they can do, how exactly they work and how best to control them.</p>
|
109 |
+
<p>I’m used to programming where the computer does exactly what I tell it to do. Prompting an LLM is decidedly not that!</p>
|
110 |
+
<p>The worst part is the challenge of evaluating them.</p>
|
111 |
+
<p>There are plenty of benchmarks, but no benchmark is going to tell you if an LLM actually “feels” right when you try it for a given task.</p>
|
112 |
+
<p>I find I have to work with an LLM for a few weeks in order to get a good intuition for it’s strengths and weaknesses. This greatly limits how many I can evaluate myself!</p>
|
113 |
+
<p>The most frustrating thing for me is at the level of individual prompting.</p>
|
114 |
+
<p>Sometimes I’ll tweak a prompt and capitalize some of the words in it, to emphasize that I <em>really</em> want it to OUTPUT VALID MARKDOWN or similar. Did capitalizing those words make a difference? I still don’t have a good methodology for figuring that out.</p>
|
115 |
+
<p>We’re left with what’s effectively Vibes Based Development. It’s vibes all the way down.</p>
|
116 |
+
<p>I’d love to see us move beyond vibes in 2024!</p>
|
117 |
+
<h4 id="smart-and-dumb">LLMs are really smart, and also really, really dumb</h4>
|
118 |
+
<p>On the one hand, we keep on finding new things that LLMs can do that we didn’t expect—and that the people who trained the models didn’t expect either. That’s usually really fun!</p>
|
119 |
+
<p>But on the other hand, the things you sometimes have to do to get the models to behave are often <em>incredibly</em> dumb.</p>
|
120 |
+
<p>Does ChatGPT <a href="https://arstechnica.com/information-technology/2023/12/is-chatgpt-becoming-lazier-because-its-december-people-run-tests-to-find-out/">get lazy in December</a>, because its hidden system prompt includes the current date and its training data shows that people provide less useful answers coming up to the holidays?</p>
|
121 |
+
<p>The honest answer is “maybe”! No-one is entirely sure, but if you give it a different date its answers may skew slightly longer.</p>
|
122 |
+
<p>Sometimes it omits sections of code and leaves you to fill them in, but if you tell it you can’t type because you don’t have any fingers it produces the full code for you instead.</p>
|
123 |
+
<p>There are so many more examples like this. Offer it cash tips for better answers. Tell it your career depends on it. Give it positive reinforcement. It’s all so dumb, but it works!</p>
|
124 |
+
<h4 id="gullibility-unsolved">Gullibility is the biggest unsolved problem</h4>
|
125 |
+
<p>I <a href="https://simonwillison.net/2022/Sep/12/prompt-injection/">coined the term prompt injection</a> in September last year.</p>
|
126 |
+
<p>15 months later, I regret to say that we’re still no closer to a robust, dependable solution to this problem.</p>
|
127 |
+
<p>I’ve written <a href="https://simonwillison.net/series/prompt-injection/">a ton about this already</a>.</p>
|
128 |
+
<p>Beyond that specific class of security vulnerabilities, I’ve started seeing this as a wider problem of <strong>gullibility</strong>.</p>
|
129 |
+
<p>Language Models are gullible. They “believe” what we tell them—what’s in their training data, then what’s in the fine-tuning data, then what’s in the prompt.</p>
|
130 |
+
<p>In order to be useful tools for us, we need them to believe what we feed them!</p>
|
131 |
+
<p>But it turns out a lot of the things we want to build need them <em>not</em> to be gullible.</p>
|
132 |
+
<p>Everyone wants an AI personal assistant. If you hired a real-world personal assistant who believed <em>everything</em> that anyone told them, you would quickly find that their ability to positively impact your life was severely limited.</p>
|
133 |
+
<p>A lot of people are excited about AI agents—an infuriatingly vague term that seems to be converging on “AI systems that can go away and act on your behalf”. We’ve been talking about them all year, but I’ve seen few if any examples of them running in production, despite lots of exciting prototypes.</p>
|
134 |
+
<p>I think this is because of gullibility.</p>
|
135 |
+
<p>Can we solve this? Honestly, I’m beginning to suspect that you can’t fully solve gullibility without achieving <a href="https://en.wikipedia.org/wiki/Artificial_general_intelligence">AGI</a>. So it may be quite a while before those agent dreams can really start to come true!</p>
|
136 |
+
<h4 id="code-best-application">Code may be the best application</h4>
|
137 |
+
<p>Over the course of the year, it’s become increasingly clear that writing code is one of the things LLMs are <em>most</em> capable of.</p>
|
138 |
+
<p>If you think about what they do, this isn’t such a big surprise. The grammar rules of programming languages like Python and JavaScript are massively less complicated than the grammar of Chinese, Spanish or English.</p>
|
139 |
+
<p>It’s still astonishing to me how effective they are though.</p>
|
140 |
+
<p>One of the great weaknesses of LLMs is their tendency to hallucinate—to imagine things that don’t correspond to reality. You would expect this to be a particularly bad problem for code—if an LLM hallucinates a method that doesn’t exist, the code should be useless.</p>
|
141 |
+
<p>Except... you can run generated code to see if it’s correct. And with patterns <a href="https://simonwillison.net/2023/Apr/12/code-interpreter/">like ChatGPT Code Interpreter</a> the LLM can execute the code itself, process the error message, then rewrite it and keep trying until it works!</p>
|
142 |
+
<p>So hallucination is a much lesser problem for code generation than for anything else. If only we had the equivalent of Code Interpreter for fact-checking natural language!</p>
|
143 |
+
<p>How should we feel about this as software engineers?</p>
|
144 |
+
<p>On the one hand, this feels like a threat: who needs a programmer if ChatGPT can write code for you?</p>
|
145 |
+
<p>On the other hand, as software engineers we are better placed to take advantage of this than anyone else. We’ve all been given <a href="https://simonwillison.net/2023/Oct/17/open-questions/#open-questions.036.jpeg">weird coding interns</a>—we can use our deep knowledge to prompt them to solve coding problems more effectively than anyone else can.</p>
|
146 |
+
<h4 id="ethics-diabolically-complex">The ethics of this space remain diabolically complex</h4>
|
147 |
+
<p>In September last year Andy Baio and I <a href="https://simonwillison.net/2022/Sep/5/laion-aesthetics-weeknotes/">produced the first major story</a> on the unlicensed training data behind Stable Diffusion.</p>
|
148 |
+
<p>Since then, almost every major LLM (and most of the image generation models) have also been trained on unlicensed data.</p>
|
149 |
+
<p>Just this week, the New York Times <a href="https://www.nytimes.com/2023/12/27/business/media/new-york-times-open-ai-microsoft-lawsuit.html">launched a landmark lawsuit against OpenAI and Microsoft</a> over this issue. The <a href="https://nytco-assets.nytimes.com/2023/12/NYT_Complaint_Dec2023.pdf">69 page PDF</a> is genuinely worth reading—especially the first few pages, which lay out the issues in a way that’s surprisingly easy to follow. The rest of the document includes some of the clearest explanations of what LLMs are, how they work and how they are built that I’ve read anywhere.</p>
|
150 |
+
<p>The legal arguments here are complex. I’m not a lawyer, but I don’t think this one will be easily decided. Whichever way it goes, I expect this case to have a profound impact on how this technology develops in the future.</p>
|
151 |
+
<p>Law is not ethics. Is it OK to train models on people’s content without their permission, when those models will then be used in ways that compete with those people?</p>
|
152 |
+
<p>As the quality of results produced by AI models has increased over the year, these questions have become even more pressing.</p>
|
153 |
+
<p>The impact on human society in terms of these models is already huge, if difficult to objectively measure.</p>
|
154 |
+
<p>People have certainly lost work to them—anecdotally, I’ve seen this for copywriters, artists and translators.</p>
|
155 |
+
<p>There are a great deal of untold stories here. I’m hoping 2024 sees significant amounts of dedicated journalism on this topic.</p>
|
156 |
+
<h4 id="my-blog-2023">My blog in 2023</h4>
|
157 |
+
<p>Here’s a tag cloud for content I posted to my blog in 2023 (generated <a href="https://simonwillison.net/dashboard/tag-cloud-by-year/?year=2023">using Django SQL Dashboard</a>):</p>
|
158 |
+
<p><img src="https://static.simonwillison.net/static/2023/2023-tag-cloud.jpg" alt="Tag cloud words in order of size: ai, generativeai, llms, openai, chatgpt, projects, python, datasette, ethics, llama, homebrewllms, sqlite, gpt3, promptengineering, promptinjection, llm, security, opensource, gpt4, weeknotes " style="max-width: 100%;"></p>
|
159 |
+
<p>The top five: <a href="https://simonwillison.net/tags/ai/">ai</a> (342), <a href="https://simonwillison.net/tags/generativeai/">generativeai</a> (300), <a href="https://simonwillison.net/tags/llms/">llms</a> (287), <a href="https://simonwillison.net/tags/openai/">openai</a> (86), <a href="https://simonwillison.net/tags/chatgpt/">chatgpt</a> (78).</p>
|
160 |
+
<p>I’ve written a lot about this stuff!</p>
|
161 |
+
<p>I grabbed a screenshot of my <a href="https://plausible.io/">Plausible</a> analytics for the year, fed that to ChatGPT Vision, told it to extract the data into a table, then got it to mix in entry titles (from a SQL query it wrote) and produced this table with it. Here are my top entries this year by amount of traffic:</p>
|
162 |
+
<table>
|
163 |
+
<thead>
|
164 |
+
<tr>
|
165 |
+
<th>Article</th>
|
166 |
+
<th>Visitors</th>
|
167 |
+
<th>Pageviews</th>
|
168 |
+
</tr>
|
169 |
+
</thead>
|
170 |
+
<tbody>
|
171 |
+
<tr>
|
172 |
+
<td><a href="https://simonwillison.net/2023/Feb/15/bing/">Bing: “I will not harm you unless you harm me first”</a></td>
|
173 |
+
<td>1.1M</td>
|
174 |
+
<td>1.3M</td>
|
175 |
+
</tr>
|
176 |
+
<tr>
|
177 |
+
<td><a href="https://simonwillison.net/2023/May/4/no-moat/">Leaked Google document: “We Have No Moat, And Neither Does OpenAI”</a></td>
|
178 |
+
<td>132k</td>
|
179 |
+
<td>162k</td>
|
180 |
+
</tr>
|
181 |
+
<tr>
|
182 |
+
<td><a href="https://simonwillison.net/2023/Mar/11/llama/">Large language models are having their Stable Diffusion moment</a></td>
|
183 |
+
<td>121k</td>
|
184 |
+
<td>150k</td>
|
185 |
+
</tr>
|
186 |
+
<tr>
|
187 |
+
<td><a href="https://simonwillison.net/2023/Apr/14/worst-that-can-happen/">Prompt injection: What’s the worst that can happen?</a></td>
|
188 |
+
<td>79.8k</td>
|
189 |
+
<td>95.9k</td>
|
190 |
+
</tr>
|
191 |
+
<tr>
|
192 |
+
<td><a href="https://simonwillison.net/2023/Oct/23/embeddings/">Embeddings: What they are and why they matter</a></td>
|
193 |
+
<td>61.7k</td>
|
194 |
+
<td>79.3k</td>
|
195 |
+
</tr>
|
196 |
+
<tr>
|
197 |
+
<td><a href="https://simonwillison.net/2023/Aug/3/weird-world-of-llms/">Catching up on the weird world of LLMs</a></td>
|
198 |
+
<td>61.6k</td>
|
199 |
+
<td>85.9k</td>
|
200 |
+
</tr>
|
201 |
+
<tr>
|
202 |
+
<td><a href="https://simonwillison.net/2023/Nov/29/llamafile/">llamafile is the new best way to run an LLM on your own computer</a></td>
|
203 |
+
<td>52k</td>
|
204 |
+
<td>66k</td>
|
205 |
+
</tr>
|
206 |
+
<tr>
|
207 |
+
<td><a href="https://simonwillison.net/2023/May/2/prompt-injection-explained/">Prompt injection explained, with video, slides, and a transcript</a></td>
|
208 |
+
<td>51k</td>
|
209 |
+
<td>61.9k</td>
|
210 |
+
</tr>
|
211 |
+
<tr>
|
212 |
+
<td><a href="https://simonwillison.net/2023/Mar/27/ai-enhanced-development/">AI-enhanced development makes me more ambitious with my projects</a></td>
|
213 |
+
<td>49.6k</td>
|
214 |
+
<td>60.1k</td>
|
215 |
+
</tr>
|
216 |
+
<tr>
|
217 |
+
<td><a href="https://simonwillison.net/2023/Jun/8/gpt-tokenizers/">Understanding GPT tokenizers</a></td>
|
218 |
+
<td>49.5k</td>
|
219 |
+
<td>61.1k</td>
|
220 |
+
</tr>
|
221 |
+
<tr>
|
222 |
+
<td><a href="https://simonwillison.net/2023/Nov/15/gpts/">Exploring GPTs: ChatGPT in a trench coat?</a></td>
|
223 |
+
<td>46.4k</td>
|
224 |
+
<td>58.5k</td>
|
225 |
+
</tr>
|
226 |
+
<tr>
|
227 |
+
<td><a href="https://simonwillison.net/2023/Mar/17/beat-chatgpt-in-a-browser/">Could you train a ChatGPT-beating model for $85,000 and run it in a browser?</a></td>
|
228 |
+
<td>40.5k</td>
|
229 |
+
<td>49.2k</td>
|
230 |
+
</tr>
|
231 |
+
<tr>
|
232 |
+
<td><a href="https://simonwillison.net/2023/Jan/13/semantic-search-answers/">How to implement Q&A against your documentation with GPT3, embeddings and Datasette</a></td>
|
233 |
+
<td>37.3k</td>
|
234 |
+
<td>44.9k</td>
|
235 |
+
</tr>
|
236 |
+
<tr>
|
237 |
+
<td><a href="https://simonwillison.net/2023/May/27/lawyer-chatgpt/">Lawyer cites fake cases invented by ChatGPT, judge is not amused</a></td>
|
238 |
+
<td>37.1k</td>
|
239 |
+
<td>47.4k</td>
|
240 |
+
</tr>
|
241 |
+
<tr>
|
242 |
+
<td><a href="https://simonwillison.net/2023/Oct/26/add-a-walrus/">Now add a walrus: Prompt engineering in DALL-E 3</a></td>
|
243 |
+
<td>32.8k</td>
|
244 |
+
<td>41.2k</td>
|
245 |
+
</tr>
|
246 |
+
<tr>
|
247 |
+
<td><a href="https://simonwillison.net/2023/Apr/16/web-llm/">Web LLM runs the vicuna-7b Large Language Model entirely in your browser, and it’s very impressive</a></td>
|
248 |
+
<td>32.5k</td>
|
249 |
+
<td>38.2k</td>
|
250 |
+
</tr>
|
251 |
+
<tr>
|
252 |
+
<td><a href="https://simonwillison.net/2023/Mar/10/chatgpt-internet-access/">ChatGPT can’t access the internet, even though it really looks like it can</a></td>
|
253 |
+
<td>30.5k</td>
|
254 |
+
<td>34.2k</td>
|
255 |
+
</tr>
|
256 |
+
<tr>
|
257 |
+
<td><a href="https://simonwillison.net/2023/Mar/13/alpaca/">Stanford Alpaca, and the acceleration of on-device large language model development</a></td>
|
258 |
+
<td>29.7k</td>
|
259 |
+
<td>35.7k</td>
|
260 |
+
</tr>
|
261 |
+
<tr>
|
262 |
+
<td><a href="https://simonwillison.net/2023/Aug/01/llama-2-mac/">Run Llama 2 on your own Mac using LLM and Homebrew</a></td>
|
263 |
+
<td>27.9k</td>
|
264 |
+
<td>33.6k</td>
|
265 |
+
</tr>
|
266 |
+
<tr>
|
267 |
+
<td><a href="https://simonwillison.net/2023/May/4/midjourney-51/">Midjourney 5.1</a></td>
|
268 |
+
<td>26.7k</td>
|
269 |
+
<td>33.4k</td>
|
270 |
+
</tr>
|
271 |
+
<tr>
|
272 |
+
<td><a href="https://simonwillison.net/2023/Apr/02/calculator-for-words/">Think of language models like ChatGPT as a “calculator for words”</a></td>
|
273 |
+
<td>25k</td>
|
274 |
+
<td>31.8k</td>
|
275 |
+
</tr>
|
276 |
+
<tr>
|
277 |
+
<td><a href="https://simonwillison.net/2023/Oct/14/multi-modal-prompt-injection/">Multi-modal prompt injection image attacks against GPT-4V</a></td>
|
278 |
+
<td>23.7k</td>
|
279 |
+
<td>27.4k</td>
|
280 |
+
</tr>
|
281 |
+
</tbody>
|
282 |
+
</table>
|
283 |
+
<p>I also gave a bunch of talks and podcast appearances. I’ve started habitually <a href="https://simonwillison.net/2023/Aug/6/annotated-presentations/">turning my talks into annotated presentations</a>—here are my best from 2023:</p>
|
284 |
+
<ul>
|
285 |
+
<li><a href="https://simonwillison.net/2023/May/2/prompt-injection-explained/">Prompt injection explained, with video, slides, and a transcript</a></li>
|
286 |
+
<li><a href="https://simonwillison.net/2023/Aug/3/weird-world-of-llms/">Catching up on the weird world of LLMs</a></li>
|
287 |
+
<li><a href="https://simonwillison.net/2023/Aug/27/wordcamp-llms/">Making Large Language Models work for you</a></li>
|
288 |
+
<li><a href="https://simonwillison.net/2023/Oct/17/open-questions/">Open questions for AI engineering</a></li>
|
289 |
+
<li><a href="https://simonwillison.net/2023/Oct/23/embeddings/">Embeddings: What they are and why they matter</a></li>
|
290 |
+
<li><a href="https://simonwillison.net/2023/Nov/10/universe/">Financial sustainability for open source projects at GitHub Universe</a></li>
|
291 |
+
</ul>
|
292 |
+
<p>And in podcasts:</p>
|
293 |
+
<ul>
|
294 |
+
<li>
|
295 |
+
<a href="https://simonwillison.net/2023/Apr/2/what-ai-can-do-for-you/">What AI can do for you</a> on the Theory of Change</li>
|
296 |
+
<li>
|
297 |
+
<a href="https://simonwillison.net/2023/Apr/8/working-in-public/">Working in public</a> on Path to Citus Con</li>
|
298 |
+
<li>
|
299 |
+
<a href="https://simonwillison.net/2023/Apr/8/llms-break-the-internet/">LLMs break the internet</a> on the Changelog</li>
|
300 |
+
<li>
|
301 |
+
<a href="https://simonwillison.net/2023/Sep/29/llms-podcast/">Talking Large Language Models</a> on Rooftop Ruby</li>
|
302 |
+
<li>
|
303 |
+
<a href="https://simonwillison.net/2023/Nov/25/newsroom-robots/">Thoughts on the OpenAI board situation</a> on Newsroom Robots</li>
|
304 |
+
<li>
|
305 |
+
<a href="https://simonwillison.net/2023/Dec/20/mitigate-prompt-injection/">Industry’s Tardy Response to the AI Prompt Injection Vulnerability</a> on RedMonk Conversations</li>
|
306 |
+
</ul>
|
307 |
+
|
308 |
+
|
309 |
+
</div>
|
310 |
+
<div class="entryFooter">Posted <a href="/2023/Dec/31/">31st December 2023</a> at 11:59 pm · Follow me on <a href="https://fedi.simonwillison.net/@simon">Mastodon</a> or <a href="https://twitter.com/simonw">Twitter</a> or <a href="https://simonwillison.net/about/#subscribe">subscribe to my newsletter</a></div>
|
311 |
+
|
312 |
+
</div>
|
313 |
+
|
314 |
+
<div class="recent-articles">
|
315 |
+
<h2>More recent articles</h2>
|
316 |
+
<ul class="bullets">
|
317 |
+
|
318 |
+
<li><a href="/2025/Feb/17/llm/">LLM 0.22, the annotated release notes</a> - 17th February 2025</li>
|
319 |
+
|
320 |
+
<li><a href="/2025/Feb/15/llm-mlx/">Run LLMs on macOS using llm-mlx and Apple's MLX framework</a> - 15th February 2025</li>
|
321 |
+
|
322 |
+
<li><a href="/2025/Feb/13/url-addressable-python/">URL-addressable Pyodide Python environments</a> - 13th February 2025</li>
|
323 |
+
|
324 |
+
</ul>
|
325 |
+
</div>
|
326 |
+
|
327 |
+
|
328 |
+
</div> <!-- #primary -->
|
329 |
+
|
330 |
+
<div id="secondary">
|
331 |
+
|
332 |
+
<div class="metabox">
|
333 |
+
<p class="this-is">This is <strong>Stuff we figured out about AI in 2023</strong> by Simon Willison, posted on <a href="/2023/Dec/31/">31st December 2023</a>.</p>
|
334 |
+
|
335 |
+
<div class="series-info">
|
336 |
+
<p>Part of series <strong><a href="/series/llms-annual-review/">LLMs annual review</a></strong></p>
|
337 |
+
<ol start="1">
|
338 |
+
|
339 |
+
|
340 |
+
<li><strong>Stuff we figured out about AI in 2023</strong></a> - Dec. 31, 2023, 11:59 p.m. </li>
|
341 |
+
|
342 |
+
|
343 |
+
|
344 |
+
<li><a href="/2024/Dec/31/llms-in-2024/">Things we learned about LLMs in 2024</a> - Dec. 31, 2024, 6:07 p.m. </li>
|
345 |
+
|
346 |
+
|
347 |
+
|
348 |
+
</ol>
|
349 |
+
</div>
|
350 |
+
|
351 |
+
|
352 |
+
|
353 |
+
<a class="item-tag" href="/tags/blogging/" rel="tag">
|
354 |
+
blogging
|
355 |
+
<span>69</span>
|
356 |
+
</a>
|
357 |
+
|
358 |
+
<a class="item-tag" href="/tags/ai/" rel="tag">
|
359 |
+
ai
|
360 |
+
<span>1101</span>
|
361 |
+
</a>
|
362 |
+
|
363 |
+
<a class="item-tag" href="/tags/generative-ai/" rel="tag">
|
364 |
+
generative-ai
|
365 |
+
<span>945</span>
|
366 |
+
</a>
|
367 |
+
|
368 |
+
<a class="item-tag" href="/tags/llms/" rel="tag">
|
369 |
+
llms
|
370 |
+
<span>933</span>
|
371 |
+
</a>
|
372 |
+
|
373 |
+
|
374 |
+
|
375 |
+
<p><strong>Next:</strong> <a href="/2024/Jan/2/escalating-streaks/">Tom Scott, and the formidable power of escalating streaks</a></p>
|
376 |
+
|
377 |
+
|
378 |
+
<p><strong>Previous:</strong> <a href="/2023/Dec/31/weeknotes/">Last weeknotes of 2023</a></p>
|
379 |
+
|
380 |
+
<div data-ea-publisher="simonwillisonnet" data-ea-type="image"></div>
|
381 |
+
</div>
|
382 |
+
|
383 |
+
|
384 |
+
|
385 |
+
</div> <!-- #secondary -->
|
386 |
+
</div> <!-- #wrapper -->
|
387 |
+
|
388 |
+
|
389 |
+
|
390 |
+
|
391 |
+
|
392 |
+
|
393 |
+
|
394 |
+
|
395 |
+
|
396 |
+
|
397 |
+
|
398 |
+
<div id="ft">
|
399 |
+
<ul>
|
400 |
+
<li><a href="/about/#about-site">Colophon</a></li>
|
401 |
+
<li>©</li>
|
402 |
+
<li><a href="/2002/">2002</a></li>
|
403 |
+
<li><a href="/2003/">2003</a></li>
|
404 |
+
<li><a href="/2004/">2004</a></li>
|
405 |
+
<li><a href="/2005/">2005</a></li>
|
406 |
+
<li><a href="/2006/">2006</a></li>
|
407 |
+
<li><a href="/2007/">2007</a></li>
|
408 |
+
<li><a href="/2008/">2008</a></li>
|
409 |
+
<li><a href="/2009/">2009</a></li>
|
410 |
+
<li><a href="/2010/">2010</a></li>
|
411 |
+
<li><a href="/2011/">2011</a></li>
|
412 |
+
<li><a href="/2012/">2012</a></li>
|
413 |
+
<li><a href="/2013/">2013</a></li>
|
414 |
+
<li><a href="/2014/">2014</a></li>
|
415 |
+
<li><a href="/2015/">2015</a></li>
|
416 |
+
<li><a href="/2016/">2016</a></li>
|
417 |
+
<li><a href="/2017/">2017</a></li>
|
418 |
+
<li><a href="/2018/">2018</a></li>
|
419 |
+
<li><a href="/2019/">2019</a></li>
|
420 |
+
<li><a href="/2020/">2020</a></li>
|
421 |
+
<li><a href="/2021/">2021</a></li>
|
422 |
+
<li><a href="/2022/">2022</a></li>
|
423 |
+
<li><a href="/2023/">2023</a></li>
|
424 |
+
<li><a href="/2024/">2024</a></li>
|
425 |
+
<li><a href="/2025/">2025</a></li>
|
426 |
+
</ul>
|
427 |
+
</div>
|
428 |
+
|
429 |
+
|
430 |
+
|
431 |
+
<script>
|
432 |
+
document.addEventListener('DOMContentLoaded', () => {
|
433 |
+
document.querySelectorAll('h4[id],h5[id],h6[id]').forEach(el => {
|
434 |
+
const id = el.getAttribute('id');
|
435 |
+
const permalinkContext = el.closest('[data-permalink-context]');
|
436 |
+
if (permalinkContext) {
|
437 |
+
const url = permalinkContext.getAttribute('data-permalink-context');
|
438 |
+
const hashLink = document.createElement('a');
|
439 |
+
hashLink.style.borderBottom = 'none';
|
440 |
+
hashLink.style.color = '#666';
|
441 |
+
hashLink.style.fontSize = '1em';
|
442 |
+
hashLink.style.opacity = 0.8;
|
443 |
+
hashLink.setAttribute('href', url + '#' + id);
|
444 |
+
hashLink.innerText = '#';
|
445 |
+
el.appendChild(document.createTextNode(' '));
|
446 |
+
el.appendChild(hashLink);
|
447 |
+
}
|
448 |
+
});
|
449 |
+
});
|
450 |
+
</script>
|
451 |
+
<script type="module">
|
452 |
+
const config = [
|
453 |
+
{"tag": "lite-youtube", "js": "/static/lite-yt-embed.js", "css": "/static/lite-yt-embed.css"}
|
454 |
+
];
|
455 |
+
for (const {tag, js, css} of config) {
|
456 |
+
if (document.querySelector(tag)) {
|
457 |
+
if (css) {
|
458 |
+
document.head.appendChild(
|
459 |
+
Object.assign(document.createElement('link'), {
|
460 |
+
rel: 'stylesheet',
|
461 |
+
href: css
|
462 |
+
})
|
463 |
+
);
|
464 |
+
}
|
465 |
+
if (js) {
|
466 |
+
await import(js);
|
467 |
+
}
|
468 |
+
}
|
469 |
+
}
|
470 |
+
</script>
|
471 |
+
</body>
|
472 |
+
</html>
|
data/2024_llms.html
ADDED
@@ -0,0 +1,667 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en-gb">
|
3 |
+
<head>
|
4 |
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
6 |
+
<link rel="canonical" href="https://simonwillison.net/2024/Dec/31/llms-in-2024/">
|
7 |
+
<title>Things we learned about LLMs in 2024</title>
|
8 |
+
<script defer data-domain="simonwillison.net" src="https://plausible.io/js/plausible.js"></script>
|
9 |
+
<link rel="alternate" type="application/atom+xml" title="Atom" href="/atom/everything/">
|
10 |
+
<link rel="stylesheet" type="text/css" href="/static/css/all.css">
|
11 |
+
<link rel="webmention" href="https://webmention.io/simonwillison.net/webmention">
|
12 |
+
<link rel="pingback" href="https://webmention.io/simonwillison.net/xmlrpc">
|
13 |
+
<meta name="author" content="Simon Willison">
|
14 |
+
<meta property="og:site_name" content="Simon Willison’s Weblog">
|
15 |
+
|
16 |
+
|
17 |
+
|
18 |
+
<meta name="twitter:card" content="summary">
|
19 |
+
<meta name="twitter:image" content="https://static.simonwillison.net/static/2024/arena-dec-2024.jpg">
|
20 |
+
|
21 |
+
<meta name="twitter:creator" content="@simonw">
|
22 |
+
<meta property="og:url" content="https://simonwillison.net/2024/Dec/31/llms-in-2024/">
|
23 |
+
<meta property="og:title" content="Things we learned about LLMs in 2024">
|
24 |
+
<meta property="og:image" content="https://static.simonwillison.net/static/2024/arena-dec-2024.jpg">
|
25 |
+
<meta property="og:type" content="article">
|
26 |
+
<meta property="og:description" content="A lot has happened in the world of Large Language Models over the course of 2024. Here’s a review of things we figured out about the field in the past …">
|
27 |
+
<meta property="og:updated_time" content="1735668451">
|
28 |
+
|
29 |
+
|
30 |
+
|
31 |
+
<script async src="https://media.ethicalads.io/media/client/ethicalads.min.js"></script>
|
32 |
+
|
33 |
+
|
34 |
+
</head>
|
35 |
+
<body class="smallhead">
|
36 |
+
|
37 |
+
<div id="smallhead">
|
38 |
+
<div id="smallhead-inner">
|
39 |
+
<h1><a href="/">Simon Willison’s Weblog</a></h1>
|
40 |
+
<a id="smallhead-about" href="/about/#subscribe">Subscribe</a>
|
41 |
+
</div>
|
42 |
+
</div><!-- #smallhead -->
|
43 |
+
|
44 |
+
<div id="wrapper">
|
45 |
+
<div id="primary">
|
46 |
+
|
47 |
+
<div class="entry entryPage">
|
48 |
+
|
49 |
+
|
50 |
+
<div data-permalink-context="/2024/Dec/31/llms-in-2024/">
|
51 |
+
<h2>Things we learned about LLMs in 2024</h2>
|
52 |
+
<p class="mobile-date">31st December 2024</p>
|
53 |
+
|
54 |
+
|
55 |
+
|
56 |
+
<p>A <em>lot</em> has happened in the world of Large Language Models over the course of 2024. Here’s a review of things we figured out about the field in the past twelve months, plus my attempt at identifying key themes and pivotal moments.</p>
|
57 |
+
<p>This is a sequel to <a href="https://simonwillison.net/2023/Dec/31/ai-in-2023/">my review of 2023</a>.</p>
|
58 |
+
<p>In this article:</p>
|
59 |
+
<ul>
|
60 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#the-gpt-4-barrier-was-comprehensively-broken">The GPT-4 barrier was comprehensively broken</a></li>
|
61 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#some-of-those-gpt-4-models-run-on-my-laptop">Some of those GPT-4 models run on my laptop</a></li>
|
62 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#llm-prices-crashed-thanks-to-competition-and-increased-efficiency">LLM prices crashed, thanks to competition and increased efficiency</a></li>
|
63 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#multimodal-vision-is-common-audio-and-video-are-starting-to-emerge">Multimodal vision is common, audio and video are starting to emerge</a></li>
|
64 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#voice-and-live-camera-mode-are-science-fiction-come-to-life">Voice and live camera mode are science fiction come to life</a></li>
|
65 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#prompt-driven-app-generation-is-a-commodity-already">Prompt driven app generation is a commodity already</a></li>
|
66 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#universal-access-to-the-best-models-lasted-for-just-a-few-short-months">Universal access to the best models lasted for just a few short months</a></li>
|
67 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#-agents-still-haven-t-really-happened-yet">“Agents” still haven’t really happened yet</a></li>
|
68 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#evals-really-matter">Evals really matter</a></li>
|
69 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#apple-intelligence-is-bad-apple-s-mlx-library-is-excellent">Apple Intelligence is bad, Apple’s MLX library is excellent</a></li>
|
70 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#the-rise-of-inference-scaling-reasoning-models">The rise of inference-scaling “reasoning” models</a></li>
|
71 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#was-the-best-currently-available-llm-trained-in-china-for-less-than-6m-">Was the best currently available LLM trained in China for less than $6m?</a></li>
|
72 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#the-environmental-impact-got-better">The environmental impact got better</a></li>
|
73 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#the-environmental-impact-got-much-much-worse">The environmental impact got much, much worse</a></li>
|
74 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#the-year-of-slop">The year of slop</a></li>
|
75 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#synthetic-training-data-works-great">Synthetic training data works great</a></li>
|
76 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#llms-somehow-got-even-harder-to-use">LLMs somehow got even harder to use</a></li>
|
77 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#knowledge-is-incredibly-unevenly-distributed">Knowledge is incredibly unevenly distributed</a></li>
|
78 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#llms-need-better-criticism">LLMs need better criticism</a></li>
|
79 |
+
<li><a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/#everything-tagged-llms-on-my-blog-in-2024">Everything tagged “llms” on my blog in 2024</a></li>
|
80 |
+
</ul>
|
81 |
+
<h4 id="the-gpt-4-barrier-was-comprehensively-broken">The GPT-4 barrier was comprehensively broken</h4>
|
82 |
+
<p>In my December 2023 review I wrote about how <a href="https://simonwillison.net/2023/Dec/31/ai-in-2023/#cant-build-gpt4">We don’t yet know how to build GPT-4</a>—OpenAI’s best model was almost a year old at that point, yet no other AI lab had produced anything better. What did OpenAI know that the rest of us didn’t?</p>
|
83 |
+
<p>I’m relieved that this has changed completely in the past twelve months. 18 organizations now have models on the <a href="https://lmarena.ai/?leaderboard">Chatbot Arena Leaderboard</a> that rank higher than the original GPT-4 from March 2023 (<code>GPT-4-0314</code> on the board)—70 models in total.</p>
|
84 |
+
<p><img src="https://static.simonwillison.net/static/2024/arena-dec-2024.jpg" alt="Screenshot of a comparison table showing AI model rankings. Table headers: Rank (UB), Rank (StyleCtrl), Model, Arena Score, 95% CI, Votes, Organization, License. Shows 12 models including GLM-4-0520, Llama-3-70B-Instruct, Gemini-1.5-Flash-8B-Exp-0827, with rankings, scores, and licensing details. Models range from rank 52-69 with Arena scores between 1186-1207." style="max-width: 100%;"></p>
|
85 |
+
<p>The earliest of those was <strong>Google’s Gemini 1.5 Pro</strong>, released in February. In addition to producing GPT-4 level outputs, it introduced several brand new capabilities to the field—most notably its 1 million (and then later 2 million) token input context length, and the ability to input video.</p>
|
86 |
+
<p>I wrote about this at the time in <a href="https://simonwillison.net/2024/Feb/21/gemini-pro-video/">The killer app of Gemini Pro 1.5 is video</a>, which earned me a short appearance <a href="https://www.youtube.com/watch?v=XEzRZ35urlk&t=606s">as a talking head</a> in the Google I/O opening keynote in May.</p>
|
87 |
+
<p>Gemini 1.5 Pro also illustrated one of the key themes of 2024: <strong>increased context lengths</strong>. Last year most models accepted 4,096 or 8,192 tokens, with the notable exception of Claude 2.1 which <a href="https://www.anthropic.com/news/claude-2-1">accepted 200,000</a>. Today every serious provider has a 100,000+ token model, and Google’s Gemini series accepts up to 2 million.</p>
|
88 |
+
<p>Longer inputs dramatically increase the scope of problems that can be solved with an LLM: you can now throw in an entire book and ask questions about its contents, but more importantly you can feed in a <em>lot</em> of example code to help the model correctly solve a coding problem. LLM use-cases that involve long inputs are far more interesting to me than short prompts that rely purely on the information already baked into the model weights. Many of my <a href="https://simonwillison.net/tags/tools/">tools</a> were built using this pattern.</p>
|
89 |
+
<p>Getting back to models that beat GPT-4: Anthropic’s Claude 3 series <a href="https://simonwillison.net/2024/Mar/4/claude-3/">launched in March</a>, and Claude 3 Opus quickly became my new favourite daily-driver. They upped the ante even more in June with <a href="https://simonwillison.net/2024/Jun/20/claude-35-sonnet/">the launch of Claude 3.5 Sonnet</a>—a model that is still my favourite six months later (though it got a significant upgrade <a href="https://www.anthropic.com/news/3-5-models-and-computer-use">on October 22</a>, confusingly keeping the same 3.5 version number. Anthropic fans have since taken to calling it Claude 3.6).</p>
|
90 |
+
<p>Then there’s the rest. If you browse <a href="https://lmarena.ai/?leaderboard">the Chatbot Arena leaderboard</a> today—still the most useful single place to get <a href="https://simonwillison.net/2024/Jul/14/pycon/#pycon-2024.016.jpeg">a vibes-based evaluation</a> of models—you’ll see that GPT-4-0314 has fallen to around 70th place. The 18 organizations with higher scoring models are Google, OpenAI, Alibaba, Anthropic, Meta, Reka AI, 01 AI, Amazon, Cohere, DeepSeek, Nvidia, Mistral, NexusFlow, Zhipu AI, xAI, AI21 Labs, Princeton and Tencent.</p>
|
91 |
+
<p>Training a GPT-4 beating model was a huge deal in 2023. In 2024 it’s an achievement that isn’t even particularly notable, though I personally still celebrate any time a new organization joins that list.</p>
|
92 |
+
<h4 id="some-of-those-gpt-4-models-run-on-my-laptop">Some of those GPT-4 models run on my laptop</h4>
|
93 |
+
<p>My personal laptop is a 64GB M2 MacBook Pro from 2023. It’s a powerful machine, but it’s also nearly two years old now—and crucially it’s the same laptop I’ve been using ever since I first ran an LLM on my computer back in March 2023 (see <a href="https://simonwillison.net/2023/Mar/11/llama/">Large language models are having their Stable Diffusion moment</a>).</p>
|
94 |
+
<p>That same laptop that could just about run a GPT-3-class model in March last year has now run multiple GPT-4 class models! Some of my notes on that:</p>
|
95 |
+
<ul>
|
96 |
+
<li>
|
97 |
+
<a href="https://simonwillison.net/2024/Nov/12/qwen25-coder/">Qwen2.5-Coder-32B is an LLM that can code well that runs on my Mac</a> talks about Qwen2.5-Coder-32B in November—an Apache 2.0 licensed model!</li>
|
98 |
+
<li>
|
99 |
+
<a href="https://simonwillison.net/2024/Dec/9/llama-33-70b/">I can now run a GPT-4 class model on my laptop</a> talks about running Meta’s Llama 3.3 70B (released in December)</li>
|
100 |
+
</ul>
|
101 |
+
<p>This remains astonishing to me. I thought a model with the capabilities and output quality of GPT-4 needed a datacenter class server with one or more $40,000+ GPUs.</p>
|
102 |
+
<p>These models take up enough of my 64GB of RAM that I don’t run them often—they don’t leave much room for anything else.</p>
|
103 |
+
<p>The fact that they run at all is a testament to the incredible training and inference performance gains that we’ve figured out over the past year. It turns out there was a <em>lot</em> of low-hanging fruit to be harvested in terms of model efficiency. I expect there’s still more to come.</p>
|
104 |
+
<p>Meta’s Llama 3.2 models deserve a special mention. They may not be GPT-4 class, but at 1B and 3B sizes they punch <em>massively</em> above their weight. I run Llama 3.2 3B on my iPhone using the free <a href="https://apps.apple.com/us/app/mlc-chat/id6448482937">MLC Chat iOS app</a> and it’s a shockingly capable model for its tiny (<2GB) size. Try firing it up and asking it for “a plot outline of a Netflix Christmas movie where a data journalist falls in love with a local ceramacist”. Here’s what I got, at a respectable 20 tokens per second:</p>
|
105 |
+
<p><img src="https://static.simonwillison.net/static/2024/mlc-chat-christmas.jpg" alt="MLC Chat: Llama - [System] Ready to chat. a plot outline of a Netflix Christmas movie where a data journalist falls in love with a local ceramacist. Show as Markdown is turned on. Here's a plot outline for a Netflix Christmas movie: Title: "Love in the Clay" Plot Outline: We meet our protagonist, JESSICA, a data journalist who has just returned to her hometown of Willow Creek, a small, charming town nestled in the snow-covered mountains. She's back to work on a story about the town's history and the effects of gentrification on the local community." style="max-width: 100%;"></p>
|
106 |
+
<p><a href="https://gist.github.com/simonw/7db8d582fdb0c133d7e05205c305d5bd">Here’s the rest of the transcript</a>. It’s bland and generic, but my phone can pitch bland and generic Christmas movies to Netflix now!</p>
|
107 |
+
<h4 id="llm-prices-crashed-thanks-to-competition-and-increased-efficiency">LLM prices crashed, thanks to competition and increased efficiency</h4>
|
108 |
+
<p>The past twelve months have seen a dramatic collapse in the cost of running a prompt through the top tier hosted LLMs.</p>
|
109 |
+
<p>In December 2023 (here’s the <a href="https://web.archive.org/web/20231214190432/https://openai.com/pricing">Internet Archive for the OpenAI pricing page</a>) OpenAI were charging $30/million input tokens for GPT-4, $10/mTok for the then-new GPT-4 Turbo and $1/mTok for GPT-3.5 Turbo.</p>
|
110 |
+
<p>Today $30/mTok gets you OpenAI’s most expensive model, o1. GPT-4o is $2.50 (12x cheaper than GPT-4) and GPT-4o mini is $0.15/mTok—200x cheaper than GPT-4, nearly 7x cheaper than GPT-3.5 and <em>massively</em> more capable than that model.</p>
|
111 |
+
<p>Other model providers charge even less. Anthropic’s Claude 3 Haiku (from March, but still their cheapest model) is $0.25/mTok. Google’s Gemini 1.5 Flash is $0.075/mTok and their Gemini 1.5 Flash 8B is $0.0375/mTok—that’s 27x cheaper than GPT-3.5 Turbo last year.</p>
|
112 |
+
<p>I’ve been tracking these pricing changes under my <a href="https://simonwillison.net/tags/llm-pricing/">llm-pricing tag</a>.</p>
|
113 |
+
<p>These price drops are driven by two factors: increased competition and increased efficiency. The efficiency thing is <em>really</em> important for everyone who is concerned about the environmental impact of LLMs. These price drops tie directly to how much energy is being used for running prompts.</p>
|
114 |
+
<p>There’s still plenty to worry about with respect to the environmental impact of the great AI datacenter buildout, but a lot of the concerns over the energy cost of individual prompts are no longer credible.</p>
|
115 |
+
<p>Here’s a fun napkin calculation: how much would it cost to generate short descriptions of every one of the 68,000 photos in my personal photo library using Google’s Gemini 1.5 Flash 8B (<a href="https://developers.googleblog.com/en/gemini-15-flash-8b-is-now-generally-available-for-use/">released in October</a>), their cheapest model?</p>
|
116 |
+
<p>Each photo would need 260 input tokens and around 100 output tokens.</p>
|
117 |
+
<p>260 * 68,000 = 17,680,000 input tokens<br>
|
118 |
+
17,680,000 * $0.0375/million = $0.66<br>
|
119 |
+
100 * 68,000 = 6,800,000 output tokens<br>
|
120 |
+
6,800,000 * $0.15/million = $1.02<br></p>
|
121 |
+
<p>That’s a total cost of <strong>$1.68</strong> to process 68,000 images. That’s so absurdly cheap I had to run the numbers three times to confirm I got it right.</p>
|
122 |
+
<p>How good are those descriptions? Here’s what I got from this command:</p>
|
123 |
+
<pre><code>llm -m gemini-1.5-flash-8b-latest describe -a IMG_1825.jpeg
|
124 |
+
</code></pre>
|
125 |
+
<p>Against this photo of butterflies at the California Academy of Sciences:</p>
|
126 |
+
<p><img src="https://static.simonwillison.net/static/2024/butterflies.jpg" alt="A photo of two butterflies feeding on a red tray" style="max-width: 100%;"></p>
|
127 |
+
<blockquote>
|
128 |
+
<p>A shallow dish, likely a hummingbird or butterfly feeder, is red. Pieces of orange slices of fruit are visible inside the dish.</p>
|
129 |
+
<p>Two butterflies are positioned in the feeder, one is a dark brown/black butterfly with white/cream-colored markings. The other is a large, brown butterfly with patterns of lighter brown, beige, and black markings, including prominent eye spots. The larger brown butterfly appears to be feeding on the fruit.</p>
|
130 |
+
</blockquote>
|
131 |
+
<p>260 input tokens, 92 output tokens. Cost approximately 0.0024 cents (that’s less than a 400th of a cent).</p>
|
132 |
+
<p>This increase in efficiency and reduction in price is my single favourite trend from 2024. I want the utility of LLMs at a fraction of the energy cost and it looks like that’s what we’re getting.</p>
|
133 |
+
<h4 id="multimodal-vision-is-common-audio-and-video-are-starting-to-emerge">Multimodal vision is common, audio and video are starting to emerge</h4>
|
134 |
+
<p>My butterfly example above illustrates another key trend from 2024: the rise of multi-modal LLMs.</p>
|
135 |
+
<p>A year ago the single most notable example of these was GPT-4 Vision, <a href="https://openai.com/index/new-models-and-developer-products-announced-at-devday/">released at OpenAI’s DevDay in November 2023</a>. Google’s multi-modal Gemini 1.0 was announced <a href="https://blog.google/technology/ai/google-gemini-ai/">on December 7th 2023</a> so it also (just) makes it into the 2023 window.</p>
|
136 |
+
<p>In 2024, almost every significant model vendor released multi-modal models. We saw the Claude 3 series from Anthropic <a href="https://simonwillison.net/2024/Mar/4/claude-3/">in March</a>, Gemini 1.5 Pro <a href="https://simonwillison.net/2024/Apr/10/gemini-15-pro-public-preview/">in April</a> (images, audio and video), then September brought <a href="https://simonwillison.net/2024/Sep/4/qwen2-vl/">Qwen2-VL</a> and Mistral’s <a href="https://simonwillison.net/2024/Sep/11/pixtral/">Pixtral 12B</a> and Meta’s <a href="https://simonwillison.net/2024/Sep/25/llama-32/">Llama 3.2 11B and 90B vision models</a>. We got audio input and output <a href="https://simonwillison.net/2024/Oct/18/openai-audio/">from OpenAI in October</a>, then November saw <a href="https://simonwillison.net/2024/Nov/28/smolvlm/">SmolVLM from Hugging Face</a> and December saw image and video models <a href="https://simonwillison.net/2024/Dec/4/amazon-nova/">from Amazon Nova</a>.</p>
|
137 |
+
<p>In October I <a href="https://simonwillison.net/2024/Oct/29/llm-multi-modal/">upgraded my LLM CLI tool to support multi-modal models via attachments</a>. It now has plugins for a whole collection of different vision models.</p>
|
138 |
+
<p>I think people who complain that LLM improvement has slowed are often missing the enormous advances in these multi-modal models. Being able to run prompts against images (and audio and video) is a fascinating new way to apply these models.</p>
|
139 |
+
<h4 id="voice-and-live-camera-mode-are-science-fiction-come-to-life">Voice and live camera mode are science fiction come to life</h4>
|
140 |
+
<p>The audio and live video modes that have started to emerge deserve a special mention.</p>
|
141 |
+
<p>The ability to talk to ChatGPT first arrived <a href="https://openai.com/index/chatgpt-can-now-see-hear-and-speak/">in September 2023</a>, but it was mostly an illusion: OpenAI used their excellent Whisper speech-to-text model and a new text-to-speech model (creatively named <a href="https://platform.openai.com/docs/models#tts">tts-1</a>) to enable conversations with the ChatGPT mobile apps, but the actual model just saw text.</p>
|
142 |
+
<p>The <a href="https://openai.com/index/hello-gpt-4o/">May 13th</a> announcement of GPT-4o included a demo of a brand new voice mode, where the true multi-modal GPT-4o (the o is for “omni”) model could accept audio input and output incredibly realistic sounding speech without needing separate TTS or STT models.</p>
|
143 |
+
<p>The demo also sounded <a href="https://www.nytimes.com/2024/05/20/technology/scarlett-johansson-openai-statement.html">conspicuously similar to Scarlett Johansson</a>... and after she complained the voice from the demo, Skye, never made it to a production product.</p>
|
144 |
+
<p>The delay in releasing the new voice mode after the initial demo caused quite a lot of confusion. I wrote about that in <a href="https://simonwillison.net/2024/May/15/chatgpt-in-4o-mode/">ChatGPT in “4o” mode is not running the new features yet</a>.</p>
|
145 |
+
<p>When ChatGPT Advanced Voice mode finally <em>did</em> roll out (a slow roll from August through September) it was spectacular. I’ve been using it extensively on walks with my dog and it’s amazing how much the improvement in intonation elevates the material. I’ve also had a lot of fun <a href="https://simonwillison.net/2024/Oct/18/openai-audio/">experimenting with the OpenAI audio APIs</a>.</p>
|
146 |
+
<p>Even more fun: Advanced Voice mode can do accents! Here’s what happened when I told it <a href="https://simonwillison.net/2024/Oct/26/russian-spanish-pelican/">I need you to pretend to be a California brown pelican with a very thick Russian accent, but you talk to me exclusively in Spanish</a>.</p>
|
147 |
+
<p><audio controls="controls" style="width: 100%">
|
148 |
+
<source src="https://static.simonwillison.net/static/2024/russian-pelican-in-spanish.mp3" type="audio/mp3">
|
149 |
+
Your browser does not support the audio element.
|
150 |
+
</audio></p>
|
151 |
+
<p>OpenAI aren’t the only group with a multi-modal audio model. Google’s Gemini also accepts audio input, and the Google Gemini apps can speak in a similar way to ChatGPT now. Amazon also pre-announced voice mode <a href="https://simonwillison.net/2024/Dec/4/amazon-nova/#gamoa">for Amazon Nova</a>, but that’s meant to roll out in Q1 of 2025.</p>
|
152 |
+
<p>Google’s NotebookLM, released <a href="https://simonwillison.net/2024/Sep/29/notebooklm-audio-overview/">in September</a>, took audio output to a new level by producing spookily realistic conversations between two “podcast hosts” about anything you fed into their tool. They later added custom instructions, so naturally <a href="https://simonwillison.net/2024/Oct/17/notebooklm-pelicans/">I turned them into pelicans</a>:</p>
|
153 |
+
<audio controls="controls" style="width: 100%">
|
154 |
+
<source src="https://static.simonwillison.net/static/2024/video-scraping-pelicans.mp3" type="audio/mp3">
|
155 |
+
Your browser does not support the audio element.
|
156 |
+
</audio>
|
157 |
+
<p>The most recent twist, again from December (December was <a href="https://simonwillison.net/2024/Dec/20/december-in-llms-has-been-a-lot/">a lot</a>) is live video. ChatGPT voice mode now provides the option to share your camera feed with the model and talk about what you can see in real time. Google Gemini have <a href="https://simonwillison.net/2024/Dec/11/gemini-2/#the-streaming-api-is-next-level">a preview of the same feature</a>, which they managed to ship the day before ChatGPT did.</p>
|
158 |
+
<lite-youtube videoid="mpgWH9KulUU" title="Gemini 2.0 streaming demo" playlabel="Play: Gemini 2.0 streaming demo">
|
159 |
+
</lite-youtube>
|
160 |
+
<p style="margin-top: 1em">These abilities are just a few weeks old at this point, and I don’t think their impact has been fully felt yet. If you haven’t tried them out yet you really should.</p>
|
161 |
+
<p>Both Gemini and OpenAI offer API access to these features as well. OpenAI started with <a href="https://simonwillison.net/2024/Oct/2/not-digital-god/#gpt-4o-audio-via-the-new-websocket-realtime-api">a WebSocket API</a> that was quite challenging to use, but in December they announced <a href="https://simonwillison.net/2024/Dec/17/openai-webrtc/">a new WebRTC API</a> which is much easier to get started with. Building a web app that a user can talk to via voice is <em>easy</em> now!</p>
|
162 |
+
<h4 id="prompt-driven-app-generation-is-a-commodity-already">Prompt driven app generation is a commodity already</h4>
|
163 |
+
<p>This was possible with GPT-4 in 2023, but the value it provides became evident in 2024.</p>
|
164 |
+
<p>We already knew LLMs were <a href="https://simonwillison.net/2023/Dec/31/ai-in-2023/#code-best-application">spookily good at writing code</a>. If you prompt them right, it turns out they can build you <strong>a full interactive application</strong> using HTML, CSS and JavaScript (and tools like React if you wire up some extra supporting build mechanisms)—often in a single prompt.</p>
|
165 |
+
<p>Anthropic kicked this idea into high gear when they released <strong>Claude Artifacts</strong>, a groundbreaking new feature that was initially slightly lost in the noise due to being described half way through <a href="https://www.anthropic.com/news/claude-3-5-sonnet">their announcement of the incredible Claude 3.5 Sonnet</a>.</p>
|
166 |
+
<p>With Artifacts, Claude can write you an on-demand interactive application and then <em>let you use it</em> directly inside the Claude interface.</p>
|
167 |
+
<p>Here’s my <a href="https://tools.simonwillison.net/extract-urls">Extract URLs</a> app, entirely <a href="https://gist.github.com/simonw/0a7d0ddeb0fdd63a844669475778ca06">generated by Claude</a>:</p>
|
168 |
+
<p><img src="https://static.simonwillison.net/static/2024/claude-artifacts/extract-urls.jpg" alt="Extract URLs tool. Content pasted. URLs extracted. Shows a list of extracted URLs." style="max-width: 100%;"></p>
|
169 |
+
<p>I’ve found myself using this <em>a lot</em>. I noticed how much I was relying on it in October and wrote <a href="https://simonwillison.net/2024/Oct/21/claude-artifacts/">Everything I built with Claude Artifacts this week</a>, describing 14 little tools I had put together in a seven day period.</p>
|
170 |
+
<p>Since then, a whole bunch of other teams have built similar systems. GitHub announced their version of this—<a href="https://simonwillison.net/2024/Oct/30/copilot-models/">GitHub Spark</a>—in October. Mistral Chat <a href="https://mistral.ai/news/mistral-chat/">added it as a feature called Canvas</a> in November.</p>
|
171 |
+
<p>Steve Krouse from Val Town <a href="https://simonwillison.net/2024/Oct/31/cerebras-coder/">built a version of it against Cerebras</a>, showcasing how a 2,000 token/second LLM can iterate on an application with changes visible in less than a second.</p>
|
172 |
+
<p>Then in December, the Chatbot Arena team introduced <a href="https://simonwillison.net/2024/Dec/16/webdev-arena/">a whole new leaderboard</a> for this feature, driven by users building the same interactive app twice with two different models and voting on the answer. Hard to come up with a more convincing argument that this feature is now a commodity that can be effectively implemented against all of the leading models.</p>
|
173 |
+
<p>I’ve been tinkering with a version of this myself for my Datasette project, with the goal of letting users use prompts to build and iterate on custom widgets and data visualizations against their own data. I also figured out a similar pattern for <a href="https://simonwillison.net/2024/Dec/19/one-shot-python-tools/">writing one-shot Python programs, enabled by uv</a>.</p>
|
174 |
+
<p>This prompt-driven custom interface feature is so powerful and easy to build (once you’ve figured out the gnarly details of browser sandboxing) that I expect it to show up as a feature in a wide range of products in 2025.</p>
|
175 |
+
<h4 id="universal-access-to-the-best-models-lasted-for-just-a-few-short-months">Universal access to the best models lasted for just a few short months</h4>
|
176 |
+
<p>For a few short months this year all three of the best available models—GPT-4o, Claude 3.5 Sonnet and Gemini 1.5 Pro—were freely available to most of the world.</p>
|
177 |
+
<p>OpenAI made GPT-4o free for all users <a href="https://openai.com/index/hello-gpt-4o/">in May</a>, and Claude 3.5 Sonnet was freely available from <a href="https://www.anthropic.com/news/claude-3-5-sonnet">its launch in June</a>. This was a momentus change, because for the previous year free users had mostly been restricted to GPT-3.5 level models, meaning new users got a <em>very</em> inaccurate mental model of what a capable LLM could actually do.</p>
|
178 |
+
<p>That era appears to have ended, likely permanently, with OpenAI’s launch of <a href="https://openai.com/index/introducing-chatgpt-pro/">ChatGPT Pro</a>. This $200/month subscription service is the only way to access their most capable model, o1 Pro.</p>
|
179 |
+
<p>Since the trick behind the o1 series (and the future models it will undoubtedly inspire) is to expend more compute time to get better results, I don’t think those days of free access to the best available models are likely to return.</p>
|
180 |
+
<h4 id="-agents-still-haven-t-really-happened-yet">“Agents” still haven’t really happened yet</h4>
|
181 |
+
<p>I find the term “agents” extremely frustrating. It lacks a single, clear and widely understood meaning... but the people who use the term never seem to acknowledge that.</p>
|
182 |
+
<p>If you tell me that you are building “agents”, you’ve conveyed almost no information to me at all. Without reading your mind I have no way of telling which of the dozens of possible definitions you are talking about.</p>
|
183 |
+
<p>The two main categories I see are people who think AI agents are obviously things that go and act on your behalf—the travel agent model—and people who think in terms of LLMs that have been given access to tools which they can run in a loop as part of solving a problem. The term “autonomy” is often thrown into the mix too, again without including a clear definition.</p>
|
184 |
+
<p>(I also <a href="https://til.simonwillison.net/twitter/collecting-replies">collected 211 definitions</a> on Twitter a few months ago—here they are <a href="https://lite.datasette.io/?json=https://gist.github.com/simonw/bdc7b894eedcfd54f0a2422ea8feaa80#/data/raw">in Datasette Lite</a>—and had <code>gemini-exp-1206</code> <a href="https://gist.github.com/simonw/beaa5f90133b30724c5cc1c4008d0654">attempt to summarize them</a>.)</p>
|
185 |
+
<p>Whatever the term may mean, agents still have that feeling of perpetually “coming soon”.</p>
|
186 |
+
<p>Terminology aside, I remain skeptical as to their utility based, once again, on the challenge of <strong>gullibility</strong>. LLMs believe anything you tell them. Any systems that attempts to make meaningful decisions on your behalf will run into the same roadblock: how good is a travel agent, or a digital assistant, or even a research tool if it can’t distinguish truth from fiction?</p>
|
187 |
+
<p>Just the other day Google Search was caught <a href="https://simonwillison.net/2024/Dec/29/encanto-2/">serving up an entirely fake description</a> of the non-existant movie “Encanto 2”. It turned out to be summarizing an imagined movie listing from <a href="https://ideas.fandom.com/wiki/Encanto_2:_A_New_Generation">a fan fiction wiki</a>.</p>
|
188 |
+
<p><a href="https://simonwillison.net/series/prompt-injection/">Prompt injection</a> is a natural consequence of this gulibility. I’ve seen precious little progress on tackling that problem in 2024, and we’ve been talking about it <a href="https://simonwillison.net/2022/Sep/12/prompt-injection/">since September 2022</a>.</p>
|
189 |
+
<p>I’m beginning to see the most popular idea of “agents” as dependent on AGI itself. A model that’s robust against gulliblity is a very tall order indeed.</p>
|
190 |
+
<h4 id="evals-really-matter">Evals really matter</h4>
|
191 |
+
<p>Anthropic’s <a href="https://twitter.com/amandaaskell/status/1866207266761760812">Amanda Askell</a> (responsible for much of <a href="https://simonwillison.net/2024/Jun/8/claudes-character/">the work behind Claude’s Character</a>):</p>
|
192 |
+
<blockquote>
|
193 |
+
<p>The boring yet crucial secret behind good system prompts is test-driven development. You don’t write down a system prompt and find ways to test it. You write down tests and find a system prompt that passes them.</p>
|
194 |
+
</blockquote>
|
195 |
+
<p>It’s become abundantly clear over the course of 2024 that writing good automated evals for LLM-powered systems is <strong>the skill</strong> that’s most needed to build useful applications on top of these models. If you have a strong eval suite you can adopt new models faster, iterate better and build more reliable and useful product features than your competition.</p>
|
196 |
+
<p>Vercel’s <a href="https://twitter.com/cramforce/status/1860436022347075667">Malte Ubl</a>:</p>
|
197 |
+
<blockquote>
|
198 |
+
<p>When <a href="https://twitter.com/v0">@v0</a> first came out we were paranoid about protecting the prompt with all kinds of pre and post processing complexity.</p>
|
199 |
+
<p>We completely pivoted to let it rip. A prompt without the evals, models, and especially UX is like getting a broken ASML machine without a manual</p>
|
200 |
+
</blockquote>
|
201 |
+
<p>I’m <em>still</em> trying to figure out the best patterns for doing this for my own work. Everyone knows that evals are important, but there remains a lack of great guidance for how to best implement them—I’m tracking this under my <a href="https://simonwillison.net/tags/evals/">evals tag</a>. My <a href="https://simonwillison.net/tags/pelican-riding-a-bicycle/">SVG pelican riding a bicycle benchmark</a> is a pale imitation of what a real eval suite should look like.</p>
|
202 |
+
<h4 id="apple-intelligence-is-bad-apple-s-mlx-library-is-excellent">Apple Intelligence is bad, Apple’s MLX library is excellent</h4>
|
203 |
+
<p>As a Mac user I’ve been feeling a lot better about my choice of platform this year.</p>
|
204 |
+
<p>Last year it felt like my lack of a Linux/Windows machine with an NVIDIA GPU was a huge disadvantage in terms of trying out new models.</p>
|
205 |
+
<p>On paper, a 64GB Mac should be a great machine for running models due to the way the CPU and GPU can share the same memory. In practice, many models are released as model weights and libraries that reward NVIDIA’s CUDA over other platforms.</p>
|
206 |
+
<p>The <a href="https://github.com/ggerganov/llama.cpp">llama.cpp</a> ecosystem helped a lot here, but the real breakthrough has been Apple’s <a href="https://github.com/ml-explore/mlx">MLX</a> library, “an array framework for Apple Silicon”. It’s fantastic.</p>
|
207 |
+
<p>Apple’s <a href="https://github.com/ml-explore/mlx-examples/tree/main/llms">mlx-lm</a> Python library supports running a wide range of MLX-compatible models on my Mac, with excellent performance. <a href="https://huggingface.co/mlx-community">mlx-community</a> on Hugging Face offers more than 1,000 models that have been converted to the necessary format.</p>
|
208 |
+
<p>Prince Canuma’s excellent, fast moving <a href="https://github.com/Blaizzy/mlx-vlm">mlx-vlm</a> project brings vision LLMs to Apple Silicon as well. I used that recently <a href="https://simonwillison.net/2024/Dec/24/qvq/#with-mlx-vlm">to run Qwen’s QvQ</a>.</p>
|
209 |
+
<p>While MLX is a game changer, Apple’s own “Apple Intelligence” features have mostly been a disappointment. I <a href="https://simonwillison.net/2024/Jun/10/apple-intelligence/">wrote about their initial announcement in June</a>, and I was optimistic that Apple had focused hard on the subset of LLM applications that preserve user privacy and minimize the chance of users getting mislead by confusing features.</p>
|
210 |
+
<p>Now that those features are rolling out they’re pretty weak. As an LLM power-user I know what these models are capable of, and Apple’s LLM features offer a pale imitation of what a frontier LLM can do. Instead we’re getting notification summaries that <a href="https://simonwillison.net/2024/Dec/14/bbc-complains-to-apple-over-misleading-shooting-headline/">misrepresent news headlines</a> and writing assistant tools that I’ve not found useful at all. Genmoji are <a href="https://bsky.app/profile/simonwillison.net/post/3leceujwvcc2x">kind of fun though</a>.</p>
|
211 |
+
<h4 id="the-rise-of-inference-scaling-reasoning-models">The rise of inference-scaling “reasoning” models</h4>
|
212 |
+
<p>The most interesting development in the final quarter of 2024 was the introduction of a new shape of LLM, exemplified by OpenAI’s o1 models—initially released as o1-preview and o1-mini <a href="https://simonwillison.net/2024/Sep/12/openai-o1/">on September 12th</a>.</p>
|
213 |
+
<p>One way to think about these models is an extension of the chain-of-thought prompting trick, first explored in the May 2022 paper <a href="https://arxiv.org/abs/2205.11916">Large Language Models are Zero-Shot Reasoners</a>.</p>
|
214 |
+
<p>This is that trick where, if you get a model to talk out loud about a problem it’s solving, you often get a result which the model would not have achieved otherwise.</p>
|
215 |
+
<p>o1 takes this process and further bakes it into the model itself. The details are somewhat obfuscated: o1 models spend “reasoning tokens” thinking through the problem that are not directly visible to the user (though the ChatGPT UI shows a summary of them), then outputs a final result.</p>
|
216 |
+
<p>The biggest innovation here is that it opens up a new way to scale a model: instead of improving model performance purely through additional compute at training time, models can now take on harder problems by spending more compute on inference.</p>
|
217 |
+
<p>The sequel to o1, o3 (they skipped “o2” for European trademark reasons) was announced <a href="https://simonwillison.net/2024/Dec/20/live-blog-the-12th-day-of-openai/">on 20th December</a> with an impressive result against the <a href="https://simonwillison.net/2024/Dec/20/openai-o3-breakthrough/">ARC-AGI benchmark</a>, albeit one that likely involved more than $1,000,000 of compute time expense!</p>
|
218 |
+
<p>o3 is expected to ship in January. I doubt many people have real-world problems that would benefit from that level of compute expenditure—I certainly don’t!—but it appears to be a genuine next step in LLM architecture for taking on much harder problems.</p>
|
219 |
+
<p>OpenAI are not the only game in town here. Google released their first entrant in the category, <code>gemini-2.0-flash-thinking-exp</code>, <a href="https://simonwillison.net/2024/Dec/19/gemini-thinking-mode/">on December 19th</a>.</p>
|
220 |
+
<p>Alibaba’s Qwen team <a href="https://qwenlm.github.io/blog/qwq-32b-preview/">released their QwQ model</a> on November 28th—under an Apache 2.0 license, and that one <a href="https://simonwillison.net/2024/Nov/27/qwq/">I could run on my own machine</a>. They followed that up with a vision reasoning model called QvQ <a href="https://qwenlm.github.io/blog/qvq-72b-preview/">on December 24th</a>, which <a href="https://simonwillison.net/2024/Dec/24/qvq/">I also ran locally</a>.</p>
|
221 |
+
<p>DeepSeek made their <a href="https://api-docs.deepseek.com/news/news1120">DeepSeek-R1-Lite-Preview</a> model available to try out through their chat interface <a href="https://x.com/deepseek_ai/status/1859200141355536422">on November 20th</a>.</p>
|
222 |
+
<p>To understand more about inference scaling I recommend <a href="https://www.aisnakeoil.com/p/is-ai-progress-slowing-down">Is AI progress slowing down?</a> by Arvind Narayanan and Sayash Kapoor.</p>
|
223 |
+
<p>Nothing yet from Anthropic or Meta but I would be very surprised if they don’t have their own inference-scaling models in the works. Meta published a relevant paper <a href="https://arxiv.org/abs/2412.06769">Training Large Language Models to Reason in a Continuous Latent Space</a> in December.</p>
|
224 |
+
<h4 id="was-the-best-currently-available-llm-trained-in-china-for-less-than-6m-">Was the best currently available LLM trained in China for less than $6m?</h4>
|
225 |
+
<p>Not quite, but almost! It does make for a great attention-grabbing headline.</p>
|
226 |
+
<p>The big news to end the year was the release <a href="https://simonwillison.net/2024/Dec/25/deepseek-v3/">of DeepSeek v3</a>—dropped on Hugging Face on Christmas Day without so much as a README file, then followed by documentation and a paper <a href="https://simonwillison.net/2024/Dec/26/deepseek-v3/">the day after that</a>.</p>
|
227 |
+
<p>DeepSeek v3 is a huge 685B parameter model—one of the largest openly licensed models currently available, significantly bigger than the largest of Meta’s Llama series, Llama 3.1 405B.</p>
|
228 |
+
<p>Benchmarks put it up there with Claude 3.5 Sonnet. Vibe benchmarks (aka the <a href="https://lmarena.ai/?leaderboard">Chatbot Arena</a>) currently rank it 7th, just behind the Gemini 2.0 and OpenAI 4o/o1 models. This is by far the highest ranking openly licensed model.</p>
|
229 |
+
<p>The really impressive thing about DeepSeek v3 is the training cost. The model was trained on 2,788,000 H800 GPU hours at an estimated cost of $5,576,000. Llama 3.1 405B trained 30,840,000 GPU hours—11x that used by DeepSeek v3, for a model that benchmarks slightly worse.</p>
|
230 |
+
<p>Those <a href="https://www.cnbc.com/2023/10/17/us-bans-export-of-more-ai-chips-including-nvidia-h800-to-china.html">US export regulations</a> on GPUs to China seem to have inspired some <em>very</em> effective training optimizations!</p>
|
231 |
+
<h4 id="the-environmental-impact-got-better">The environmental impact got better</h4>
|
232 |
+
<p>A welcome result of the increased efficiency of the models—both the hosted ones and the ones I can run locally—is that the energy usage and environmental impact of running a prompt has dropped enormously over the past couple of years.</p>
|
233 |
+
<p>OpenAI themselves are charging 100x less for a prompt compared to the GPT-3 days. I have it on good authority that neither Google Gemini nor Amazon Nova (two of the least expensive model providers) are running prompts at a loss.</p>
|
234 |
+
<p>I think this means that, as individual users, we don’t need to feel any guilt at all for the energy consumed by the vast majority of our prompts. The impact is likely neglible compared to driving a car down the street or maybe even watching a video on YouTube.</p>
|
235 |
+
<p>Likewise, training. DeepSeek v3 training for less than $6m is a fantastic sign that training costs can and should continue to drop.</p>
|
236 |
+
<p>For less efficient models I find it useful to compare their energy usage to commercial flights. The largest Llama 3 model cost about the same as a single digit number of fully loaded passenger flights from New York to London. That’s certainly not nothing, but once trained that model can be used by millions of people at no extra training cost.</p>
|
237 |
+
<h4 id="the-environmental-impact-got-much-much-worse">The environmental impact got much, much worse</h4>
|
238 |
+
<p>The much bigger problem here is the enormous competitive buildout of the infrastructure that is imagined to be necessary for these models in the future.</p>
|
239 |
+
<p>Companies like Google, Meta, Microsoft and Amazon are all spending billions of dollars rolling out new datacenters, with a very material impact <a href="https://www.bloomberg.com/graphics/2024-ai-power-home-appliances/">on the electricity grid</a> and the environment. There’s even talk of <a href="https://www.nytimes.com/2024/10/16/business/energy-environment/amazon-google-microsoft-nuclear-energy.html">spinning up new nuclear power stations</a>, but those can take decades.</p>
|
240 |
+
<p>Is this infrastructure necessary? DeepSeek v3’s $6m training cost and the continued crash in LLM prices might hint that it’s not. But would you want to be the big tech executive that argued NOT to build out this infrastructure only to be proven wrong in a few years’ time?</p>
|
241 |
+
<p>An interesting point of comparison here could be the way railways rolled out around the world in the 1800s. Constructing these required enormous investments and had a massive environmental impact, and many of the lines that were built turned out to be unnecessary—sometimes multiple lines from different companies serving the exact same routes!</p>
|
242 |
+
<p>The resulting bubbles contributed to several financial crashes, see Wikipedia for <a href="https://en.wikipedia.org/wiki/Panic_of_1873">Panic of 1873</a>, <a href="https://en.wikipedia.org/wiki/Panic_of_1893">Panic of 1893</a>, <a href="https://en.wikipedia.org/wiki/Panic_of_1901">Panic of 1901</a> and the UK’s <a href="https://en.wikipedia.org/wiki/Railway_Mania">Railway Mania</a>. They left us with a lot of useful infrastructure and a great deal of bankruptcies and environmental damage.</p>
|
243 |
+
<h4 id="the-year-of-slop">The year of slop</h4>
|
244 |
+
<p>2024 was the year that the word "<a href="https://simonwillison.net/tags/slop/">slop</a>" became a term of art. I wrote about this <a href="https://simonwillison.net/2024/May/8/slop/">in May</a>, expanding on this tweet by <a href="https://twitter.com/deepfates/status/1787472784106639418">@deepfates</a>:</p>
|
245 |
+
<blockquote>
|
246 |
+
<p>Watching in real time as “slop” becomes a term of art. the way that “spam” became the term for unwanted emails, “slop” is going in the dictionary as the term for unwanted AI generated content</p>
|
247 |
+
</blockquote>
|
248 |
+
<p>I expanded that definition a tiny bit to this:</p>
|
249 |
+
<blockquote>
|
250 |
+
<p><strong>Slop</strong> describes AI-generated content that is both <em>unrequested</em> and <em>unreviewed</em>.</p>
|
251 |
+
</blockquote>
|
252 |
+
<p>I ended up getting quoted talking about slop in both <a href="https://www.theguardian.com/technology/article/2024/may/19/spam-junk-slop-the-latest-wave-of-ai-behind-the-zombie-internet">the Guardian</a> and <a href="https://www.nytimes.com/2024/06/11/style/ai-search-slop.html">the NY Times</a>. Here’s what I said in the NY TImes:</p>
|
253 |
+
<blockquote>
|
254 |
+
<p>Society needs concise ways to talk about modern A.I. — both the positives and the negatives. ‘Ignore that email, it’s spam,’ and ‘Ignore that article, it’s slop,’ are both useful lessons.</p>
|
255 |
+
</blockquote>
|
256 |
+
<p>I love the term “slop” because it so succinctly captures one of the ways we should <strong>not</strong> be using generative AI!</p>
|
257 |
+
<p>Slop was even in the running for <a href="https://corp.oup.com/news/voting-opens-for-oxford-word-of-the-year-2024/">Oxford Word of the Year 2024</a>, but it lost <a href="https://corp.oup.com/news/brain-rot-named-oxford-word-of-the-year-2024/">to brain rot</a>.</p>
|
258 |
+
<h4 id="synthetic-training-data-works-great">Synthetic training data works great</h4>
|
259 |
+
<p>An idea that surprisingly seems to have stuck in the public consciousness is that of “model collapse”. This was first described in the paper <a href="https://arxiv.org/abs/2305.17493">The Curse of Recursion: Training on Generated Data Makes Models Forget</a> in May 2023, and repeated in Nature in July 2024 with the more eye-catching headline <a href="https://www.nature.com/articles/s41586-024-07566-y">AI models collapse when trained on recursively generated data</a>.</p>
|
260 |
+
<p>The idea is seductive: as the internet floods with AI-generated slop the models themselves will degenerate, feeding on their own output in a way that leads to their inevitable demise!</p>
|
261 |
+
<p>That’s clearly not happening. Instead, we are seeing AI labs increasingly train on <em>synthetic content</em>—deliberately creating artificial data to help steer their models in the right way.</p>
|
262 |
+
<p>One of the best descriptions I’ve seen of this comes from <a href="https://simonwillison.net/2024/Dec/15/phi-4-technical-report/">the Phi-4 technical report</a>, which included this:</p>
|
263 |
+
<blockquote>
|
264 |
+
<p>Synthetic data as a substantial component of pretraining is becoming increasingly common, and the Phi series of models has consistently emphasized the importance of synthetic data. Rather than serving as a cheap substitute for organic data, synthetic data has several direct advantages over organic data.</p>
|
265 |
+
<p><strong>Structured and Gradual Learning</strong>. In organic datasets, the relationship between tokens is often complex and indirect. Many reasoning steps may be required to connect the current token to the next, making it challenging for the model to learn effectively from next-token prediction. By contrast, each token generated by a language model is by definition predicted by the preceding tokens, making it easier for a model to follow the resulting reasoning patterns.</p>
|
266 |
+
</blockquote>
|
267 |
+
<p>Another common technique is to use larger models to help create training data for their smaller, cheaper alternatives—a trick used by an increasing number of labs. DeepSeek v3 used “reasoning” data created by DeepSeek-R1. Meta’s Llama 3.3 70B fine-tuning used <a href="https://github.com/meta-llama/llama-models/blob/main/models/llama3_3/MODEL_CARD.md#training-data">over 25M synthetically generated examples</a>.</p>
|
268 |
+
<p>Careful design of the training data that goes into an LLM appears to be the <em>entire game</em> for creating these models. The days of just grabbing a full scrape of the web and indiscriminately dumping it into a training run are long gone.</p>
|
269 |
+
<h4 id="llms-somehow-got-even-harder-to-use">LLMs somehow got even harder to use</h4>
|
270 |
+
<p>A drum I’ve been banging for a while is that LLMs are power-user tools—they’re chainsaws disguised as kitchen knives. They look deceptively simple to use—how hard can it be to type messages to a chatbot?—but in reality you need a huge depth of both understanding and experience to make the most of them and avoid their many pitfalls.</p>
|
271 |
+
<p>If anything, this problem got worse in 2024.</p>
|
272 |
+
<p>We’ve built computer systems you can talk to in human language, that will answer your questions and <em>usually</em> get them right! ... depending on the question, and how you ask it, and whether it’s accurately reflected in the undocumented and secret training set.</p>
|
273 |
+
<p>The number of available systems has exploded. Different systems have different tools they can apply to your problems—like Python and JavaScript and web search and image generation and maybe even database lookups... so you’d better understand what those tools are, what they can do and how to tell if the LLM used them or not.</p>
|
274 |
+
<p>Did you know ChatGPT has <a href="https://simonwillison.net/2024/Dec/10/chatgpt-canvas/#what-this-all-means">two entirely different ways</a> of running Python now?</p>
|
275 |
+
<p>Want to build a Claude Artifact that talks to an external API? You’d better understand CSP and CORS HTTP headers first.</p>
|
276 |
+
<p>The models may have got more capable, but most of the limitations remained the same. OpenAI’s o1 may finally be able to (mostly) count the Rs in strawberry, but its abilities are still limited by its nature as an LLM and the constraints placed on it by the harness it’s running in. o1 can’t run web searches or use Code Interpreter, but GPT-4o can—both in that same ChatGPT UI. (o1 <a href="https://chatgpt.com/share/677420e4-8854-8006-8940-9bc30b708821">will pretend to do those things</a> if you ask it to, a regression to the <a href="https://simonwillison.net/2023/Mar/10/chatgpt-internet-access/">URL hallucinations bug from early 2023</a>).</p>
|
277 |
+
<p>What are we doing about this? Not much. Most users are thrown in at the deep end. The default LLM chat UI is like taking brand new computer users, dropping them into a Linux terminal and expecting them to figure it all out.</p>
|
278 |
+
<p>Meanwhile, it’s increasingly common for end users to develop wildly inaccurate mental models of how these things work and what they are capable of. I’ve seen so many examples of people trying to win an argument with a screenshot from ChatGPT—an inherently ludicrous proposition, given the inherent unreliability of these models crossed with the fact that you can get them to say anything if you prompt them right.</p>
|
279 |
+
<p>There’s a flipside to this too: a lot of better informed people have sworn off LLMs entirely because they can’t see how anyone could benefit from a tool with so many flaws. The key skill in getting the most out of LLMs is learning to work with tech that is both inherently unreliable and incredibly powerful at the same time. This is a decidedly non-obvious skill to acquire!</p>
|
280 |
+
<p>There is <em>so much space</em> for helpful education content here, but we need to do do a lot better than outsourcing it all to AI grifters with bombastic Twitter threads.</p>
|
281 |
+
<h4 id="knowledge-is-incredibly-unevenly-distributed">Knowledge is incredibly unevenly distributed</h4>
|
282 |
+
<p>Most people have heard of ChatGPT by now. How many have heard of Claude?</p>
|
283 |
+
<p>The knowledge gap between the people who actively follow this stuff and the 99% of the population who do not is <em>vast</em>.</p>
|
284 |
+
<p>The pace of change doesn’t help either. In just the past month we’ve seen general availability of live interfaces where you can <em>point your phone’s camera</em> at something and <em>talk about it with your voice</em>... and optionally have it <a href="https://web.archive.org/web/20241230103630/https://help.openai.com/en/articles/10139238-santa-s-voice-in-chatgpt">pretend to be Santa</a>. Most self-certified nerds haven’t even tried that yet.</p>
|
285 |
+
<p>Given the ongoing (and potential) impact on society that this technology has, I don’t think the size of this gap is healthy. I’d like to see a lot more effort put into improving this.</p>
|
286 |
+
<h4 id="llms-need-better-criticism">LLMs need better criticism</h4>
|
287 |
+
<p>A lot of people <em>absolutely hate</em> this stuff. In some of the spaces I hang out (<a href="https://fedi.simonwillison.net/@simon">Mastodon</a>, <a href="https://bsky.app/profile/simonwillison.net">Bluesky</a>, <a href="https://lobste.rs/">Lobste.rs</a>, even <a href="https://news.ycombinator.com/">Hacker News</a> on occasion) even suggesting that “LLMs are useful” can be enough to kick off a huge fight.</p>
|
288 |
+
<p>I get it. There are plenty of reasons to dislike this technology—the environmental impact, the (lack of) ethics of the training data, the lack of reliability, the negative applications, the potential impact on people’s jobs.</p>
|
289 |
+
<p>LLMs absolutely warrant criticism. We need to be talking through these problems, finding ways to mitigate them and helping people learn how to use these tools responsibly in ways where the positive applications outweigh the negative.</p>
|
290 |
+
<p>I <em>like</em> people who are skeptical of this stuff. The hype has been deafening for more than two years now, and there are enormous quantities of snake oil and misinformation out there. A lot of <em>very bad</em> decisions are being made based on that hype. Being critical is a virtue.</p>
|
291 |
+
<p>If we want people with decision-making authority to make <em>good decisions</em> about how to apply these tools we first need to acknowledge that there ARE good applications, and then help explain how to put those into practice while avoiding the many unintiutive traps.</p>
|
292 |
+
<p>(If you still don’t think there are any good applications at all I’m not sure why you made it to this point in the article!)</p>
|
293 |
+
<p>I think telling people that this whole field is environmentally catastrophic plagiarism machines that constantly make things up is doing those people a disservice, no matter how much truth that represents. There is genuine value to be had here, but getting to that value is unintuitive and needs guidance.</p>
|
294 |
+
<p>Those of us who understand this stuff have a duty to help everyone else figure it out.</p>
|
295 |
+
<h4 id="everything-tagged-llms-on-my-blog-in-2024">Everything tagged “llms” on my blog in 2024</h4>
|
296 |
+
<p>Because I undoubtedly missed a whole bunch of things, here’s every long-form post I wrote in 2024 that I tagged with <a href="https://simonwillison.net/tags/llms/">llms</a>:</p>
|
297 |
+
<ul>
|
298 |
+
<li>January
|
299 |
+
<ul>
|
300 |
+
<li>7th: <a href="https://simonwillison.net/2024/Jan/7/call-it-ai/">It’s OK to call it Artificial Intelligence</a>
|
301 |
+
</li>
|
302 |
+
<li>9th: <a href="https://simonwillison.net/2024/Jan/9/what-i-should-have-said-about-ai/">What I should have said about the term Artificial Intelligence</a>
|
303 |
+
</li>
|
304 |
+
<li>17th: <a href="https://simonwillison.net/2024/Jan/17/oxide-and-friends/">Talking about Open Source LLMs on Oxide and Friends</a>
|
305 |
+
</li>
|
306 |
+
<li>26th: <a href="https://simonwillison.net/2024/Jan/26/llm/">LLM 0.13: The annotated release notes</a>
|
307 |
+
</li>
|
308 |
+
</ul>
|
309 |
+
</li>
|
310 |
+
<li>February
|
311 |
+
<ul>
|
312 |
+
<li>21st: <a href="https://simonwillison.net/2024/Feb/21/gemini-pro-video/">The killer app of Gemini Pro 1.5 is video</a>
|
313 |
+
</li>
|
314 |
+
</ul>
|
315 |
+
</li>
|
316 |
+
<li>March
|
317 |
+
<ul>
|
318 |
+
<li>5th: <a href="https://simonwillison.net/2024/Mar/5/prompt-injection-jailbreaking/">Prompt injection and jailbreaking are not the same thing</a>
|
319 |
+
</li>
|
320 |
+
<li>8th: <a href="https://simonwillison.net/2024/Mar/8/gpt-4-barrier/">The GPT-4 barrier has finally been broken</a>
|
321 |
+
</li>
|
322 |
+
<li>22nd: <a href="https://simonwillison.net/2024/Mar/22/claude-and-chatgpt-case-study/">Claude and ChatGPT for ad-hoc sidequests</a>
|
323 |
+
</li>
|
324 |
+
<li>23rd: <a href="https://simonwillison.net/2024/Mar/23/building-c-extensions-for-sqlite-with-chatgpt-code-interpreter/">Building and testing C extensions for SQLite with ChatGPT Code Interpreter</a>
|
325 |
+
</li>
|
326 |
+
<li>26th: <a href="https://simonwillison.net/2024/Mar/26/llm-cmd/">llm cmd undo last git commit—a new plugin for LLM</a>
|
327 |
+
</li>
|
328 |
+
</ul>
|
329 |
+
</li>
|
330 |
+
<li>April
|
331 |
+
<ul>
|
332 |
+
<li>8th: <a href="https://simonwillison.net/2024/Apr/8/files-to-prompt/">Building files-to-prompt entirely using Claude 3 Opus</a>
|
333 |
+
</li>
|
334 |
+
<li>10th: <a href="https://simonwillison.net/2024/Apr/10/weeknotes-llm-releases/">Three major LLM releases in 24 hours (plus weeknotes)</a>
|
335 |
+
</li>
|
336 |
+
<li>17th: <a href="https://simonwillison.net/2024/Apr/17/ai-for-data-journalism/">AI for Data Journalism: demonstrating what we can do with this stuff right now</a>
|
337 |
+
</li>
|
338 |
+
<li>22nd: <a href="https://simonwillison.net/2024/Apr/22/llama-3/">Options for accessing Llama 3 from the terminal using LLM</a>
|
339 |
+
</li>
|
340 |
+
</ul>
|
341 |
+
</li>
|
342 |
+
<li>May
|
343 |
+
<ul>
|
344 |
+
<li>8th: <a href="https://simonwillison.net/2024/May/8/slop/">Slop is the new name for unwanted AI-generated content</a>
|
345 |
+
</li>
|
346 |
+
<li>15th: <a href="https://simonwillison.net/2024/May/15/chatgpt-in-4o-mode/">ChatGPT in “4o” mode is not running the new features yet</a>
|
347 |
+
</li>
|
348 |
+
<li>29th: <a href="https://simonwillison.net/2024/May/29/training-not-chatting/">Training is not the same as chatting: ChatGPT and other LLMs don’t remember everything you say</a>
|
349 |
+
</li>
|
350 |
+
</ul>
|
351 |
+
</li>
|
352 |
+
<li>June
|
353 |
+
<ul>
|
354 |
+
<li>6th: <a href="https://simonwillison.net/2024/Jun/6/accidental-prompt-injection/">Accidental prompt injection against RAG applications</a>
|
355 |
+
</li>
|
356 |
+
<li>10th: <a href="https://simonwillison.net/2024/Jun/10/apple-intelligence/">Thoughts on the WWDC 2024 keynote on Apple Intelligence</a>
|
357 |
+
</li>
|
358 |
+
<li>17th: <a href="https://simonwillison.net/2024/Jun/17/cli-language-models/">Language models on the command-line</a>
|
359 |
+
</li>
|
360 |
+
<li>21st: <a href="https://simonwillison.net/2024/Jun/21/search-based-rag/">Building search-based RAG using Claude, Datasette and Val Town</a>
|
361 |
+
</li>
|
362 |
+
<li>27th: <a href="https://simonwillison.net/2024/Jun/27/ai-worlds-fair/">Open challenges for AI engineering</a>
|
363 |
+
</li>
|
364 |
+
</ul>
|
365 |
+
</li>
|
366 |
+
<li>July
|
367 |
+
<ul>
|
368 |
+
<li>14th: <a href="https://simonwillison.net/2024/Jul/14/pycon/">Imitation Intelligence, my keynote for PyCon US 2024</a>
|
369 |
+
</li>
|
370 |
+
<li>19th: <a href="https://simonwillison.net/2024/Jul/19/weeknotes/">Weeknotes: GPT-4o mini, LLM 0.15, sqlite-utils 3.37 and building a staging environment</a>
|
371 |
+
</li>
|
372 |
+
</ul>
|
373 |
+
</li>
|
374 |
+
<li>August
|
375 |
+
<ul>
|
376 |
+
<li>6th: <a href="https://simonwillison.net/2024/Aug/6/staging/">Weeknotes: a staging environment, a Datasette alpha and a bunch of new LLMs</a>
|
377 |
+
</li>
|
378 |
+
<li>8th: <a href="https://simonwillison.net/2024/Aug/8/django-http-debug/">django-http-debug, a new Django app mostly written by Claude</a>
|
379 |
+
</li>
|
380 |
+
<li>23rd: <a href="https://simonwillison.net/2024/Aug/23/anthropic-dangerous-direct-browser-access/">Claude’s API now supports CORS requests, enabling client-side applications</a>
|
381 |
+
</li>
|
382 |
+
<li>26th: <a href="https://simonwillison.net/2024/Aug/26/gemini-bounding-box-visualization/">Building a tool showing how Gemini Pro can return bounding boxes for objects in images</a>
|
383 |
+
</li>
|
384 |
+
</ul>
|
385 |
+
</li>
|
386 |
+
<li>September
|
387 |
+
<ul>
|
388 |
+
<li>6th: <a href="https://simonwillison.net/2024/Sep/6/weeknotes/">Calling LLMs from client-side JavaScript, converting PDFs to HTML + weeknotes</a>
|
389 |
+
</li>
|
390 |
+
<li>10th: <a href="https://simonwillison.net/2024/Sep/10/software-misadventures/">Notes from my appearance on the Software Misadventures Podcast</a>
|
391 |
+
</li>
|
392 |
+
<li>12th: <a href="https://simonwillison.net/2024/Sep/12/openai-o1/">Notes on OpenAI’s new o1 chain-of-thought models</a>
|
393 |
+
</li>
|
394 |
+
<li>20th: <a href="https://simonwillison.net/2024/Sep/20/using-llms-for-code/">Notes on using LLMs for code</a>
|
395 |
+
</li>
|
396 |
+
<li>29th: <a href="https://simonwillison.net/2024/Sep/29/notebooklm-audio-overview/">NotebookLM’s automatically generated podcasts are surprisingly effective</a>
|
397 |
+
</li>
|
398 |
+
<li>30th: <a href="https://simonwillison.net/2024/Sep/30/weeknotes/">Weeknotes: Three podcasts, two trips and a new plugin system</a>
|
399 |
+
</li>
|
400 |
+
</ul>
|
401 |
+
</li>
|
402 |
+
<li>October
|
403 |
+
<ul>
|
404 |
+
<li>1st: <a href="https://simonwillison.net/2024/Oct/1/openai-devday-2024-live-blog/">OpenAI DevDay 2024 live blog</a>
|
405 |
+
</li>
|
406 |
+
<li>2nd: <a href="https://simonwillison.net/2024/Oct/2/not-digital-god/">OpenAI DevDay: Let’s build developer tools, not digital God</a>
|
407 |
+
</li>
|
408 |
+
<li>15th: <a href="https://simonwillison.net/2024/Oct/15/chatgpt-horoscopes/">ChatGPT will happily write you a thinly disguised horoscope</a>
|
409 |
+
</li>
|
410 |
+
<li>17th: <a href="https://simonwillison.net/2024/Oct/17/video-scraping/">Video scraping: extracting JSON data from a 35 second screen capture for less than 1/10th of a cent</a>
|
411 |
+
</li>
|
412 |
+
<li>18th: <a href="https://simonwillison.net/2024/Oct/18/openai-audio/">Experimenting with audio input and output for the OpenAI Chat Completion API</a>
|
413 |
+
</li>
|
414 |
+
<li>19th: <a href="https://simonwillison.net/2024/Oct/19/mistralrs/">Running Llama 3.2 Vision and Phi-3.5 Vision on a Mac with mistral.rs</a>
|
415 |
+
</li>
|
416 |
+
<li>21st: <a href="https://simonwillison.net/2024/Oct/21/claude-artifacts/">Everything I built with Claude Artifacts this week</a>
|
417 |
+
</li>
|
418 |
+
<li>22nd: <a href="https://simonwillison.net/2024/Oct/22/computer-use/">Initial explorations of Anthropic’s new Computer Use capability</a>
|
419 |
+
</li>
|
420 |
+
<li>24th: <a href="https://simonwillison.net/2024/Oct/24/claude-analysis-tool/">Notes on the new Claude analysis JavaScript code execution tool</a>
|
421 |
+
</li>
|
422 |
+
<li>27th: <a href="https://simonwillison.net/2024/Oct/27/llm-jq/">Run a prompt to generate and execute jq programs using llm-jq</a>
|
423 |
+
</li>
|
424 |
+
<li>29th: <a href="https://simonwillison.net/2024/Oct/29/llm-multi-modal/">You can now run prompts against images, audio and video in your terminal using LLM</a>
|
425 |
+
</li>
|
426 |
+
<li>30th: <a href="https://simonwillison.net/2024/Oct/30/monthnotes/">W̶e̶e̶k̶n̶o̶t̶e̶s̶ Monthnotes for October</a>
|
427 |
+
</li>
|
428 |
+
</ul>
|
429 |
+
</li>
|
430 |
+
<li>November
|
431 |
+
<ul>
|
432 |
+
<li>4th: <a href="https://simonwillison.net/2024/Nov/4/haiku/">Claude 3.5 Haiku</a>
|
433 |
+
</li>
|
434 |
+
<li>7th: <a href="https://simonwillison.net/2024/Nov/7/project-verdad/">Project: VERDAD—tracking misinformation in radio broadcasts using Gemini 1.5</a>
|
435 |
+
</li>
|
436 |
+
<li>12th: <a href="https://simonwillison.net/2024/Nov/12/qwen25-coder/">Qwen2.5-Coder-32B is an LLM that can code well that runs on my Mac</a>
|
437 |
+
</li>
|
438 |
+
<li>19th: <a href="https://simonwillison.net/2024/Nov/19/notes-from-bing-chat/">Notes from Bing Chat—Our First Encounter With Manipulative AI</a>
|
439 |
+
</li>
|
440 |
+
<li>25th: <a href="https://simonwillison.net/2024/Nov/25/ask-questions-of-sqlite/">Ask questions of SQLite databases and CSV/JSON files in your terminal</a>
|
441 |
+
</li>
|
442 |
+
</ul>
|
443 |
+
</li>
|
444 |
+
<li>December
|
445 |
+
<ul>
|
446 |
+
<li>4th: <a href="https://simonwillison.net/2024/Dec/4/amazon-nova/">First impressions of the new Amazon Nova LLMs (via a new llm-bedrock plugin)</a>
|
447 |
+
</li>
|
448 |
+
<li>7th: <a href="https://simonwillison.net/2024/Dec/7/prompts-js/">Prompts.js</a>
|
449 |
+
</li>
|
450 |
+
<li>9th: <a href="https://simonwillison.net/2024/Dec/9/llama-33-70b/">I can now run a GPT-4 class model on my laptop</a>
|
451 |
+
</li>
|
452 |
+
<li>10th: <a href="https://simonwillison.net/2024/Dec/10/chatgpt-canvas/">ChatGPT Canvas can make API requests now, but it’s complicated</a>
|
453 |
+
</li>
|
454 |
+
<li>11th: <a href="https://simonwillison.net/2024/Dec/11/gemini-2/">Gemini 2.0 Flash: An outstanding multi-modal LLM with a sci-fi streaming mode</a>
|
455 |
+
</li>
|
456 |
+
<li>19th: <a href="https://simonwillison.net/2024/Dec/19/one-shot-python-tools/">Building Python tools with a one-shot prompt using uv run and Claude Projects</a>
|
457 |
+
</li>
|
458 |
+
<li>19th: <a href="https://simonwillison.net/2024/Dec/19/gemini-thinking-mode/">Gemini 2.0 Flash “Thinking mode”</a>
|
459 |
+
</li>
|
460 |
+
<li>20th: <a href="https://simonwillison.net/2024/Dec/20/december-in-llms-has-been-a-lot/">December in LLMs has been a lot</a>
|
461 |
+
</li>
|
462 |
+
<li>20th: <a href="https://simonwillison.net/2024/Dec/20/live-blog-the-12th-day-of-openai/">Live blog: the 12th day of OpenAI—“Early evals for OpenAI o3”</a>
|
463 |
+
</li>
|
464 |
+
<li>24th: <a href="https://simonwillison.net/2024/Dec/24/qvq/">Trying out QvQ—Qwen’s new visual reasoning model</a>
|
465 |
+
</li>
|
466 |
+
<li>31st: <a href="https://simonwillison.net/2024/Dec/31/llms-in-2024/">Things we learned about LLMs in 2024</a>
|
467 |
+
</li>
|
468 |
+
</ul>
|
469 |
+
</li>
|
470 |
+
</ul>
|
471 |
+
<p>(This list generated <a href="https://simonwillison.net/dashboard/llm-posts-in-2024/">using Django SQL Dashboard</a> with a SQL query <a href="https://gist.github.com/simonw/89c358ac3617b38afc41c79c995a4ebe">written for me by Claude</a>.)</p>
|
472 |
+
|
473 |
+
|
474 |
+
</div>
|
475 |
+
<div class="entryFooter">Posted <a href="/2024/Dec/31/">31st December 2024</a> at 6:07 pm · Follow me on <a href="https://fedi.simonwillison.net/@simon">Mastodon</a> or <a href="https://twitter.com/simonw">Twitter</a> or <a href="https://simonwillison.net/about/#subscribe">subscribe to my newsletter</a></div>
|
476 |
+
|
477 |
+
</div>
|
478 |
+
|
479 |
+
<div class="recent-articles">
|
480 |
+
<h2>More recent articles</h2>
|
481 |
+
<ul class="bullets">
|
482 |
+
|
483 |
+
<li><a href="/2025/Feb/17/llm/">LLM 0.22, the annotated release notes</a> - 17th February 2025</li>
|
484 |
+
|
485 |
+
<li><a href="/2025/Feb/15/llm-mlx/">Run LLMs on macOS using llm-mlx and Apple's MLX framework</a> - 15th February 2025</li>
|
486 |
+
|
487 |
+
<li><a href="/2025/Feb/13/url-addressable-python/">URL-addressable Pyodide Python environments</a> - 13th February 2025</li>
|
488 |
+
|
489 |
+
</ul>
|
490 |
+
</div>
|
491 |
+
|
492 |
+
|
493 |
+
</div> <!-- #primary -->
|
494 |
+
|
495 |
+
<div id="secondary">
|
496 |
+
|
497 |
+
<div class="metabox">
|
498 |
+
<p class="this-is">This is <strong>Things we learned about LLMs in 2024</strong> by Simon Willison, posted on <a href="/2024/Dec/31/">31st December 2024</a>.</p>
|
499 |
+
|
500 |
+
<div class="series-info">
|
501 |
+
<p>Part of series <strong><a href="/series/llms-annual-review/">LLMs annual review</a></strong></p>
|
502 |
+
<ol start="1">
|
503 |
+
|
504 |
+
|
505 |
+
<li><a href="/2023/Dec/31/ai-in-2023/">Stuff we figured out about AI in 2023</a> - Dec. 31, 2023, 11:59 p.m. </li>
|
506 |
+
|
507 |
+
|
508 |
+
|
509 |
+
<li><strong>Things we learned about LLMs in 2024</strong></a> - Dec. 31, 2024, 6:07 p.m. </li>
|
510 |
+
|
511 |
+
|
512 |
+
|
513 |
+
</ol>
|
514 |
+
</div>
|
515 |
+
|
516 |
+
|
517 |
+
|
518 |
+
<a class="item-tag" href="/tags/google/" rel="tag">
|
519 |
+
google
|
520 |
+
<span>347</span>
|
521 |
+
</a>
|
522 |
+
|
523 |
+
<a class="item-tag" href="/tags/ai/" rel="tag">
|
524 |
+
ai
|
525 |
+
<span>1101</span>
|
526 |
+
</a>
|
527 |
+
|
528 |
+
<a class="item-tag" href="/tags/openai/" rel="tag">
|
529 |
+
openai
|
530 |
+
<span>257</span>
|
531 |
+
</a>
|
532 |
+
|
533 |
+
<a class="item-tag" href="/tags/generative-ai/" rel="tag">
|
534 |
+
generative-ai
|
535 |
+
<span>945</span>
|
536 |
+
</a>
|
537 |
+
|
538 |
+
<a class="item-tag" href="/tags/llms/" rel="tag">
|
539 |
+
llms
|
540 |
+
<span>933</span>
|
541 |
+
</a>
|
542 |
+
|
543 |
+
<a class="item-tag" href="/tags/anthropic/" rel="tag">
|
544 |
+
anthropic
|
545 |
+
<span>115</span>
|
546 |
+
</a>
|
547 |
+
|
548 |
+
<a class="item-tag" href="/tags/gemini/" rel="tag">
|
549 |
+
gemini
|
550 |
+
<span>58</span>
|
551 |
+
</a>
|
552 |
+
|
553 |
+
<a class="item-tag" href="/tags/meta/" rel="tag">
|
554 |
+
meta
|
555 |
+
<span>26</span>
|
556 |
+
</a>
|
557 |
+
|
558 |
+
<a class="item-tag" href="/tags/inference-scaling/" rel="tag">
|
559 |
+
inference-scaling
|
560 |
+
<span>28</span>
|
561 |
+
</a>
|
562 |
+
|
563 |
+
<a class="item-tag" href="/tags/long-context/" rel="tag">
|
564 |
+
long-context
|
565 |
+
<span>10</span>
|
566 |
+
</a>
|
567 |
+
|
568 |
+
|
569 |
+
|
570 |
+
<p><strong>Next:</strong> <a href="/2025/Jan/2/ending-a-year-long-posting-streak/">Ending a year long posting streak</a></p>
|
571 |
+
|
572 |
+
|
573 |
+
<p><strong>Previous:</strong> <a href="/2024/Dec/24/qvq/">Trying out QvQ - Qwen's new visual reasoning model</a></p>
|
574 |
+
|
575 |
+
<div data-ea-publisher="simonwillisonnet" data-ea-type="image"></div>
|
576 |
+
</div>
|
577 |
+
|
578 |
+
|
579 |
+
|
580 |
+
</div> <!-- #secondary -->
|
581 |
+
</div> <!-- #wrapper -->
|
582 |
+
|
583 |
+
|
584 |
+
|
585 |
+
|
586 |
+
|
587 |
+
|
588 |
+
|
589 |
+
|
590 |
+
|
591 |
+
|
592 |
+
|
593 |
+
<div id="ft">
|
594 |
+
<ul>
|
595 |
+
<li><a href="/about/#about-site">Colophon</a></li>
|
596 |
+
<li>©</li>
|
597 |
+
<li><a href="/2002/">2002</a></li>
|
598 |
+
<li><a href="/2003/">2003</a></li>
|
599 |
+
<li><a href="/2004/">2004</a></li>
|
600 |
+
<li><a href="/2005/">2005</a></li>
|
601 |
+
<li><a href="/2006/">2006</a></li>
|
602 |
+
<li><a href="/2007/">2007</a></li>
|
603 |
+
<li><a href="/2008/">2008</a></li>
|
604 |
+
<li><a href="/2009/">2009</a></li>
|
605 |
+
<li><a href="/2010/">2010</a></li>
|
606 |
+
<li><a href="/2011/">2011</a></li>
|
607 |
+
<li><a href="/2012/">2012</a></li>
|
608 |
+
<li><a href="/2013/">2013</a></li>
|
609 |
+
<li><a href="/2014/">2014</a></li>
|
610 |
+
<li><a href="/2015/">2015</a></li>
|
611 |
+
<li><a href="/2016/">2016</a></li>
|
612 |
+
<li><a href="/2017/">2017</a></li>
|
613 |
+
<li><a href="/2018/">2018</a></li>
|
614 |
+
<li><a href="/2019/">2019</a></li>
|
615 |
+
<li><a href="/2020/">2020</a></li>
|
616 |
+
<li><a href="/2021/">2021</a></li>
|
617 |
+
<li><a href="/2022/">2022</a></li>
|
618 |
+
<li><a href="/2023/">2023</a></li>
|
619 |
+
<li><a href="/2024/">2024</a></li>
|
620 |
+
<li><a href="/2025/">2025</a></li>
|
621 |
+
</ul>
|
622 |
+
</div>
|
623 |
+
|
624 |
+
|
625 |
+
|
626 |
+
<script>
|
627 |
+
document.addEventListener('DOMContentLoaded', () => {
|
628 |
+
document.querySelectorAll('h4[id],h5[id],h6[id]').forEach(el => {
|
629 |
+
const id = el.getAttribute('id');
|
630 |
+
const permalinkContext = el.closest('[data-permalink-context]');
|
631 |
+
if (permalinkContext) {
|
632 |
+
const url = permalinkContext.getAttribute('data-permalink-context');
|
633 |
+
const hashLink = document.createElement('a');
|
634 |
+
hashLink.style.borderBottom = 'none';
|
635 |
+
hashLink.style.color = '#666';
|
636 |
+
hashLink.style.fontSize = '1em';
|
637 |
+
hashLink.style.opacity = 0.8;
|
638 |
+
hashLink.setAttribute('href', url + '#' + id);
|
639 |
+
hashLink.innerText = '#';
|
640 |
+
el.appendChild(document.createTextNode(' '));
|
641 |
+
el.appendChild(hashLink);
|
642 |
+
}
|
643 |
+
});
|
644 |
+
});
|
645 |
+
</script>
|
646 |
+
<script type="module">
|
647 |
+
const config = [
|
648 |
+
{"tag": "lite-youtube", "js": "/static/lite-yt-embed.js", "css": "/static/lite-yt-embed.css"}
|
649 |
+
];
|
650 |
+
for (const {tag, js, css} of config) {
|
651 |
+
if (document.querySelector(tag)) {
|
652 |
+
if (css) {
|
653 |
+
document.head.appendChild(
|
654 |
+
Object.assign(document.createElement('link'), {
|
655 |
+
rel: 'stylesheet',
|
656 |
+
href: css
|
657 |
+
})
|
658 |
+
);
|
659 |
+
}
|
660 |
+
if (js) {
|
661 |
+
await import(js);
|
662 |
+
}
|
663 |
+
}
|
664 |
+
}
|
665 |
+
</script>
|
666 |
+
</body>
|
667 |
+
</html>
|
pyproject.toml
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[project]
|
2 |
+
name = "midterm"
|
3 |
+
version = "0.1.0"
|
4 |
+
description = "Add your description here"
|
5 |
+
readme = "README.md"
|
6 |
+
requires-python = ">=3.13"
|
7 |
+
dependencies = [
|
8 |
+
"arxiv==2.1.3",
|
9 |
+
"beautifulsoup4==4.13.3",
|
10 |
+
"chainlit==2.2.1",
|
11 |
+
"cohere==5.13.12",
|
12 |
+
"datasets==3.3.1",
|
13 |
+
"faiss-cpu==1.10.0",
|
14 |
+
"langchain-cohere==0.4.2",
|
15 |
+
"langchain-community==0.3.14",
|
16 |
+
"langchain-huggingface==0.1.2",
|
17 |
+
"langchain-openai==0.2.14",
|
18 |
+
"langchain-qdrant==0.2.0",
|
19 |
+
"langgraph==0.2.61",
|
20 |
+
"lxml==5.3.1",
|
21 |
+
"nltk==3.9.1",
|
22 |
+
"numpy==2.2.3",
|
23 |
+
"pyarrow==19.0.1",
|
24 |
+
"pymupdf==1.25.3",
|
25 |
+
"python-dotenv>=1.0.1",
|
26 |
+
"python-pptx==1.0.2",
|
27 |
+
"ragas==0.2.10",
|
28 |
+
"sentence-transformers==3.4.1",
|
29 |
+
"unstructured==0.14.8",
|
30 |
+
]
|
uv.lock
ADDED
The diff for this file is too large to render.
See raw diff
|
|