andrewgy8 / apprentice Goto Github PK
View Code? Open in Web Editor NEWBuilt for streamlining development of Google Assistant Actions
License: GNU General Public License v3.0
Built for streamlining development of Google Assistant Actions
License: GNU General Public License v3.0
We should show any user how to update the cloud function via the cli
We should be able to allow the api to accept a hyperlink or text with photos to display to the google assistant. That way a user can click on the link and find more information about whatever the api received.
Ex. This would be the link information in the today in history api
It seems that travis is trying to deploy the package with every version of python declared. For instance, https://travis-ci.com/andrewgy8/apprentice/builds/93792889
The build succeeds with 3.7, but with 3.6 and 3.5, it fails. It shouldn't be deploying with all the python versions, only one.
A how-to video embedded in the projects readme would be a nice way to break the entry barrier
We should be able to support more than one language.
The approach could use gettext
or some other il8n solution.
For the local server to work as plug-and-play, it would be nice to have .env file that is read as a default to the installed main.py flask app. That way a user could execute:
apprentice init
apprentice run
And have the local server running immediately.
Dialogflow supports rich text responses for users on a device. We could add a nice interface for apprentice to construct this type of response.
Be able to handle and argument such as:
apprentice init --name=foo_bar
and the output should be a direct called /foo_bar
with a main.py
file containing a foo_bar
function.
Includes:
Instead of
export FLASK_APP=example/main.py
export FLASK_DEBUG=1
flask run
a user should be able to run apprentice local
to run a local web server.
We should be using serailizers to ingest and digest the api responses. That way we can easily update the values.
Provide arguments to allow the user to specify what type of response she wants.
Use case: "Tell me about a birth that happened in history"
I user should be able to specify what type of logging they want from the functions in apprentice in order to debug.
This is what I could imagine the API for Apprentice looking like:
from apprentice import Apprentice
apr = Apprentice(__name__)
ENTITIES = {
"name": "History",
"entries": [
{
"value": "history",
"synonyms": [
"history",
"past event",
"the past",
"past"
]
}, {
"value": "birth",
"synonyms": [
"birth",
"births",
"born"
]
}
]
}
@apr.action(entities=['name'])
def cool_fact_generator(*args, **kwargs):
reply = _fact_response(apr.entity)
return apr.make_repsonse(reply)
When creating a response a user should be able to configure the view of suggestions.
The resulting payload would look like:
'payload': {
'google': {
'expect_user_response': False,
'is_ssml': True,
'permissions_request': None,
"richResponse": {
"items": [],
"suggestions": [],
"linkOutSuggestion": {}
}
}
}
We should allow users to define entities in the project.
Following what Assistant did in their project, we should allow the user to define intents in their project
It would be something like this https://docs.travis-ci.com/user/coveralls/
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.