> ## Documentation Index
> Fetch the complete documentation index at: https://javaai.pig4cloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Chat API 上手

在这篇文章中，我们将深入了解LangChain4j框架的高层API（AiServices），并展示如何将其与OpenAI集成，以实现简单的聊天功能。我们将讨论LangChain4j支持的各种大型语言模型（LLMs），并逐步展示如何通过示例代码实现。

## LangChain4j支持的LLMs

| 供应商                     | 流式调用 | 函数 | JSON | 多模态                            | 观测 |
| ----------------------- | ---- | -- | ---- | ------------------------------ | -- |
| Amazon Bedrock          | ✅    | ✅  |      | text                           |    |
| Anthropic               | ✅    | ✅  |      | text, image                    |    |
| Azure OpenAI            | ✅    | ✅  | ✅    | text, image                    | ✅  |
| ChatGLM                 |      |    |      | text                           |    |
| DashScope               | ✅    | ✅  |      | text, image, audio             | ✅  |
| GitHub Models           | ✅    | ✅  | ✅    | text                           | ✅  |
| Google AI Gemini        |      | ✅  | ✅    | text, image, audio, video, PDF | ✅  |
| Google Vertex AI Gemini | ✅    | ✅  | ✅    | text, image, audio, video, PDF | ✅  |
| Google Vertex AI PaLM 2 |      |    |      | text                           |    |
| Hugging Face            |      |    |      | text                           |    |
| Jlama                   | ✅    | ✅  |      | text                           |    |
| LocalAI                 | ✅    | ✅  |      | text                           |    |
| Mistral AI              | ✅    | ✅  | ✅    | text                           |    |
| Ollama                  | ✅    | ✅  | ✅    | text, image                    | ✅  |
| OpenAI                  | ✅    | ✅  | ✅    | text, image                    | ✅  |
| Qianfan                 | ✅    | ✅  |      | text                           |    |
| Cloudflare Workers AI   |      |    |      | text                           |    |
| Zhipu AI                | ✅    | ✅  |      | text, image                    | ✅  |

## LangChain4j的LLM API概述

### 核心：ChatLanguageModel 模型元信息提供

#### 1. 依赖包

在`pom.xml`中添加以下依赖：

```xml theme={"system"}
<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j</artifactId>
</dependency>
<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-open-ai</artifactId>
</dependency>
```

#### 2. 配置  ChatModel 提供模型元信息

```java theme={"system"}
@Bean
public ChatModel chatModel() {
    return OpenAiChatModel.builder()
            .apiKey(System.getenv("DASHSCOPE_KEY"))
            .modelName("qwen-turbo")
            .baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1")
            .build();
}
```

### 低级LLM API 调用

使用`ChatModel`接口与大模型进行交互。以下是接口的主要方法：

```java theme={"system"}
public interface ChatModel {
    String chat(String userMessage);
    ChatResponse chat(List<ChatMessage> messages);
}
```

```java theme={"system"}
@SpringBootTest
class SimplechatApplicationTest {

    @Autowired
    private ChatModel chatModel;

    /**
     * 测试直接使用字符串调用ChatModel
     * 验证使用简单字符串参数调用chat方法的响应
     */
    @Test
    void testChatWithStringInput() {
        //你好！很高兴能为你服务。有什么问题或需要帮助的吗？
        //你好！很高兴能为你提供帮助。有什么我可以为你做的吗？
        String generate = chatModel.chat("你好");
        System.out.println(generate);
    }
}
```

### 高级LLM API

为了简化开发，LangChain4j提供了高层API，使开发者能够更专注于业务逻辑，而无需关注底层实现细节。高层API中，`AiService` 用于定义一个集成大模型的服务。

#### 1. 定义AI Service

```java theme={"system"}
package com.pig4cloud.ai.service;

/**
 *  AI 助手接口
*/
public interface ChatAssistant {
    String chat(String userMessage);
}
```

* 声明成 Spring Bean， 注入模型

```java theme={"system"}
@Bean
public ChatAssistant chatAssistant(ChatModel chatModel) {
    return AiServices.create(ChatAssistant.class, chatModel);
}
```

#### 2. 测试

```java theme={"system"}
@SpringBootTest
class ChatAssistantTest {
    @Autowired
    private ChatAssistant chatAssistant;
    
    @Test
    void testChatAssistantMemoryCapability() {
        String chat = chatAssistant.chat("你好，我的名字叫冷冷");
        System.out.println(chat);
    }
}
```

<Card title="PIG AI应用开发平台 | 适合中大型企业构建自主可控的AI中台" icon="link" href="https://ai.pig4cloud.com">
  **为Java开发者提供全栈式AI工程化解决方案**，强类型/高可维护性架构，内置30+主流大模型支持。

  * **🔍 知识引擎体系**：RAG 知识引擎全自动化多模态解决方案
  * **📝 AI-OCR 中枢**：复杂非标场景高精度识别
  * **⚙️ 业务智能融合**：函数编排 + Chat2SQL，无缝对接现有业务系统
  * **🛡️ N维风控体系**：敏感词/IP/Token/User 规则控制引擎
</Card>

<Card title="文档有误？请协助编辑" icon="pencil" href="https://github.com/javaai-pig4cloud-com/javaai-docs/edit/main/docs/03Chat API.mdx">
  发现文档问题？点击此处直接在 GitHub 上编辑并提交 PR，帮助我们改进文档！
</Card>

<Card title="文档有误？请协助编辑" icon="pencil" href="https://github.com/javaai-pig4cloud-com/javaai-docs/edit/main/docs/03-chat-api.mdx">
  发现文档问题？点击此处直接在 GitHub 上编辑并提交 PR，帮助我们改进文档！
</Card>
