Skip to content

Commit

Permalink
Adding Cognitive Services Data Plane Vision+Language SDK (Azure#3604)
Browse files Browse the repository at this point in the history
* Adding Vision SDK.

* Add Text Analytics SDK.

* Adding Vision

* Removing key.

* Removing unneeded files

* Removing key.

* Hooking up Cognitive SDKs with build.

* Updating Swagger spec.

* Fix build

* Moving files around and adding sub namespace for TA.

* Moving managemenet and dataplane folders into their respective folders.

* Updating csproj and files based on comments.

* Simplifying csprojects

* Move to temp directory

* Move back to dataPlane with right casing

* Move to dataPlane directory

* Fixing presumptive OS specific path convention.

* Adding Assembly.Info for Language

* Adding AssemblyInfo for VIsion

* Updates based on feedback.

* Adding a simple readme.md.
  • Loading branch information
DavidLiCIG authored and JasonYang-MSFT committed Nov 17, 2017
1 parent 22d59a1 commit f6bd7aa
Show file tree
Hide file tree
Showing 150 changed files with 13,662 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
using Microsoft.CognitiveServices.Language.TextAnalytics;
using System.Net.Http;

namespace Language.Tests
{
public abstract class BaseTests
{
public static bool IsTestTenant = false;
private static string SubscriptionKey = "";
private static string Region = null;

static BaseTests()
{
// Retrieve the configuration information.

Region = "WestUS";
}

protected ITextAnalyticsAPI GetClient(DelegatingHandler handler)
{
ITextAnalyticsAPI client;
client = new TextAnalyticsAPI(handlers: handler);
client.SubscriptionKey = SubscriptionKey;

return client;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="$([MSBuild]::GetPathOfFileAbove('AzSdk.test.reference.props'))" />
<PropertyGroup>
<PackageId>Microsoft.CognitiveServices.Language.Tests</PackageId>
<Description>Microsoft.CognitiveServices.Language.Tests Class Library</Description>
<AssemblyName>Microsoft.CognitiveServices.Language.Tests</AssemblyName>
<VersionPrefix>1.0.0-preview</VersionPrefix>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
<RootNamespace>Language.Tests</RootNamespace>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Azure.Management.ResourceManager" Version="1.6.0-preview" />
<ProjectReference Include="..\Microsoft.CognitiveServices.Language\Microsoft.CognitiveServices.Language.csproj" />
</ItemGroup>
<ItemGroup>
<None Update="SessionRecords\**\*.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>
<ItemGroup>
<Folder Include="Helpers\" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"Entries": [
{
"RequestUri": "/text/analytics/v2.0/languages",
"EncodedRequestUri": "L3RleHQvYW5hbHl0aWNzL3YyLjAvbGFuZ3VhZ2Vz",
"RequestMethod": "POST",
"RequestBody": "{\r\n \"documents\": [\r\n {\r\n \"id\": \"id\",\r\n \"text\": \"I love my team mates\"\r\n }\r\n ]\r\n}",
"RequestHeaders": {
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"98"
],
"Ocp-Apim-Subscription-Key": [
""
],
"User-Agent": [
"FxVersion/4.6.25211.01",
"Microsoft.CognitiveServices.Language.TextAnalytics.TextAnalyticsAPI/1.0.0"
]
},
"ResponseBody": "{\r\n \"documents\": [\r\n {\r\n \"id\": \"id\",\r\n \"detectedLanguages\": [\r\n {\r\n \"name\": \"English\",\r\n \"iso6391Name\": \"en\",\r\n \"score\": 1.0\r\n }\r\n ]\r\n }\r\n ],\r\n \"errors\": []\r\n}",
"ResponseHeaders": {
"Content-Type": [
"application/json; charset=utf-8"
],
"Date": [
"Wed, 30 Aug 2017 02:11:18 GMT"
],
"Transfer-Encoding": [
"chunked"
],
"x-ms-transaction-count": [
"1"
],
"x-aml-ta-request-id": [
"473e3a1f-cf5e-4230-85b5-68fe2518370f"
],
"X-Content-Type-Options": [
"nosniff"
],
"apim-request-id": [
"69e6aeb0-e601-42ca-9468-f0cfaa408708"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains; preload"
]
},
"StatusCode": 200
}
],
"Names": {},
"Variables": {}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"Entries": [
{
"RequestUri": "/text/analytics/v2.0/keyPhrases",
"EncodedRequestUri": "L3RleHQvYW5hbHl0aWNzL3YyLjAva2V5UGhyYXNlcw==",
"RequestMethod": "POST",
"RequestBody": "{\r\n \"documents\": [\r\n {\r\n \"language\": \"en\",\r\n \"id\": \"id\",\r\n \"text\": \"I love my team mates\"\r\n }\r\n ]\r\n}",
"RequestHeaders": {
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"123"
],
"Ocp-Apim-Subscription-Key": [
""
],
"User-Agent": [
"FxVersion/4.6.25211.01",
"Microsoft.CognitiveServices.Language.TextAnalytics.TextAnalyticsAPI/1.0.0"
]
},
"ResponseBody": "{\r\n \"documents\": [\r\n {\r\n \"keyPhrases\": [\r\n \"team mates\"\r\n ],\r\n \"id\": \"id\"\r\n }\r\n ],\r\n \"errors\": []\r\n}",
"ResponseHeaders": {
"Content-Type": [
"application/json; charset=utf-8"
],
"Date": [
"Wed, 30 Aug 2017 02:11:17 GMT"
],
"Transfer-Encoding": [
"chunked"
],
"x-ms-transaction-count": [
"1"
],
"x-aml-ta-request-id": [
"460baaca-7f57-42c1-8cc7-8852957d05b9"
],
"X-Content-Type-Options": [
"nosniff"
],
"apim-request-id": [
"3f09b1c9-fe3b-46bb-badf-98108c599825"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains; preload"
]
},
"StatusCode": 200
}
],
"Names": {},
"Variables": {}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"Entries": [
{
"RequestUri": "/text/analytics/v2.0/sentiment",
"EncodedRequestUri": "L3RleHQvYW5hbHl0aWNzL3YyLjAvc2VudGltZW50",
"RequestMethod": "POST",
"RequestBody": "{\r\n \"documents\": [\r\n {\r\n \"language\": \"en\",\r\n \"id\": \"id\",\r\n \"text\": \"I love my team mates\"\r\n }\r\n ]\r\n}",
"RequestHeaders": {
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"123"
],
"Ocp-Apim-Subscription-Key": [
""
],
"User-Agent": [
"FxVersion/4.6.25211.01",
"Microsoft.CognitiveServices.Language.TextAnalytics.TextAnalyticsAPI/1.0.0"
]
},
"ResponseBody": "{\r\n \"documents\": [\r\n {\r\n \"score\": 0.97380387783050537,\r\n \"id\": \"id\"\r\n }\r\n ],\r\n \"errors\": []\r\n}",
"ResponseHeaders": {
"Content-Type": [
"application/json; charset=utf-8"
],
"Date": [
"Wed, 30 Aug 2017 02:11:17 GMT"
],
"Transfer-Encoding": [
"chunked"
],
"x-ms-transaction-count": [
"1"
],
"x-aml-ta-request-id": [
"06db056b-1bf0-4994-933a-f08eacf94053"
],
"X-Content-Type-Options": [
"nosniff"
],
"apim-request-id": [
"63c5b90f-3a35-48c3-bb85-d89218d1202e"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains; preload"
]
},
"StatusCode": 200
}
],
"Names": {},
"Variables": {}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
using Language.Tests;
using Microsoft.Azure.Test.HttpRecorder;
using Microsoft.CognitiveServices.Language.TextAnalytics;
using Microsoft.CognitiveServices.Language.TextAnalytics.Models;
using Microsoft.Rest.ClientRuntime.Azure.TestFramework;
using System.Collections.Generic;
using Xunit;

