Skip to content

Commit 6f4e7e7

Browse files
Merge pull request #407 from watson-developer-cloud/assistant
Generate AssistantV1
2 parents 3162a34 + 859f975 commit 6f4e7e7

4 files changed

Lines changed: 7279 additions & 0 deletions

File tree

examples/assistant_v1.py

Lines changed: 326 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,326 @@
1+
from __future__ import print_function
2+
import json
3+
from watson_developer_cloud import AssistantV1
4+
5+
assistant = AssistantV1(
6+
username='YOUR SERVICE USERNAME',
7+
password='YOUR SERVICE PASSWORD',
8+
version='2017-04-21')
9+
10+
#########################
11+
# Workspaces
12+
#########################
13+
14+
create_workspace_data = {
15+
"name":
16+
"test_workspace",
17+
"description":
18+
"integration tests",
19+
"language":
20+
"en",
21+
"intents": [{
22+
"intent": "hello",
23+
"description": "string",
24+
"examples": [{
25+
"text": "good morning"
26+
}]
27+
}],
28+
"entities": [{
29+
"entity": "pizza_toppings",
30+
"description": "Tasty pizza toppings",
31+
"metadata": {
32+
"property": "value"
33+
}
34+
}],
35+
"counterexamples": [{
36+
"text": "string"
37+
}],
38+
"metadata": {},
39+
}
40+
41+
response = assistant.create_workspace(
42+
name=create_workspace_data['name'],
43+
description=create_workspace_data['description'],
44+
language='en',
45+
intents=create_workspace_data['intents'],
46+
entities=create_workspace_data['entities'],
47+
counterexamples=create_workspace_data['counterexamples'],
48+
metadata=create_workspace_data['metadata'])
49+
print(json.dumps(response, indent=2))
50+
51+
workspace_id = response['workspace_id']
52+
print('Workspace id {0}'.format(workspace_id))
53+
54+
response = assistant.get_workspace(workspace_id=workspace_id, export=True)
55+
print(json.dumps(response, indent=2))
56+
57+
# message
58+
response = assistant.message(
59+
workspace_id=workspace_id, input={
60+
'text': 'What\'s the weather like?'
61+
})
62+
print(json.dumps(response, indent=2))
63+
64+
response = assistant.list_workspaces()
65+
print(json.dumps(response, indent=2))
66+
67+
response = assistant.update_workspace(
68+
workspace_id=workspace_id, description='Updated test workspace.')
69+
print(json.dumps(response, indent=2))
70+
71+
# see cleanup section below for delete_workspace example
72+
73+
#########################
74+
# Intents
75+
#########################
76+
77+
examples = [{"text": "good morning"}]
78+
response = assistant.create_intent(
79+
workspace_id=workspace_id,
80+
intent='test_intent',
81+
description='Test intent.',
82+
examples=examples)
83+
print(json.dumps(response, indent=2))
84+
85+
response = assistant.get_intent(
86+
workspace_id=workspace_id, intent='test_intent', export=True)
87+
print(json.dumps(response, indent=2))
88+
89+
response = assistant.list_intents(workspace_id=workspace_id, export=True)
90+
print(json.dumps(response, indent=2))
91+
92+
response = assistant.update_intent(
93+
workspace_id=workspace_id,
94+
intent='test_intent',
95+
new_intent='updated_test_intent',
96+
new_description='Updated test intent.')
97+
print(json.dumps(response, indent=2))
98+
99+
# see cleanup section below for delete_intent example
100+
101+
#########################
102+
# Examples
103+
#########################
104+
105+
response = assistant.create_example(
106+
workspace_id=workspace_id,
107+
intent='updated_test_intent',
108+
text='Gimme a pizza with pepperoni')
109+
print(json.dumps(response, indent=2))
110+
111+
response = assistant.get_example(
112+
workspace_id=workspace_id,
113+
intent='updated_test_intent',
114+
text='Gimme a pizza with pepperoni')
115+
print(json.dumps(response, indent=2))
116+
117+
response = assistant.list_examples(
118+
workspace_id=workspace_id, intent='updated_test_intent')
119+
print(json.dumps(response, indent=2))
120+
121+
response = assistant.update_example(
122+
workspace_id=workspace_id,
123+
intent='updated_test_intent',
124+
text='Gimme a pizza with pepperoni',
125+
new_text='Gimme a pizza with pepperoni')
126+
print(json.dumps(response, indent=2))
127+
128+
response = assistant.delete_example(
129+
workspace_id=workspace_id,
130+
intent='updated_test_intent',
131+
text='Gimme a pizza with pepperoni')
132+
print(json.dumps(response, indent=2))
133+
134+
#########################
135+
# Counter Examples
136+
#########################
137+
138+
response = assistant.create_counterexample(
139+
workspace_id=workspace_id, text='I want financial advice today.')
140+
print(json.dumps(response, indent=2))
141+
142+
response = assistant.get_counterexample(
143+
workspace_id=workspace_id, text='I want financial advice today.')
144+
print(json.dumps(response, indent=2))
145+
146+
response = assistant.list_counterexamples(workspace_id=workspace_id)
147+
print(json.dumps(response, indent=2))
148+
149+
response = assistant.update_counterexample(
150+
workspace_id=workspace_id,
151+
text='I want financial advice today.',
152+
new_text='I want financial advice today.')
153+
print(json.dumps(response, indent=2))
154+
155+
response = assistant.delete_counterexample(
156+
workspace_id=workspace_id, text='I want financial advice today.')
157+
print(json.dumps(response, indent=2))
158+
159+
#########################
160+
# Entities
161+
#########################
162+
163+
values = [{"value": "juice"}]
164+
response = assistant.create_entity(
165+
workspace_id=workspace_id,
166+
entity='test_entity',
167+
description='A test entity.',
168+
values=values)
169+
print(json.dumps(response, indent=2))
170+
171+
entities = [{
172+
'entity':
173+
'pattern_entity',
174+
'values': [{
175+
'value': 'value0',
176+
'patterns': ['\\d{6}\\w{1}\\d{7}'],
177+
'value_type': 'patterns'
178+
}, {
179+
'value':
180+
'value1',
181+
'patterns':
182+
['[-9][0-9][0-9][0-9][0-9]~! [1-9][1-9][1-9][1-9][1-9][1-9]'],
183+
'value_type':
184+
'patterns'
185+
}, {
186+
'value': 'value2',
187+
'patterns': ['[a-z-9]{17}'],
188+
'value_type': 'patterns'
189+
}, {
190+
'value':
191+
'value3',
192+
'patterns': [
193+
'\\d{3}(\\ |-)\\d{3}(\\ |-)\\d{4}',
194+
'\\(\\d{3}\\)(\\ |-)\\d{3}(\\ |-)\\d{4}'
195+
],
196+
'value_type':
197+
'patterns'
198+
}, {
199+
'value': 'value4',
200+
'patterns': ['\\b\\d{5}\\b'],
201+
'value_type': 'patterns'
202+
}]
203+
}]
204+
response = assistant.create_entity(
205+
workspace_id, entity=entities[0]['entity'], values=entities[0]['values'])
206+
print(json.dumps(response, indent=2))
207+
208+
response = assistant.get_entity(
209+
workspace_id=workspace_id, entity=entities[0]['entity'], export=True)
210+
print(json.dumps(response, indent=2))
211+
212+
response = assistant.list_entities(workspace_id=workspace_id)
213+
print(json.dumps(response, indent=2))
214+
215+
response = assistant.update_entity(
216+
workspace_id=workspace_id,
217+
entity='test_entity',
218+
new_description='An updated test entity.')
219+
print(json.dumps(response, indent=2))
220+
221+
response = assistant.delete_entity(
222+
workspace_id=workspace_id, entity='test_entity')
223+
print(json.dumps(response, indent=2))
224+
225+
#########################
226+
# Synonyms
227+
#########################
228+
229+
values = [{"value": "orange juice"}]
230+
assistant.create_entity(workspace_id, 'beverage', values=values)
231+
232+
response = assistant.create_synonym(workspace_id, 'beverage', 'orange juice', 'oj')
233+
print(json.dumps(response, indent=2))
234+
235+
response = assistant.get_synonym(workspace_id, 'beverage', 'orange juice', 'oj')
236+
print(json.dumps(response, indent=2))
237+
238+
response = assistant.list_synonyms(workspace_id, 'beverage', 'orange juice')
239+
print(json.dumps(response, indent=2))
240+
241+
response = assistant.update_synonym(workspace_id, 'beverage', 'orange juice', 'oj', 'OJ')
242+
print(json.dumps(response, indent=2))
243+
244+
response = assistant.delete_synonym(workspace_id, 'beverage', 'orange juice', 'OJ')
245+
print(json.dumps(response, indent=2))
246+
247+
assistant.delete_entity(workspace_id, 'beverage')
248+
249+
#########################
250+
# Values
251+
#########################
252+
253+
assistant.create_entity(workspace_id, 'test_entity')
254+
255+
response = assistant.create_value(workspace_id, 'test_entity', 'test')
256+
print(json.dumps(response, indent=2))
257+
258+
response = assistant.get_value(workspace_id, 'test_entity', 'test')
259+
print(json.dumps(response, indent=2))
260+
261+
response = assistant.list_values(workspace_id, 'test_entity')
262+
print(json.dumps(response, indent=2))
263+
264+
response = assistant.update_value(workspace_id, 'test_entity', 'test', 'example')
265+
print(json.dumps(response, indent=2))
266+
267+
response = assistant.delete_value(workspace_id, 'test_entity', 'example')
268+
print(json.dumps(response, indent=2))
269+
270+
assistant.delete_entity(workspace_id, 'test_entity')
271+
272+
#########################
273+
# Dialog nodes
274+
#########################
275+
create_dialog_node = {
276+
"dialog_node":
277+
"greeting",
278+
"description":
279+
"greeting messages",
280+
"actions": [{
281+
"name": "hello",
282+
"type": "client",
283+
"parameters": {},
284+
"result_variable": "string",
285+
"credentials": "string"
286+
}]
287+
}
288+
response = assistant.create_dialog_node(
289+
workspace_id,
290+
create_dialog_node['dialog_node'],
291+
create_dialog_node['description'],
292+
actions=create_dialog_node['actions'])
293+
print(json.dumps(response, indent=2))
294+
295+
response = assistant.get_dialog_node(workspace_id, create_dialog_node['dialog_node'])
296+
print(json.dumps(response, indent=2))
297+
298+
response = assistant.list_dialog_nodes(workspace_id)
299+
print(json.dumps(response, indent=2))
300+
301+
response = assistant.update_dialog_node(
302+
workspace_id,
303+
create_dialog_node['dialog_node'],
304+
new_dialog_node='updated_node')
305+
print(json.dumps(response, indent=2))
306+
307+
response = assistant.delete_dialog_node(workspace_id, 'updated_node')
308+
print(json.dumps(response, indent=2))
309+
310+
#########################
311+
# Logs
312+
#########################
313+
314+
response = assistant.list_logs(workspace_id=workspace_id)
315+
print(json.dumps(response, indent=2))
316+
317+
#########################
318+
# Clean-up
319+
#########################
320+
321+
response = assistant.delete_intent(
322+
workspace_id=workspace_id, intent='updated_test_intent')
323+
print(json.dumps(response, indent=2))
324+
325+
response = assistant.delete_workspace(workspace_id=workspace_id)
326+
print(json.dumps(response, indent=2))

0 commit comments

Comments
 (0)