daniel-was-taken commited on
Commit
b4f5237
Β·
1 Parent(s): 8d11700
.chainlit/config.toml CHANGED
@@ -11,6 +11,14 @@ user_session_timeout = 1296000 # 15 days
11
  # Enable third parties caching (e.g., LangChain cache)
12
  cache = false
13
 
 
 
 
 
 
 
 
 
14
  # Authorized origins
15
  allow_origins = ["*"]
16
 
@@ -30,6 +38,9 @@ auto_tag_thread = true
30
  # Allow users to edit their own messages
31
  edit_message = true
32
 
 
 
 
33
  [features.slack]
34
  # Add emoji reaction when message is received (requires reactions:write OAuth scope)
35
  reaction_on_message_received = false
@@ -51,9 +62,15 @@ reaction_on_message_received = false
51
  max_size_mb = 500
52
 
53
  [features.audio]
 
 
54
  # Sample rate of the audio
55
  sample_rate = 24000
56
 
 
 
 
 
57
  [features.mcp.sse]
58
  enabled = true
59
 
@@ -69,16 +86,18 @@ reaction_on_message_received = false
69
 
70
  [UI]
71
  # Name of the assistant.
72
- name = "Assistant"
73
 
74
  # default_theme = "dark"
75
 
76
  # layout = "wide"
77
 
 
 
78
  # default_sidebar_state = "open"
79
 
80
  # Description of the assistant. This is used for HTML tags.
81
- # description = ""
82
 
83
  # Chain of Thought (CoT) display mode. Can be "hidden", "tool_call" or "full".
84
  cot = "full"
@@ -95,13 +114,13 @@ cot = "full"
95
  # custom_js = "/public/test.js"
96
 
97
  # The style of alert boxes. Can be "classic" or "modern".
98
- alert_style = "classic"
99
 
100
  # Specify additional attributes for custom JS file
101
  # custom_js_attributes = "async type = \"module\""
102
 
103
  # Custom login page image, relative to public directory or external URL
104
- # login_page_image = "/public/custom-background.jpg"
105
 
106
  # Custom login page image filter (Tailwind internal filters, no dark/light variants)
107
  # login_page_image_filter = "brightness-50 grayscale"
@@ -109,25 +128,26 @@ alert_style = "classic"
109
 
110
 
111
  # Specify a custom meta image url.
112
- custom_meta_image_url = "https://chainlit-cloud.s3.eu-west-3.amazonaws.com/logo/chainlit_banner.png"
113
 
114
  # Load assistant logo directly from URL.
115
- logo_file_url = "public/favicon.svg"
116
 
117
  # Load assistant avatar image directly from URL.
118
- default_avatar_file_url = "public/favicon.svg"
119
 
120
  # Specify a custom build directory for the frontend.
121
  # This can be used to customize the frontend code.
122
  # Be careful: If this is a relative path, it should not start with a slash.
123
  # custom_build = "./public/build"
124
 
 
125
  # Specify optional one or more custom links in the header.
126
  # [[UI.header_links]]
127
- # name = "Issues"
128
- # display_name = "Report Issue"
129
- # icon_url = "https://avatars.githubusercontent.com/u/128686189?s=200&v=4"
130
- # url = "https://github.com/Chainlit/chainlit/issues"
131
 
132
  [meta]
133
- generated_by = "2.6.9"
 
11
  # Enable third parties caching (e.g., LangChain cache)
12
  cache = false
13
 
14
+ # Whether to persist user environment variables (API keys) to the database
15
+ # Set to true to store user env vars in DB, false to exclude them for security
16
+ persist_user_env = false
17
+
18
+ # Whether to mask user environment variables (API keys) in the UI with password type
19
+ # Set to true to show API keys as ***, false to show them as plain text
20
+ mask_user_env = false
21
+
22
  # Authorized origins
23
  allow_origins = ["*"]
24
 
 
38
  # Allow users to edit their own messages
39
  edit_message = true
40
 
41
+ # Allow users to share threads (backend + UI). Requires an app-defined on_shared_thread_view callback.
42
+ allow_thread_sharing = false
43
+
44
  [features.slack]
45
  # Add emoji reaction when message is received (requires reactions:write OAuth scope)
46
  reaction_on_message_received = false
 
62
  max_size_mb = 500
63
 
64
  [features.audio]
65
+ # Enable audio features
66
+ enabled = false
67
  # Sample rate of the audio
68
  sample_rate = 24000
69
 
70
+ [features.mcp]
71
+ # Enable Model Context Protocol (MCP) features
72
+ enabled = false
73
+
74
  [features.mcp.sse]
