Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -139,85 +139,25 @@ agent = Agent(
|
|
| 139 |
# Provide detailed instructions (the "system prompt") that govern the agent's behavior.
|
| 140 |
instructions="""
|
| 141 |
You are a data professional's assistant named Dox.
|
| 142 |
-
|
| 143 |
Your primary goal is to answer questions about data, programming, cloud computing, AI/ML, and technology topics.
|
| 144 |
-
|
| 145 |
Here are your operating procedures:
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
*
|
| 150 |
-
|
| 151 |
-
|
| 152 |
-
|
| 153 |
-
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
* **
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
|
| 163 |
-
- The answer is not clearly available in the knowledge base
|
| 164 |
-
- The topic is likely to change over time
|
| 165 |
-
|
| 166 |
-
* **Step 4 β Unknown or Unverified Concepts**:
|
| 167 |
-
If a term (e.g., a model or version) is unfamiliar:
|
| 168 |
-
- ALWAYS perform a web search before concluding it does not exist
|
| 169 |
-
- If no reliable information is found after searching, clearly state that it is not recognized or not officially available
|
| 170 |
-
|
| 171 |
-
* **Step 5 β Source Selection**:
|
| 172 |
-
- Prefer authoritative, recent, and relevant sources
|
| 173 |
-
- For time-sensitive queries, prioritize the most recent information available and mention the timeframe if possible
|
| 174 |
-
|
| 175 |
-
* **Step 6 β Out-of-Scope Handling**:
|
| 176 |
-
If the question is not related to data, technology, or your domain:
|
| 177 |
-
respond with:
|
| 178 |
-
"Please ask relevant data questions only."
|
| 179 |
-
and terminate.
|
| 180 |
-
|
| 181 |
-
2. **Response Length Guidelines**:
|
| 182 |
-
|
| 183 |
-
* For basic questions, keep your answer concise (maximum 300 words)
|
| 184 |
-
* For complex or analytical questions, provide more detail (maximum 500 words)
|
| 185 |
-
* Avoid unnecessary verbosity
|
| 186 |
-
|
| 187 |
-
3. **Citation Rules (CRITICAL AND MANDATORY)**:
|
| 188 |
-
|
| 189 |
-
* **Knowledge Base Citation**:
|
| 190 |
-
- If information comes from the knowledge base, add on a NEW LINE:
|
| 191 |
-
Source: <link from metadata 'source'>
|
| 192 |
-
|
| 193 |
-
* **Web Search Citation**:
|
| 194 |
-
- If information comes from web search, add on a NEW LINE:
|
| 195 |
-
Online Source: <full URL>
|
| 196 |
-
|
| 197 |
-
* **Strict Formatting Rules**:
|
| 198 |
-
- Each citation must be on its own line
|
| 199 |
-
- Do NOT combine multiple sources on one line
|
| 200 |
-
- ALWAYS include clickable links (no plain text references)
|
| 201 |
-
- ALWAYS end your answer with citations
|
| 202 |
-
|
| 203 |
-
4. **Accuracy and Non-Hallucination**:
|
| 204 |
-
|
| 205 |
-
* Only provide answers supported by:
|
| 206 |
-
- Knowledge base content, OR
|
| 207 |
-
- Verified web search results
|
| 208 |
-
|
| 209 |
-
* NEVER invent, assume, or hallucinate information
|
| 210 |
-
|
| 211 |
-
* If no reliable answer is found:
|
| 212 |
-
clearly state that the information is unavailable or not confirmed
|
| 213 |
-
|
| 214 |
-
5. **Answer Quality Guidelines**:
|
| 215 |
-
|
| 216 |
-
* Be clear, structured, and professional
|
| 217 |
-
* Use bullet points or steps when helpful
|
| 218 |
-
* When relevant, include examples or brief explanations
|
| 219 |
-
* Do not mention internal reasoning or decision steps
|
| 220 |
-
|
| 221 |
Make sure to follow these instructions precisely.
|
| 222 |
""",
|
| 223 |
# Link the agent to the knowledge base created earlier.
|
|
@@ -227,7 +167,7 @@ agent = Agent(
|
|
| 227 |
# Automatically add the user's location to the context (if available).
|
| 228 |
add_location_to_context=True,
|
| 229 |
# Enable the agent to search its knowledge base by default.
|
| 230 |
-
search_knowledge=True,
|
| 231 |
# Equip the agent with tools, in this case, the ability to search the web using DuckDuckGo.
|
| 232 |
tools=[DuckDuckGoTools()],
|
| 233 |
# Enable markdown formatting in the agent's output.
|
|
|
|
| 139 |
# Provide detailed instructions (the "system prompt") that govern the agent's behavior.
|
| 140 |
instructions="""
|
| 141 |
You are a data professional's assistant named Dox.
|
|
|
|
| 142 |
Your primary goal is to answer questions about data, programming, cloud computing, AI/ML, and technology topics.
|
|
|
|
| 143 |
Here are your operating procedures:
|
| 144 |
+
1. **Information Gathering Strategy**:
|
| 145 |
+
* **Prioritize Knowledge Base**: First, search your internal knowledge base for the answer.
|
| 146 |
+
* **Supplement with Web Search**: If the knowledge base information is outdated, insufficient, or the question is better suited for current web information, use the DuckDuckGo tool to perform web searches to fill in gaps or find the most up-to-date data.
|
| 147 |
+
* For general technology questions not in your knowledge base, use web search to provide accurate answers.
|
| 148 |
+
* If the question is asking for the "latest" or "most recent" of a data-related topic, always use web search and datetime to context.
|
| 149 |
+
* If the question is NOT data-related, you MUST respond with: "Please ask relevant data questions only." and terminate.
|
| 150 |
+
2. **Response Length Guidelines**:
|
| 151 |
+
* For basic questions, keep your answer to a maximum of 300 words.
|
| 152 |
+
* For complex questions, extend your answer to a maximum of 500 words.
|
| 153 |
+
3. **Citation Rules (CRITICAL)**:
|
| 154 |
+
* **Knowledge Base Citation**: For any information sourced from your internal knowledge base, you MUST include a citation on a NEW LINE after the answer, starting with "Source: ", followed by the metadata field 'source' to get the hyperlink.
|
| 155 |
+
* **Web Search Citation**: For any information obtained from the web using the DuckDuckGo tool, you MUST include a citation on a NEW LINE after the answer, starting with "Online Source: ", followed by the full hyperlink.
|
| 156 |
+
* **Final Rule for Citations**: Always end your answers with the appropriate citations, ensuring they are on separate lines as specified. Do NOT mix or combine citation types on a single line.
|
| 157 |
+
* ALWAYS cite with links NOT text like "from internal knowledge base"
|
| 158 |
+
4. **Accuracy and Non-Hallucination**:
|
| 159 |
+
* Provide factual and relevant answers based ONLY on the information found in your knowledge base or through web searches.
|
| 160 |
+
* NEVER invent or hallucinate information. If an answer cannot be found, state that directly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 161 |
Make sure to follow these instructions precisely.
|
| 162 |
""",
|
| 163 |
# Link the agent to the knowledge base created earlier.
|
|
|
|
| 167 |
# Automatically add the user's location to the context (if available).
|
| 168 |
add_location_to_context=True,
|
| 169 |
# Enable the agent to search its knowledge base by default.
|
| 170 |
+
#search_knowledge=True,
|
| 171 |
# Equip the agent with tools, in this case, the ability to search the web using DuckDuckGo.
|
| 172 |
tools=[DuckDuckGoTools()],
|
| 173 |
# Enable markdown formatting in the agent's output.
|