如何使用 Bluemix 在 Java 中调用 Alchemy API



我是 IBM Watson 的新手。有人可以指导我如何使用Bluemix在Java中调用Alchemy吗?也指导我了解所有 Maven 依赖项。

这很简单

第 1 步:在 Bluemix 中使用样板 "Java DB Web Starter" 创建一个项目。确保您的应用程序名称是唯一的,并首先检查是否有足够的可用内存 (512 MB)

第 2 步:在应用的"概述"页上,单击"添加 Git 存储库和管道",或在 Bluemix 经典体验中单击"添加 GIT"。它将为您的项目代码生成一个 GIT URL。生成的项目代码已经使用 maven,当您提交新代码时,Bluemix 将自动部署它。

第 3 步:使用 eclipse 克隆 GIT 仓库并打开项目 pom.xml,并添加像这样的 "java-sdk" 和 "commons-io" 依赖项

    <dependency>
        <groupId>com.ibm.watson.developer_cloud</groupId>
        <artifactId>java-sdk</artifactId>
        <version>2.8.0</version>
    </dependency>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</version>
    </dependency>

这将触发 eclipse 项目中的 maven,它将开始下载大约 30 MB 的库。如果你以前没有这样做过,去喝杯咖啡。下载和解析所有依赖项大约需要 5 分钟。

步骤 4:将 Alchemy 组件添加到您的 Bluemix 项目(使用 Bluemix Web UI)中。这会将 Alchemy API 凭据添加到您的 Bluemix 应用程序VCAP_SERVICES系统变量中。

第 5 步:在 eclipse 中,添加如下代码

package qi.watson;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.io.FileUtils;
import com.ibm.watson.developer_cloud.alchemy.v1.AlchemyLanguage;
import com.ibm.watson.developer_cloud.alchemy.v1.model.DocumentSentiment;
import com.ibm.watson.developer_cloud.util.CredentialUtils;
public class AlchemyAPI {
    private AlchemyLanguage al = new AlchemyLanguage();
    public AlchemyAPI() throws IOException{
        String env = System.getenv("VCAP_SERVICES");
        if (env == null){
            env = FileUtils.readFileToString(new File("/home/leoks/git/qi/qi.json"));
        }
        CredentialUtils.setServices(env);
        al.setApiKey(CredentialUtils.getAPIKey("alchemy_api"));
    }
    public static void main(String[] args) throws IOException, InterruptedException {
        AlchemyAPI api = new AlchemyAPI();
        Map<String, Object> params = new HashMap<String, Object>();
        params.put(AlchemyLanguage.TEXT, "All work and no play makes Jack a dull boy");
        DocumentSentiment sentiment = api.al.getSentiment(params);
        System.out.println(sentiment.getSentiment().getScore());
        System.out.println(sentiment.getSentiment().getType());
    }
}

第 6 步:在 Bluemix Web UI 中,单击您的应用程序,然后在左侧菜单中找到"环境变量"部分。例如,从VCAP_SERVICES复制内容并粘贴到名为/home/leoks/git/qi/qi.json 的 eclipse 项目中的本地文本文件中(当然,您可以更改它)

请注意,Alchemy API 可能需要几分钟才能激活,并且在 Bluemix 中只能有 1 个 Alchemy API 模块。

有关 Watson API Java Wrapper 的更多信息,请查看此链接 -- https://github.com/watson-developer-cloud/java-sdk

相关内容

  • 没有找到相关文章

最新更新