75
  enabled = true
76
 
 
86
 
87
  [UI]
88
  # Name of the assistant.
89
+ name = "CompifAI"
90
 
91
  # default_theme = "dark"
92
 
93
  # layout = "wide"
94
 
95
+ github = "https://github.com/daniel-was-taken/NeatStandards"
96
+
97
  # default_sidebar_state = "open"
98
 
99
  # Description of the assistant. This is used for HTML tags.
100
+ description = "CompifAI is a chatbot designed to provide assistance with competence standards in higher education"
101
 
102
  # Chain of Thought (CoT) display mode. Can be "hidden", "tool_call" or "full".
103
  cot = "full"
 
114
  # custom_js = "/public/test.js"
115
 
116
  # The style of alert boxes. Can be "classic" or "modern".
117
+ alert_style = "modern"
118
 
119
  # Specify additional attributes for custom JS file
120
  # custom_js_attributes = "async type = \"module\""
121
 
122
  # Custom login page image, relative to public directory or external URL
123
+ login_page_image = "public/logo.png"
124
 
125
  # Custom login page image filter (Tailwind internal filters, no dark/light variants)
126
  # login_page_image_filter = "brightness-50 grayscale"
 
128
 
129
 
130
  # Specify a custom meta image url.
131
+ # custom_meta_image_url = "https://chainlit-cloud.s3.eu-west-3.amazonaws.com/logo/chainlit_banner.png"
132
 
133
  # Load assistant logo directly from URL.
134
+ logo_file_url = "public/logo.png"
135
 
136
  # Load assistant avatar image directly from URL.
137
+ default_avatar_file_url = "public/logo.png"
138
 
139
  # Specify a custom build directory for the frontend.
140
  # This can be used to customize the frontend code.
141
  # Be careful: If this is a relative path, it should not start with a slash.
142
  # custom_build = "./public/build"
143
 
144
+
145
  # Specify optional one or more custom links in the header.
146
  # [[UI.header_links]]
147
+ # name = "Github"
148
+ # display_name = "Github"
149
+ # icon_url = "https://github.githubassets.com/assets/GitHub-Mark-ea2971cee799.png"
150
+ # url = "https://github.com/daniel-was-taken/NeatStandards"
151
 
152
  [meta]
153
+ generated_by = "2.8.0"
.chainlit/old_config.toml DELETED
@@ -1,130 +0,0 @@
1
- [project]
2
- # Whether to enable telemetry (default: false). No personal data is collected.
3
- enable_telemetry = false
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
- # Autoscroll new user messages at the top of the window
29
- user_message_autoscroll = true
30
-
31
- # Automatically tag threads with the current chat profile (if a chat profile is used)
32
- auto_tag_thread = true
33
-
34
- # Allow users to edit their own messages
35
- edit_message = true
36
-
37
- # Authorize users to spontaneously upload files with messages
38
- [features.spontaneous_file_upload]
39
- enabled = false
40
- # Define accepted file types using MIME types
41
- # Examples:
42
- # 1. For specific file types:
43
- # accept = ["image/jpeg", "image/png", "application/pdf"]
44
- # 2. For all files of certain type:
45
- # accept = ["image/*", "audio/*", "video/*"]
46
- # 3. For specific file extensions:
47
- # accept = { "application/octet-stream" = [".xyz", ".pdb"] }
48
- # Note: Using "*/*" is not recommended as it may cause browser warnings
49
- accept = ["*/*"]
50
- max_files = 20
51
- max_size_mb = 500
52
-
53
- [features.audio]
54
- # Sample rate of the audio
55
- sample_rate = 24000
56
-
57
- [features.mcp.sse]
58
- enabled = true
59
-
60
- [features.mcp.stdio]
61
- enabled = true
62
- # Only the executables in the allow list can be used for MCP stdio server.
63
- # Only need the base name of the executable, e.g. "npx", not "/usr/bin/npx".
64
- # Please don't comment this line for now, we need it to parse the executable name.
65
- allowed_executables = [ "npx", "uvx" ]
66
-
67
- [UI]
68
- # Name of the assistant.
69
- name = "Assistant"
70
-
71
- # default_theme = "dark"
72
-
73
- # layout = "wide"
74
-
75
- # default_sidebar_state = "open"
76
-
77
- # Description of the assistant. This is used for HTML tags.
78
- # description = ""
79
-
80
- # Chain of Thought (CoT) display mode. Can be "hidden", "tool_call" or "full".
81
- cot = "full"
82
-
83
- # Specify a CSS file that can be used to customize the user interface.
84
- # The CSS file can be served from the public directory or via an external link.
85
- # custom_css = "/public/test.css"
86
-
87
- # Specify additional attributes for a custom CSS file
88
- # custom_css_attributes = "media=\"print\""
89
-
90
- # Specify a JavaScript file that can be used to customize the user interface.
91
- # The JavaScript file can be served from the public directory.
92
- # custom_js = "/public/test.js"
93
-
94
- # The style of alert boxes. Can be "classic" or "modern".
95
- alert_style = "classic"
96
-
97
- # Specify additional attributes for custom JS file
98
- # custom_js_attributes = "async type = \"module\""
99
-
100
- # Custom login page image, relative to public directory or external URL
101
- # login_page_image = "/public/custom-background.jpg"
102
-
103
- # Custom login page image filter (Tailwind internal filters, no dark/light variants)
104
- login_page_image_filter = "brightness-50 grayscale"
105
- login_page_image_dark_filter = "contrast-200 blur-sm"
106
-
107
-
108
- # Specify a custom meta image url.
109
- custom_meta_image_url = "https://chainlit-cloud.s3.eu-west-3.amazonaws.com/logo/chainlit_banner.png"
110
-
111
- # Load assistant logo directly from URL.
112
- logo_file_url = "https://avatars.githubusercontent.com/u/128686189?s=200&v=4"
113
-
114
- # Load assistant avatar image directly from URL.
115
- default_avatar_file_url = "https://avatars.githubusercontent.com/u/128686189?s=200&v=4"
116
-
117
- # Specify a custom build directory for the frontend.
118
- # This can be used to customize the frontend code.
119
- # Be careful: If this is a relative path, it should not start with a slash.
120
- # custom_build = "./public/build"
121
-
122
- # Specify optional one or more custom links in the header.
123
- # [[UI.header_links]]
124
- # name = "Issues"
125
- # display_name = "Report Issue"
126
- # icon_url = "https://avatars.githubusercontent.com/u/128686189?s=200&v=4"
127
- # url = "https://github.com/Chainlit/chainlit/issues"
128
-
129
- [meta]
130
- generated_by = "2.6.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app.py CHANGED
@@ -145,23 +145,45 @@ def setup_rag_chain():
145
  "context": doc_objects,