namespace Language.TextAnalytics.Tests
{
public class DetectLanguageTests : BaseTests
{
[Fact]
public void DetectLanguage()
{
using (MockContext context = MockContext.Start(this.GetType().FullName))
{
HttpMockServer.Initialize(this.GetType().FullName, "DetectLanguage");
ITextAnalyticsAPI client = GetClient(HttpMockServer.CreateInstance());
LanguageBatchResultV2 result = client.DetectLanguage(
new BatchInputV2(
new List<InputV2>()
{
new InputV2("id","I love my team mates")
}));

Assert.Equal("English", result.Documents[0].DetectedLanguages[0].Name);
Assert.Equal("en", result.Documents[0].DetectedLanguages[0].Iso6391Name);
Assert.True(result.Documents[0].DetectedLanguages[0].Score > 0.7);
context.Stop();
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
using Language.Tests;
using Microsoft.Azure.Test.HttpRecorder;
using Microsoft.CognitiveServices.Language.TextAnalytics;
using Microsoft.CognitiveServices.Language.TextAnalytics.Models;
using Microsoft.Rest.ClientRuntime.Azure.TestFramework;
using System.Collections.Generic;
using Xunit;

namespace Language.TextAnalytics.Tests
{
public class KeyPhrasesTests : BaseTests
{
[Fact]
public void KeyPhrases()
{
using (MockContext context = MockContext.Start(this.GetType().FullName))
{
HttpMockServer.Initialize(this.GetType().FullName, "KeyPhrases");
ITextAnalyticsAPI client = GetClient(HttpMockServer.CreateInstance());
KeyPhraseBatchResultV2 result = client.KeyPhrases(
new MultiLanguageBatchInputV2(
new List<MultiLanguageInputV2>()
{
new MultiLanguageInputV2()
{
Id ="id",
Text ="I love my team mates",
Language ="en"
}
}));

Assert.Equal("team mates", result.Documents[0].KeyPhrases[0]);
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
using Language.Tests;
using Microsoft.Azure.Test.HttpRecorder;
using Microsoft.CognitiveServices.Language.TextAnalytics;
using Microsoft.CognitiveServices.Language.TextAnalytics.Models;
using Microsoft.Rest.ClientRuntime.Azure.TestFramework;
using System.Collections.Generic;
using Xunit;

namespace Language.TextAnalytics.Tests
{
public class SentimentTests : BaseTests
{
[Fact]
public void Sentiment()
{
using (MockContext context = MockContext.Start(this.GetType().FullName))
{
HttpMockServer.Initialize(this.GetType().FullName, "Sentiment");
ITextAnalyticsAPI client = GetClient(HttpMockServer.CreateInstance());
SentimentBatchResultV2 result = client.Sentiment(
new MultiLanguageBatchInputV2(
new List<MultiLanguageInputV2>()
{
new MultiLanguageInputV2()
{
Id ="id",
Text ="I love my team mates",
Language ="en"
}
}));

Assert.True(result.Documents[0].Score > 0);
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26430.16
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CognitiveServices.Language", "Microsoft.CognitiveServices.Language\Microsoft.CognitiveServices.Language.csproj", "{6807B854-8528-4FEE-A25D-C43C3AA2D601}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CognitiveServices.Language.Tests", "Microsoft.CognitiveServices.Language.Tests\Microsoft.CognitiveServices.Language.Tests.csproj", "{5987D97A-E532-450C-BF22-A1F595C927F1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6807B854-8528-4FEE-A25D-C43C3AA2D601}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6807B854-8528-4FEE-A25D-C43C3AA2D601}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6807B854-8528-4FEE-A25D-C43C3AA2D601}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6807B854-8528-4FEE-A25D-C43C3AA2D601}.Release|Any CPU.Build.0 = Release|Any CPU
{5987D97A-E532-450C-BF22-A1F595C927F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5987D97A-E532-450C-BF22-A1F595C927F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5987D97A-E532-450C-BF22-A1F595C927F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5987D97A-E532-450C-BF22-A1F595C927F1}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Loading

0 comments on commit f6bd7aa

Please sign in to comment.