当前位置:   article > 正文

【Java接入通义千问】_通义千问api接口文档

通义千问api接口文档

前言

通义千问是阿里巴巴达摩院研发的预训练语言模型,提供了一系列的API和SDK可以方便地进行接入。本文将介绍如何使用SpringBoot接入通义千问,并实现搜索功能。

引入依赖

首先,我们需要在pom.xml文件中添加以下依赖项:

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-open-api-core</artifactId>
    <version>4.2.6</version>
</dependency>
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-open-api-common</artifactId>
    <version>4.2.6</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

配置API Key与主机名

在application.properties文件中,配置以下内容,设置通义千问的API key和主机名:

aliyun.openapi.endpoint=https://ai.aliyun.com/openapi/v4/appid/[your_app_id]/[your_endpoint]
aliyun.openapi.private_key=your_private_key
aliyun.openapi.host=[your_host]
  • 1
  • 2
  • 3

其中,[your_app_id]和[your_endpoint]分别代表通义千问的应用ID和请求端点,需要根据实际情况进行填写。

Java代码调用

在Controller类中,添加以下方法来调用通义千问的API:

@RestController
@RequestMapping("/api")
public class MyController {
    @Autowired
    private MyService myService;

    @GetMapping("/search")
    public String search(@RequestParam String query) {
        List<Hello> helloList = myService.search(query);
        String helloString = String.format("{%s}", helloList);
        return helloString;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

其中,MyService是自定义的服务类,需要根据实际情况进行编写。

在myService类中,添加以下方法来调用通义千问的API:

public List<Hello> search(String query) {
    String url = "https://ai.aliyun.com/openapi/v4/appid/[your_app_id]/[your_endpoint]?query=" + query;
    List<Hello> helloList = null;
    try {
        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();
        con.setRequestMethod("GET");
        if (con.getResponseCode() != 200) {
            return null;
        }
        BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuilder response = new StringBuilder();
        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();
        helloList = new Gson().fromJson(response.toString(), new TypeToken<List<Hello>>() {
        }.getType());
    } catch (Exception e) {
        e.printStackTrace();
    }
    return helloList;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

其中,[your_app_id]和[your_endpoint]分别代表通义千问的应用ID和请求端点,需要根据实际情况进行填写。

接下来,我们可以在SpringBoot应用程序中,启动HTTP服务器并打开浏览器访问http://localhost:8080/api/search,即可看到通义千问的搜索结果。

以上就是一个简单的通义千问接入示例,具体的实现方式可以根据实际情况进行调整和完善。下面是完整的代码示例:

@Configuration
public class ApplicationConfig {

    @Bean
    public EmbeddedServletContainer servletContainer() {
        TomcatEmbeddedServletContainer container = new TomcatEmbeddedServletContainer();
        container.setPort(8080);
        return container;
    }

    @Bean
    public AnnotationConfigServletWebMvcConfigurer mvcConfigurer() {
        AnnotationConfigServletWebMvcConfigurer c = new AnnotationConfigServletWebMvcConfigurer();
        c.addInterceptors(new LoggingInterceptor());
        return c;
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
@RestController
@RequestMapping("/api")
public class MyController {
    @Autowired
    private MyService myService;

    @GetMapping("/search")
    public String search(@RequestParam String query) {
        List<Hello> helloList = myService.search(query);
        String helloString = String.format("{%s}", helloList);
        return helloString;
    }
}

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoggingInterceptor());
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

在SpringBoot应用程序中,启动HTTP服务器并打开浏览器访问http://localhost:8080/api/search,即可看到通义千问的搜索结果。

以上就是一个简单的通义千问接入示例,具体的实现方式可以根据实际情况进行调整和完善。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/524638
推荐阅读
相关标签
  

闽ICP备14008679号