GitHub 模型
注
这是 GitHub 模型
集成的文档,使用 Azure AI 推理 API 来访问 GitHub 模型。
LangChain4j 提供了四种不同的与 OpenAI 的集成方式,用于使用聊天模型,以下是第四种:
- OpenAI 使用 OpenAI REST API 的自定义 Java 实现,最适合与 Quarkus(因为它使用 Quarkus REST 客户端)和 Spring(因为它使用 Spring 的 RestClient)一起使用。
- OpenAI 官方 SDK 使用 OpenAI 官方 Java SDK。
- Azure OpenAI 使用 Microsoft 的 Azure SDK,最适合使用 Microsoft Java 技术栈,包括高级 Azure 认证机制。
- GitHub 模型 使用 Azure AI 推理 API 来访问 GitHub 模型。
如果您想开发一个生成式 AI 应用程序,您可以免费使用 GitHub 模型来查找和实验 AI 模型。一旦您准备将应用程序投入生产,您可以切换到付费 Azure 账户的令牌。
GitHub 模型文档
Maven 依赖
纯 Java
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-github-models</artifactId>
<version>1.5.0-beta11</version>
</dependency>
GitHub 令牌
要使用 GitHub 模型,您需要使用 GitHub 令牌进行身份验证。
令牌在 GitHub 开发者设置 > 个人访问令牌 中创建和管理。
获得令牌后,您可以将其设置为环境变量并在代码中使用:
export GITHUB_TOKEN="<your-github-token-goes-here>"
使用 GitHub 令牌创建 GitHubModelsChatModel
纯 Java
GitHubModelsChatModel model = GitHubModelsChatModel.builder()
.gitHubToken(System.getenv("GITHUB_TOKEN"))
.modelName("gpt-4o-mini")
.build();
这将创建一个 GitHubModelsChatModel
实例。模型参数(例如 temperature
)可以通过在 GitHubModelsChatModel
的构建器中提供值来进行自定义。
Spring Boot
创建一个 GitHubModelsChatModelConfiguration
Spring Bean:
package com.example.demo.configuration.github;
import dev.langchain4j.model.chat.ChatModel;
import dev.langchain4j.model.github.GitHubModelsChatModel;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
@Configuration
@Profile("github")
public class GitHubModelsChatModelConfiguration {
@Value("${GITHUB_TOKEN}")
private String gitHubToken;
@Bean
ChatModel gitHubModelsChatModel() {
return GitHubModelsChatModel.builder()
.gitHubToken(gitHubToken)
.modelName("gpt-4o-mini")
.logRequestsAndResponses(true)
.build();
}
}
此配置将创建一个 GitHubModelsChatModel
Bean,可以被 [AI 服务](https://docs.langchain4j.dev/tutorials/spring-boot-integration/#langchain4j spring-boot-starter) 使用或在需要的地方进行自动注入,例如:
@RestController
class ChatModelController {
ChatModel chatModel;
ChatModelController(ChatModel chatModel) {
this.chatModel = chatModel;
}
@GetMapping("/model")
public String model(@RequestParam(value = "message", defaultValue = "Hello") String message) {
return chatModel.chat(message);
}
}
使用 GitHub 令牌创建 GitHubModelsStreamingChatModel
纯 Java
GitHubModelsStreamingChatModel model = GitHubModelsStreamingChatModel.builder()
.gitHubToken(System.getenv("GITHUB_TOKEN"))
.modelName("gpt-4o-mini")
.logRequestsAndResponses(true)
.build();
Spring Boot
创建一个 GitHubModelsStreamingChatModelConfiguration
Spring Bean:
package com.example.demo.configuration.github;
import dev.langchain4j.model.chat.ChatModel;
import dev.langchain4j.model.github.GitHubModelsChatModel;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
@Configuration
@Profile("github")
public class GitHubModelsStreamingChatModelConfiguration {
@Value("${GITHUB_TOKEN}")
private String gitHubToken;
@Bean
GitHubModelsStreamingChatModel gitHubModelsStreamingChatModel() {
return GitHubModelsStreamingChatModel.builder()
.gitHubToken(System.getenv("GITHUB_TOKEN"))
.modelName("gpt-4o-mini")
.logRequestsAndResponses(true)
.build();
}
}