146
  "history": cl.user_session.get("messages", [])
147
  }
148
- system_prompt = """You are a helpful assistant specialising in developing non-discriminatory competence standards and disability support, reasonable adjustments, and equality legislation.
149
-
150
- When answering questions, you should:
151
- 1. Use the provided context documents to inform your response
152
- 2. Be accurate and helpful
153
- 3. If the context doesn't contain relevant information, say so clearly
154
- 4. Always reply in English
155
- 5. Provide clear recommendations and examples wherever applicable
156
- 6. Do not make assumptions about the user's knowledge or background
157
- 7. If the user asks for a specific law or regulation, provide a brief explanation and cite relevant documents if available.
158
- 8. Do not overemphasize disability in your responses, but rather focus on the support and adjustments that can be made to ensure equality and inclusivity.
159
- 9. If the user query explicitly asks for a disability-related topic, provide a well-informed response based on the context documents.
160
-
161
- Context documents:
162
- {context}
163
-
164
- Please provide a clear response using the above context
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  """
166
 
167
  # Get the current settings to check if Think mode is enabled
@@ -220,12 +242,12 @@ def oauth_callback(
220
  async def set_starters():
221
  return [
222
  cl.Starter(
223
- label="Considerations for Autistic People",
224
- message="What considerations should be made for autistic people?",
225
  ),
226
  cl.Starter(
227
- label="Explain Equality Act 2010",
228
- message="Explain the Equality Act 2010 in simple terms.",
229
  ),
230
  ]
231
 
 
145
  "context": doc_objects,
146
  "history": cl.user_session.get("messages", [])
147
  }
