signalwire-agents 0.1.13__py3-none-any.whl → 1.0.17.dev4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- signalwire_agents/__init__.py +99 -15
- signalwire_agents/agent_server.py +248 -60
- signalwire_agents/agents/bedrock.py +296 -0
- signalwire_agents/cli/__init__.py +9 -0
- signalwire_agents/cli/build_search.py +951 -41
- signalwire_agents/cli/config.py +80 -0
- signalwire_agents/cli/core/__init__.py +10 -0
- signalwire_agents/cli/core/agent_loader.py +470 -0
- signalwire_agents/cli/core/argparse_helpers.py +179 -0
- signalwire_agents/cli/core/dynamic_config.py +71 -0
- signalwire_agents/cli/core/service_loader.py +303 -0
- signalwire_agents/cli/dokku.py +2320 -0
- signalwire_agents/cli/execution/__init__.py +10 -0
- signalwire_agents/cli/execution/datamap_exec.py +446 -0
- signalwire_agents/cli/execution/webhook_exec.py +134 -0
- signalwire_agents/cli/init_project.py +2636 -0
- signalwire_agents/cli/output/__init__.py +10 -0
- signalwire_agents/cli/output/output_formatter.py +255 -0
- signalwire_agents/cli/output/swml_dump.py +186 -0
- signalwire_agents/cli/simulation/__init__.py +10 -0
- signalwire_agents/cli/simulation/data_generation.py +374 -0
- signalwire_agents/cli/simulation/data_overrides.py +200 -0
- signalwire_agents/cli/simulation/mock_env.py +282 -0
- signalwire_agents/cli/swaig_test_wrapper.py +52 -0
- signalwire_agents/cli/test_swaig.py +566 -2366
- signalwire_agents/cli/types.py +81 -0
- signalwire_agents/core/__init__.py +2 -2
- signalwire_agents/core/agent/__init__.py +12 -0
- signalwire_agents/core/agent/config/__init__.py +12 -0
- signalwire_agents/core/agent/deployment/__init__.py +9 -0
- signalwire_agents/core/agent/deployment/handlers/__init__.py +9 -0
- signalwire_agents/core/agent/prompt/__init__.py +14 -0
- signalwire_agents/core/agent/prompt/manager.py +306 -0
- signalwire_agents/core/agent/routing/__init__.py +9 -0
- signalwire_agents/core/agent/security/__init__.py +9 -0
- signalwire_agents/core/agent/swml/__init__.py +9 -0
- signalwire_agents/core/agent/tools/__init__.py +15 -0
- signalwire_agents/core/agent/tools/decorator.py +97 -0
- signalwire_agents/core/agent/tools/registry.py +210 -0
- signalwire_agents/core/agent_base.py +845 -2916
- signalwire_agents/core/auth_handler.py +233 -0
- signalwire_agents/core/config_loader.py +259 -0
- signalwire_agents/core/contexts.py +418 -0
- signalwire_agents/core/data_map.py +3 -15
- signalwire_agents/core/function_result.py +116 -44
- signalwire_agents/core/logging_config.py +162 -18
- signalwire_agents/core/mixins/__init__.py +28 -0
- signalwire_agents/core/mixins/ai_config_mixin.py +442 -0
- signalwire_agents/core/mixins/auth_mixin.py +280 -0
- signalwire_agents/core/mixins/prompt_mixin.py +358 -0
- signalwire_agents/core/mixins/serverless_mixin.py +460 -0
- signalwire_agents/core/mixins/skill_mixin.py +55 -0
- signalwire_agents/core/mixins/state_mixin.py +153 -0
- signalwire_agents/core/mixins/tool_mixin.py +230 -0
- signalwire_agents/core/mixins/web_mixin.py +1142 -0
- signalwire_agents/core/security_config.py +333 -0
- signalwire_agents/core/skill_base.py +84 -1
- signalwire_agents/core/skill_manager.py +62 -20
- signalwire_agents/core/swaig_function.py +18 -5
- signalwire_agents/core/swml_builder.py +207 -11
- signalwire_agents/core/swml_handler.py +27 -21
- signalwire_agents/core/swml_renderer.py +123 -312
- signalwire_agents/core/swml_service.py +171 -203
- signalwire_agents/mcp_gateway/__init__.py +29 -0
- signalwire_agents/mcp_gateway/gateway_service.py +564 -0
- signalwire_agents/mcp_gateway/mcp_manager.py +513 -0
- signalwire_agents/mcp_gateway/session_manager.py +218 -0
- signalwire_agents/prefabs/concierge.py +0 -3
- signalwire_agents/prefabs/faq_bot.py +0 -3
- signalwire_agents/prefabs/info_gatherer.py +0 -3
- signalwire_agents/prefabs/receptionist.py +0 -3
- signalwire_agents/prefabs/survey.py +0 -3
- signalwire_agents/schema.json +9218 -5489
- signalwire_agents/search/__init__.py +7 -1
- signalwire_agents/search/document_processor.py +490 -31
- signalwire_agents/search/index_builder.py +307 -37
- signalwire_agents/search/migration.py +418 -0
- signalwire_agents/search/models.py +30 -0
- signalwire_agents/search/pgvector_backend.py +748 -0
- signalwire_agents/search/query_processor.py +162 -31
- signalwire_agents/search/search_engine.py +916 -35
- signalwire_agents/search/search_service.py +376 -53
- signalwire_agents/skills/README.md +452 -0
- signalwire_agents/skills/__init__.py +14 -2
- signalwire_agents/skills/api_ninjas_trivia/README.md +215 -0
- signalwire_agents/skills/api_ninjas_trivia/__init__.py +12 -0
- signalwire_agents/skills/api_ninjas_trivia/skill.py +237 -0
- signalwire_agents/skills/datasphere/README.md +210 -0
- signalwire_agents/skills/datasphere/skill.py +84 -3
- signalwire_agents/skills/datasphere_serverless/README.md +258 -0
- signalwire_agents/skills/datasphere_serverless/__init__.py +9 -0
- signalwire_agents/skills/datasphere_serverless/skill.py +82 -1
- signalwire_agents/skills/datetime/README.md +132 -0
- signalwire_agents/skills/datetime/__init__.py +9 -0
- signalwire_agents/skills/datetime/skill.py +20 -7
- signalwire_agents/skills/joke/README.md +149 -0
- signalwire_agents/skills/joke/__init__.py +9 -0
- signalwire_agents/skills/joke/skill.py +21 -0
- signalwire_agents/skills/math/README.md +161 -0
- signalwire_agents/skills/math/__init__.py +9 -0
- signalwire_agents/skills/math/skill.py +18 -4
- signalwire_agents/skills/mcp_gateway/README.md +230 -0
- signalwire_agents/skills/mcp_gateway/__init__.py +10 -0
- signalwire_agents/skills/mcp_gateway/skill.py +421 -0
- signalwire_agents/skills/native_vector_search/README.md +210 -0
- signalwire_agents/skills/native_vector_search/__init__.py +9 -0
- signalwire_agents/skills/native_vector_search/skill.py +569 -101
- signalwire_agents/skills/play_background_file/README.md +218 -0
- signalwire_agents/skills/play_background_file/__init__.py +12 -0
- signalwire_agents/skills/play_background_file/skill.py +242 -0
- signalwire_agents/skills/registry.py +395 -40
- signalwire_agents/skills/spider/README.md +236 -0
- signalwire_agents/skills/spider/__init__.py +13 -0
- signalwire_agents/skills/spider/skill.py +598 -0
- signalwire_agents/skills/swml_transfer/README.md +395 -0
- signalwire_agents/skills/swml_transfer/__init__.py +10 -0
- signalwire_agents/skills/swml_transfer/skill.py +359 -0
- signalwire_agents/skills/weather_api/README.md +178 -0
- signalwire_agents/skills/weather_api/__init__.py +12 -0
- signalwire_agents/skills/weather_api/skill.py +191 -0
- signalwire_agents/skills/web_search/README.md +163 -0
- signalwire_agents/skills/web_search/__init__.py +9 -0
- signalwire_agents/skills/web_search/skill.py +586 -112
- signalwire_agents/skills/wikipedia_search/README.md +228 -0
- signalwire_agents/{core/state → skills/wikipedia_search}/__init__.py +5 -4
- signalwire_agents/skills/{wikipedia → wikipedia_search}/skill.py +33 -3
- signalwire_agents/web/__init__.py +17 -0
- signalwire_agents/web/web_service.py +559 -0
- signalwire_agents-1.0.17.dev4.data/data/share/man/man1/sw-agent-init.1 +400 -0
- signalwire_agents-1.0.17.dev4.data/data/share/man/man1/sw-search.1 +483 -0
- signalwire_agents-1.0.17.dev4.data/data/share/man/man1/swaig-test.1 +308 -0
- {signalwire_agents-0.1.13.dist-info → signalwire_agents-1.0.17.dev4.dist-info}/METADATA +347 -215
- signalwire_agents-1.0.17.dev4.dist-info/RECORD +147 -0
- signalwire_agents-1.0.17.dev4.dist-info/entry_points.txt +6 -0
- signalwire_agents/core/state/file_state_manager.py +0 -219
- signalwire_agents/core/state/state_manager.py +0 -101
- signalwire_agents/skills/wikipedia/__init__.py +0 -9
- signalwire_agents-0.1.13.data/data/schema.json +0 -5611
- signalwire_agents-0.1.13.dist-info/RECORD +0 -67
- signalwire_agents-0.1.13.dist-info/entry_points.txt +0 -3
- {signalwire_agents-0.1.13.dist-info → signalwire_agents-1.0.17.dev4.dist-info}/WHEEL +0 -0
- {signalwire_agents-0.1.13.dist-info → signalwire_agents-1.0.17.dev4.dist-info}/licenses/LICENSE +0 -0
- {signalwire_agents-0.1.13.dist-info → signalwire_agents-1.0.17.dev4.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
# Wikipedia Search Skill
|
|
2
|
+
|
|
3
|
+
The Wikipedia Search skill provides agents with the ability to search Wikipedia articles and retrieve factual information. This skill uses the Wikipedia API to search for articles and return their introductory content, making it perfect for answering factual questions about people, places, concepts, and more.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Free Wikipedia API**: No API keys or credentials required
|
|
8
|
+
- **Article Summaries**: Returns introductory content from Wikipedia articles
|
|
9
|
+
- **Multiple Results**: Can return multiple article summaries for broader topics
|
|
10
|
+
- **Customizable Messages**: Custom no-results messages with query placeholders
|
|
11
|
+
- **Error Handling**: Graceful handling of network errors and API issues
|
|
12
|
+
- **Speech Recognition**: Includes hints for better voice recognition accuracy
|
|
13
|
+
|
|
14
|
+
## Requirements
|
|
15
|
+
|
|
16
|
+
- **Python Packages**: `requests` (automatically installed with SignalWire Agents)
|
|
17
|
+
- **API Keys**: None required - uses free Wikipedia API
|
|
18
|
+
- **Environment Variables**: None required
|
|
19
|
+
|
|
20
|
+
## Parameters
|
|
21
|
+
|
|
22
|
+
| Parameter | Type | Default | Description |
|
|
23
|
+
|-----------|------|---------|-------------|
|
|
24
|
+
| `num_results` | int | 1 | Number of Wikipedia articles to return (minimum: 1) |
|
|
25
|
+
| `no_results_message` | str | Auto-generated | Custom message when no results found. Use `{query}` as placeholder |
|
|
26
|
+
| `swaig_fields` | dict | {} | Additional SWAIG function configuration (fillers, etc.) |
|
|
27
|
+
|
|
28
|
+
## Tools Created
|
|
29
|
+
|
|
30
|
+
This skill creates one SWAIG tool:
|
|
31
|
+
|
|
32
|
+
### `search_wiki`
|
|
33
|
+
- **Description**: Search Wikipedia for information about a topic and get article summaries
|
|
34
|
+
- **Parameters**:
|
|
35
|
+
- `query` (string, required): The search term or topic to look up on Wikipedia
|
|
36
|
+
|
|
37
|
+
## Usage Examples
|
|
38
|
+
|
|
39
|
+
### Basic Usage
|
|
40
|
+
|
|
41
|
+
```python
|
|
42
|
+
from signalwire_agents import AgentBase
|
|
43
|
+
|
|
44
|
+
agent = AgentBase("Wikipedia Assistant")
|
|
45
|
+
|
|
46
|
+
# Add Wikipedia search with default settings
|
|
47
|
+
agent.add_skill("wikipedia_search")
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Custom Configuration
|
|
51
|
+
|
|
52
|
+
```python
|
|
53
|
+
# Custom number of results and no-results message
|
|
54
|
+
agent.add_skill("wikipedia_search", {
|
|
55
|
+
"num_results": 2, # Return up to 2 articles
|
|
56
|
+
"no_results_message": "Sorry, I couldn't find any Wikipedia articles about '{query}'. Try different keywords or check the spelling."
|
|
57
|
+
})
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### With SWAIG Fields (Fillers)
|
|
61
|
+
|
|
62
|
+
```python
|
|
63
|
+
# Add custom fillers for better user experience
|
|
64
|
+
agent.add_skill("wikipedia_search", {
|
|
65
|
+
"num_results": 1,
|
|
66
|
+
"swaig_fields": {
|
|
67
|
+
"fillers": {
|
|
68
|
+
"en-US": [
|
|
69
|
+
"Let me check Wikipedia for that...",
|
|
70
|
+
"Searching Wikipedia...",
|
|
71
|
+
"Looking that up on Wikipedia...",
|
|
72
|
+
"Checking the encyclopedia..."
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
})
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Advanced Configuration
|
|
80
|
+
|
|
81
|
+
```python
|
|
82
|
+
# Full configuration example
|
|
83
|
+
agent.add_skill("wikipedia_search", {
|
|
84
|
+
"num_results": 3,
|
|
85
|
+
"no_results_message": "I searched Wikipedia but couldn't find information about '{query}'. You might want to try rephrasing your question or searching for related topics.",
|
|
86
|
+
"swaig_fields": {
|
|
87
|
+
"fillers": {
|
|
88
|
+
"en-US": [
|
|
89
|
+
"Searching Wikipedia for factual information...",
|
|
90
|
+
"Let me look that up in the encyclopedia...",
|
|
91
|
+
"Checking Wikipedia's knowledge base..."
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
"meta": {
|
|
95
|
+
"description": "Search Wikipedia for reliable, factual information"
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
})
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Multiple Instance Support
|
|
102
|
+
|
|
103
|
+
**This skill does NOT support multiple instances.** You can only load one instance of the Wikipedia search skill per agent. This is because:
|
|
104
|
+
|
|
105
|
+
- Wikipedia search is a general-purpose tool that doesn't need specialization
|
|
106
|
+
- The tool name `search_wiki` is fixed and meaningful
|
|
107
|
+
- Multiple instances would create confusion without added benefit
|
|
108
|
+
|
|
109
|
+
If you need different Wikipedia search behaviors, use the `num_results` parameter to control the scope of results.
|
|
110
|
+
|
|
111
|
+
## API Details
|
|
112
|
+
|
|
113
|
+
The skill uses the Wikipedia API with two steps:
|
|
114
|
+
|
|
115
|
+
1. **Search**: Uses the `action=query&list=search` endpoint to find matching articles
|
|
116
|
+
2. **Extract**: Uses the `action=query&prop=extracts` endpoint to get article summaries
|
|
117
|
+
|
|
118
|
+
### Search Process
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
1. Search for articles matching the query
|
|
122
|
+
→ GET https://en.wikipedia.org/w/api.php?action=query&list=search&format=json&srsearch={query}&srlimit={num_results}
|
|
123
|
+
|
|
124
|
+
2. For each result, get the article extract
|
|
125
|
+
→ GET https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exintro&explaintext&format=json&titles={title}
|
|
126
|
+
|
|
127
|
+
3. Format and return the results
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Response Format
|
|
131
|
+
|
|
132
|
+
### Single Result
|
|
133
|
+
```
|
|
134
|
+
**Article Title**
|
|
135
|
+
|
|
136
|
+
Article content summary...
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Multiple Results
|
|
140
|
+
```
|
|
141
|
+
**First Article Title**
|
|
142
|
+
|
|
143
|
+
First article content summary...
|
|
144
|
+
|
|
145
|
+
==================================================
|
|
146
|
+
|
|
147
|
+
**Second Article Title**
|
|
148
|
+
|
|
149
|
+
Second article content summary...
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Error Handling
|
|
153
|
+
|
|
154
|
+
The skill handles various error conditions gracefully:
|
|
155
|
+
|
|
156
|
+
- **No Results**: Returns the custom `no_results_message` with the query
|
|
157
|
+
- **Network Errors**: Returns "Error accessing Wikipedia: {error details}"
|
|
158
|
+
- **API Errors**: Returns "Error searching Wikipedia: {error details}"
|
|
159
|
+
- **Empty Extracts**: Returns "No summary available for this article"
|
|
160
|
+
|
|
161
|
+
## Speech Recognition Hints
|
|
162
|
+
|
|
163
|
+
The skill provides these hints to improve voice recognition:
|
|
164
|
+
|
|
165
|
+
- "Wikipedia"
|
|
166
|
+
- "wiki"
|
|
167
|
+
- "search Wikipedia"
|
|
168
|
+
- "look up"
|
|
169
|
+
- "tell me about"
|
|
170
|
+
- "what is"
|
|
171
|
+
- "who is"
|
|
172
|
+
- "information about"
|
|
173
|
+
- "facts about"
|
|
174
|
+
|
|
175
|
+
## Best Practices
|
|
176
|
+
|
|
177
|
+
### Query Optimization
|
|
178
|
+
- Use specific terms for better results
|
|
179
|
+
- Try both full names and common names (e.g., "Einstein" vs "Albert Einstein")
|
|
180
|
+
- For disambiguation, be more specific (e.g., "Python programming language" vs "Python")
|
|
181
|
+
|
|
182
|
+
### Result Management
|
|
183
|
+
- Use `num_results: 1` for specific factual queries
|
|
184
|
+
- Use `num_results: 2-3` for broader topics that might have multiple relevant articles
|
|
185
|
+
- Avoid very high numbers as it can overwhelm users
|
|
186
|
+
|
|
187
|
+
### Error Messages
|
|
188
|
+
- Customize `no_results_message` to match your agent's personality
|
|
189
|
+
- Include suggestions for alternative searches
|
|
190
|
+
- Use the `{query}` placeholder to reference what the user searched for
|
|
191
|
+
|
|
192
|
+
### Integration Tips
|
|
193
|
+
- Combine with web search for comprehensive information gathering
|
|
194
|
+
- Use for factual verification of claims
|
|
195
|
+
- Great for educational and reference applications
|
|
196
|
+
|
|
197
|
+
## Example Conversations
|
|
198
|
+
|
|
199
|
+
**User**: "Tell me about quantum physics"
|
|
200
|
+
**Agent**: *Searching Wikipedia...* "Here's what I found about quantum physics: **Quantum mechanics** - Quantum mechanics is a fundamental theory that describes the behavior of nature at and below the scale of atoms..."
|
|
201
|
+
|
|
202
|
+
**User**: "Who was Marie Curie?"
|
|
203
|
+
**Agent**: *Let me check Wikipedia for that...* "**Marie Curie** - Marie Salomea Skłodowska-Curie was a Polish and naturalized-French physicist and chemist who conducted pioneering research on radioactivity..."
|
|
204
|
+
|
|
205
|
+
## Troubleshooting
|
|
206
|
+
|
|
207
|
+
### Common Issues
|
|
208
|
+
|
|
209
|
+
1. **Skill not loading**: Ensure `requests` package is installed
|
|
210
|
+
2. **No results for valid topics**: Try different search terms or check spelling
|
|
211
|
+
3. **Network timeouts**: The skill has a 10-second timeout for API calls
|
|
212
|
+
|
|
213
|
+
### Debug Information
|
|
214
|
+
|
|
215
|
+
The skill logs initialization and search activities:
|
|
216
|
+
```
|
|
217
|
+
Wikipedia search skill initialized with {num_results} max results
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Enable debug logging to see detailed API interactions and error information.
|
|
221
|
+
|
|
222
|
+
## Related Skills
|
|
223
|
+
|
|
224
|
+
- **web_search**: For current information and broader web content
|
|
225
|
+
- **datasphere**: For searching custom knowledge bases
|
|
226
|
+
- **datetime**: For current date/time context in historical queries
|
|
227
|
+
|
|
228
|
+
The Wikipedia skill is perfect for factual, encyclopedic information, while web search is better for current events and specific products/services.
|
|
@@ -8,10 +8,11 @@ See LICENSE file in the project root for full license information.
|
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
10
|
"""
|
|
11
|
-
|
|
11
|
+
Wikipedia Search Skill
|
|
12
|
+
|
|
13
|
+
This skill provides Wikipedia search capabilities using the Wikipedia API.
|
|
12
14
|
"""
|
|
13
15
|
|
|
14
|
-
from .
|
|
15
|
-
from .file_state_manager import FileStateManager
|
|
16
|
+
from .skill import WikipediaSearchSkill
|
|
16
17
|
|
|
17
|
-
__all__ = ['
|
|
18
|
+
__all__ = ['WikipediaSearchSkill']
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Copyright (c) 2025 SignalWire
|
|
3
|
+
|
|
4
|
+
This file is part of the SignalWire AI Agents SDK.
|
|
5
|
+
|
|
6
|
+
Licensed under the MIT License.
|
|
7
|
+
See LICENSE file in the project root for full license information.
|
|
8
|
+
"""
|
|
9
|
+
|
|
1
10
|
"""
|
|
2
11
|
Wikipedia Search Skill
|
|
3
12
|
|
|
@@ -28,6 +37,28 @@ class WikipediaSearchSkill(SkillBase):
|
|
|
28
37
|
# Does not support multiple instances
|
|
29
38
|
SUPPORTS_MULTIPLE_INSTANCES = False
|
|
30
39
|
|
|
40
|
+
@classmethod
|
|
41
|
+
def get_parameter_schema(cls) -> Dict[str, Dict[str, Any]]:
|
|
42
|
+
"""Get parameter schema for Wikipedia search skill"""
|
|
43
|
+
schema = super().get_parameter_schema()
|
|
44
|
+
schema.update({
|
|
45
|
+
"num_results": {
|
|
46
|
+
"type": "integer",
|
|
47
|
+
"description": "Maximum number of Wikipedia articles to return",
|
|
48
|
+
"default": 1,
|
|
49
|
+
"required": False,
|
|
50
|
+
"minimum": 1,
|
|
51
|
+
"maximum": 5
|
|
52
|
+
},
|
|
53
|
+
"no_results_message": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"description": "Custom message when no Wikipedia articles are found",
|
|
56
|
+
"default": "I couldn't find any Wikipedia articles for '{query}'. Try rephrasing your search or using different keywords.",
|
|
57
|
+
"required": False
|
|
58
|
+
}
|
|
59
|
+
})
|
|
60
|
+
return schema
|
|
61
|
+
|
|
31
62
|
def setup(self) -> bool:
|
|
32
63
|
"""
|
|
33
64
|
Setup the Wikipedia search skill.
|
|
@@ -53,7 +84,7 @@ class WikipediaSearchSkill(SkillBase):
|
|
|
53
84
|
"""
|
|
54
85
|
Register the SWAIG tool for Wikipedia search.
|
|
55
86
|
"""
|
|
56
|
-
self.
|
|
87
|
+
self.define_tool(
|
|
57
88
|
name="search_wiki",
|
|
58
89
|
description="Search Wikipedia for information about a topic and get article summaries",
|
|
59
90
|
parameters={
|
|
@@ -62,8 +93,7 @@ class WikipediaSearchSkill(SkillBase):
|
|
|
62
93
|
"description": "The search term or topic to look up on Wikipedia"
|
|
63
94
|
}
|
|
64
95
|
},
|
|
65
|
-
handler=self._search_wiki_handler
|
|
66
|
-
**self.swaig_fields
|
|
96
|
+
handler=self._search_wiki_handler
|
|
67
97
|
)
|
|
68
98
|
|
|
69
99
|
def _search_wiki_handler(self, args, raw_data):
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Copyright (c) 2025 SignalWire
|
|
3
|
+
|
|
4
|
+
This file is part of the SignalWire AI Agents SDK.
|
|
5
|
+
|
|
6
|
+
Licensed under the MIT License.
|
|
7
|
+
See LICENSE file in the project root for full license information.
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
"""SignalWire Agents Web Service Module
|
|
11
|
+
|
|
12
|
+
This module provides static file serving capabilities for the SignalWire Agents SDK.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
from .web_service import WebService
|
|
16
|
+
|
|
17
|
+
__all__ = ['WebService']
|