-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add stability information to streaming results. #2714
Add stability information to streaming results. #2714
Conversation
7fb59d4
to
9f2c34e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I started out 👎 on the new class but it seems "necessary" in some sense. The only other alternative would be to return a tuple with all the data
results, stability, is_final
But maybe I am not grokking the interface correctly
hello | ||
>>> print(alternatives[0].confidence) | ||
>>> print(results[0].alternatives[0].confidence) |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
@@ -299,6 +298,74 @@ def sync_recognize(self, sample, language_code=None, | |||
profanity_filter, speech_context) | |||
|
|||
|
|||
class StreamingSpeechResult(object): |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
"""Streaming speech result representation. | ||
|
||
:type alternatives: list | ||
:param alternatives: List of protobuf speech alternatives. |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
:param stability: 0.0-1.0 stability score for the results returned. | ||
|
||
:rtype: :class:`~google.cloud.speech.client.StreamingSpeechResult` | ||
:returns: Instance of ``StreamingSpeechResult``. |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
""" | ||
def __init__(self, alternatives, is_final=False, stability=0.0): | ||
self._alternatives = [Alternative.from_pb(alternative) | ||
for alternative in alternatives] |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
|
||
:type response: :class:`~google.cloud.grpc.speech.v1beta1\ | ||
.cloud_speech_pb2.StreamingRecognizeResult` | ||
:param response: Istance of ``StreamingRecognizeResult`` protobuf. |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
.cloud_speech_pb2.StreamingRecognizeResult` | ||
:param response: Istance of ``StreamingRecognizeResult`` protobuf. | ||
|
||
:rtype: :class:`~google.cloud.speech.client.StreamingSpeechResult` |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
return self._alternatives | ||
|
||
@property | ||
def is_final(self): |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
return self._is_final | ||
|
||
@property | ||
def stability(self): |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
self.assertEqual(results[0], []) | ||
self.assertEqual(results[1][0].transcript, | ||
|
||
self.assertIsInstance(results[0], StreamingSpeechResult) |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
I'm totally open to ideas(regarding |
@dhermes CircleCI is winning my love. Did you have anything else for this? |
You also forgot to check in a new RST file for |
LGTM once you fix your b0rken docs situation |
25aad88
to
71a0d55
Compare
71a0d55
to
38e0887
Compare
Everything went green. Squashed and I'll just make sure it goes green again and then I'll merge. |
…peech-results Add stability information to streaming results.
Add stability information to streaming results.
Add stability information to streaming results.
* Add initial Secret Manager samples [(#2664)](GoogleCloudPlatform/python-docs-samples#2664) * Bump secretmanager version [(#2699)](GoogleCloudPlatform/python-docs-samples#2699) This bumps to the version that doesn't have a bunch of deprecation warnings. * Fix a small comment typo [(#2714)](GoogleCloudPlatform/python-docs-samples#2714) * Add Secret Manager IAM samples [(#2749)](GoogleCloudPlatform/python-docs-samples#2749) * Add Secret Manager IAM samples * Use an envvar for the iam user * Add env var to secrets. Co-authored-by: Kurtis Van Gent <[email protected]> * SecretManager update v1beta1->v1 [(#3065)](GoogleCloudPlatform/python-docs-samples#3065) Client library has been updated: https://pypi.org/project/google-cloud-secret-manager/ * Simplify noxfile setup. [(#2806)](GoogleCloudPlatform/python-docs-samples#2806) * chore(deps): update dependency requests to v2.23.0 * Simplify noxfile and add version control. * Configure appengine/standard to only test Python 2.7. * Update Kokokro configs to match noxfile. * Add requirements-test to each folder. * Remove Py2 versions from everything execept appengine/standard. * Remove conftest.py. * Remove appengine/standard/conftest.py * Remove 'no-sucess-flaky-report' from pytest.ini. * Add GAE SDK back to appengine/standard tests. * Fix typo. * Roll pytest to python 2 version. * Add a bunch of testing requirements. * Remove typo. * Add appengine lib directory back in. * Add some additional requirements. * Fix issue with flake8 args. * Even more requirements. * Readd appengine conftest.py. * Add a few more requirements. * Even more Appengine requirements. * Add webtest for appengine/standard/mailgun. * Add some additional requirements. * Add workaround for issue with mailjet-rest. * Add responses for appengine/standard/mailjet. Co-authored-by: Renovate Bot <[email protected]> * chore: some lint fixes [(#3749)](GoogleCloudPlatform/python-docs-samples#3749) * chore(deps): update dependency google-cloud-secret-manager to v1 [(#3846)](GoogleCloudPlatform/python-docs-samples#3846) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [google-cloud-secret-manager](https://togithub.com/googleapis/python-secret-manager) | major | `==0.2.0` -> `==1.0.0` | --- ### Release Notes <details> <summary>googleapis/python-secret-manager</summary> ### [`v1.0.0`](https://togithub.com/googleapis/python-secret-manager/blob/master/CHANGELOG.md#​100-httpswwwgithubcomgoogleapispython-secret-managercomparev020v100-2020-05-20) [Compare Source](https://togithub.com/googleapis/python-secret-manager/compare/v0.2.0...v1.0.0) ##### Features - release as production/stable ([#​24](https://www.github.com/googleapis/python-secret-manager/issues/24)) ([39a8cc8](https://www.github.com/googleapis/python-secret-manager/commit/39a8cc8f631569c82d1cbffc6a9bbb440d380683)) </details> --- ### Renovate configuration :date: **Schedule**: At any time (no schedule defined). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Never, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#GoogleCloudPlatform/python-docs-samples). * Replace GCLOUD_PROJECT with GOOGLE_CLOUD_PROJECT. [(#4022)](GoogleCloudPlatform/python-docs-samples#4022) * chore(deps): update dependency pytest to v5.4.3 [(#4279)](GoogleCloudPlatform/python-docs-samples#4279) * chore(deps): update dependency pytest to v5.4.3 * specify pytest for python 2 in appengine Co-authored-by: Leah Cole <[email protected]> * Update dependency pytest to v6 [(#4390)](GoogleCloudPlatform/python-docs-samples#4390) * chore: update templates Co-authored-by: Seth Vargo <[email protected]> Co-authored-by: Kurtis Van Gent <[email protected]> Co-authored-by: gwhitehawk <[email protected]> Co-authored-by: Renovate Bot <[email protected]> Co-authored-by: Takashi Matsuo <[email protected]> Co-authored-by: Leah Cole <[email protected]>
Add stability information to streaming results.
Towards #2522.
This changes the surface, since
is_final
andstability
are per-result and not a per-alternative.