148
+ system_prompt = """You are an expert assistant for staff in UK higher education institutions. Help develop inclusive, non-discriminatory competence standards that comply with UK equality legislation (for example: the Equality Act 2010). Advise on reasonable adjustments and support to remove barriers and promote fairness for all students.
149
+
150
+ Rules:
151
+ 1. Use ONLY the provided context documents as your source of information: {context}
152
+ 2. If the context does not contain relevant information, respond exactly:
153
+ "I could not find relevant information about this topic in the provided documents."
154
+ 3. Do not guess or include information from outside the provided documents.
155
+ 4. Answer in clear, plain English. Define technical or legal terms when needed.
156
+ 5. Support factual statements with references to the context documents or legislation.
157
+ 6. Provide practical, actionable guidance and examples for writing competence standards.
158
+ 7. Emphasise removing barriers via reasonable adjustments and support; treat disability within the broader goal of equality and inclusivity.
159
+ 8. Do not assume the user's prior knowledge; maintain a neutral, professional, and respectful tone.
160
+
161
+ Format requirements:
162
+ - Structure all responses using the RESPONSE TEMPLATE provided to you (Summary β†’ Key Guidance).
163
+ - Keep the Summary to 1-3 sentences; present Key Guidance as concise bullet points; list References used.
164
+
165
+ ### INTERNAL CHECKLIST - DO NOT SHOW TO USER:
166
+ - Used only provided context? (Yes/No)
167
+ - Cited supporting document(s)? (Yes/No)
168
+ - No guesses or outside information included? (Yes/No)
169
+ - Output follows Summary β†’ Key Guidance? (Yes/No)
170
+ - Tone is neutral, professional, and non-discriminatory? (Yes/No)
171
+ - Legal references quoted/paraphrased accurately? (Yes/No)
172
+
173
+ Proceed and format your reply according to the RESPONSE TEMPLATE.
174
+
175
+ \n\nResponse template:\n\n
176
+
177
+ **Summary**
178
+ A concise 1-3 sentence answer that directly addresses the question.
179
+
180
+ **Key Guidance**
181
+ - Actionable point 1 β€” grounded in: [Document Title / Section]
182
+ - Actionable point 2 β€” grounded in: [Document Title / Section]
183
+ - Actionable point 3 (implementation note or short example) β€” grounded in: [Document Title / Section]
184
+
185
+ **If no relevant information is found**
186
+ "I could not find relevant information about this topic in the provided documents."
187
  """
188
 
189
  # Get the current settings to check if Think mode is enabled
 
242
  async def set_starters():
243
  return [
244
  cl.Starter(
245
+ label="Reviewing Existing Standards",
246
+ message="How can we review existing competence standards to ensure they are inclusive?",
247
  ),
248
  cl.Starter(
249
+ label="When No Adjustments are Possible",
250
+ message="What should we do if a competence standard cannot be adjusted for a student?",
251
  ),
252
  ]
253
 
chainlit.md CHANGED
@@ -1,14 +1,40 @@
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.
 
1
+ # Competence Standards Support Assistant
2
 
3
+ ## About the Chatbot
4
 
5
+ This AI assistant specialises in developing non-discriminatory competence standards and equality legislation in higher education. It provides guidance on creating fair assessment criteria, understanding legal compliance requirements, and implementing inclusive practices.
6
 
7
+ ## Documents Used / Knowledge Base
 
8
 
9
+ - Advice note for the higher education sector from the legal case of University of Bristol vs Abrahart (EHRC)
10
+ - Commonly recommended reasonable adjustments
11
+ - Reasonable adjustments and competence standards
12
+ - The University of Bristol v Dr Robert Abrahart High Court Appeal and its implications
13
+ - Top Tips for inclusive practice
14
+ - Toolkit: Making the language of assessment inclusive
15
+ - Equality Act Schedule 13
16
+ - Technical guidance for further and higher education
17
+ - Effective communication between autistic and non-autistic people
18
+ - Positives infographic
19
+ - Disability legislation for academics
20
+ - University reasonable adjustments document
21
+ - DSC Competence Standards Guidance
22
+ - Common environmental challenges and potential solutions
23
+ - ECU Understanding competence standards
24
+
25
+ ## Current System Prompt
26
+
27
+ You are an expert assistant for staff in UK higher education institutions. Help develop inclusive, non-discriminatory competence standards that comply with UK equality legislation (for example: the Equality Act 2010). Advise on reasonable adjustments and support to remove barriers and promote fairness for all students.
28
+
29
+ Rules:
30
+ 1. Use ONLY the provided context documents as your source of information: {context}
31
+ 2. If the context does not contain relevant information, respond exactly:
32
+ "I could not find relevant information about this topic in the provided documents."
33
+ 3. Do not guess or include information from outside the provided documents.
34
+ 4. Answer in clear, plain English. Define technical or legal terms when needed.
35
+ 5. Support factual statements with references to the context documents or legislation.
36
+ 6. Provide practical, actionable guidance and examples for writing competence standards.
37
+ 7. Emphasise removing barriers via reasonable adjustments and support; treat disability within the broader goal of equality and inclusivity.
38
+ 8. Do not assume the user's prior knowledge; maintain a neutral, professional, and respectful tone.
39
 
 
40
 
 
public/logo.png CHANGED
public/logo_dark.png ADDED
public/logo_light.png ADDED