当前位置:   article > 正文

Spring 都支持无缝接入各个AL大模型了,你还不知道AL咋用_springai 可台连接哪些语言模型

springai 可台连接哪些语言模型

截至到2024年初,业界已经出现了多个大型语言模型,这些模型在自然语言处理(NLP)、生成文本、理解和推理等方面表现出色。以下是一些知名的大模型及其特点:

1. **GPT-4 (OpenAI)**
   - 特点:GPT-4是OpenAI推出的最新一代大型语言模型,继承了GPT-3的强大能力,并在理解深度、文本生成的自然性和准确性等方面进行了显著改进。GPT-4能够更好地理解上下文,生成更加连贯和准确的文本,同时在一些特定的任务上表现得像专家一样熟练。
   - 应用场景:内容创作、聊天机器人、编程辅助、教育、游戏设计等。

2. **LaMDA (Google)**
   - 特点:LaMDA是Google开发的一种对话型语言模型,专为生成更自然、更流畅的对话而设计。LaMDA的特点在于其能够维持长时间的对话,理解复杂的对话上下文,并生成相关且连贯的回复。
   - 应用场景:虚拟助手、客户服务机器人、娱乐和游戏中的对话生成等。

3. **ERNIE (百度)**
   - 特点:ERNIE是百度开发的一系列语言理解模型,通过融合知识图谱和大规模文本数据训练,ERNIE能够更好地理解语言中的实体和它们之间的关系。ERNIE在一些特定的NLP任务上,如问答系统和语义理解方面,展现出优异的性能。
   - 应用场景:搜索引擎、问答系统、个性化推荐等。

4. **Jurassic-1 (AI21 Labs)**
   - 特点:Jurassic-1是AI21 Labs开发的大型语言模型,旨在提供更高质量的文本生成和理解能力。Jurassic-1在处理复杂的文本理解和生成任务时表现出色,能够生成高质量、多样化的文本内容。
   - 应用场景:内容创作、数据分析、自动摘要、教育辅导等。

5. **BLOOM (Hugging Face)**
   - 特点:BLOOM是由Hugging Face领导的一个开源项目,旨在创建一个多语言、高性能的大型语言模型。BLOOM特别注重多语言能力和开放性,支持多种语言,旨在为全球用户提供高质量的语言模型服务。
   - 应用场景:多语言文本生成、自动翻译、跨文化交流辅助等。

这些模型各有特色,它们在不同的任务和应用场景中展现出各自的优势。随着技术的不断进步,未来可能会出现更多功能更强大、应用更广泛的语言模型。

那我们如何使用呢

 大名鼎鼎的spring它怎么可能不会呢,去看看它的官网吧

Spring AI 最初的重点是处理语言输入并提供语言输出的模型,最初是 OpenAI + Azure OpenAI。上表中的最后一行接受文本作为输入和输出数字,通常称为嵌入文本,表示 AI 模型中使用的内部数据结构。 Spring AI 支持嵌入,以支持更高级的用例。

Spring AI项目旨在简化包含人工智能功能的应用程序的开发,避免不必要的复杂性。

该项目从著名的 Python 项目(例如 LangChain 和 LlamaIndex)中汲取灵感,但 Spring AI 并不是这些项目的直接移植。该项目的成立相信下一波生成式人工智能应用程序不仅适用于 Python 开发人员,而且将在许多编程语言中普遍存在。

Spring AI 的核心提供了抽象,作为开发 AI 应用程序的基础。这些抽象有多种实现,可以通过最少的代码更改轻松进行组件交换。

Spring AI 提供以下功能:

  • 支持所有主要模型提供商,例如 OpenAI、Microsoft、Amazon、Google 和 Huggingface。

  • 支持的模型类型包括“聊天”和“文本到图像”,还有更多模型类型正在开发中。

  • 跨 AI 提供商的可移植 API,用于聊天和嵌入模型。支持同步和流 API 选项。还支持下拉访问模型特定功能。

  • AI 模型输出到 POJO 的映射。

  • 支持所有主要矢量数据库提供商,例如 Apache Cassandra、Azure 矢量搜索、Chroma、Milvus、Neo4j、PostgreSQL/PGVector、PineCone、Qdrant、Redis 和 Weaviate

  • 跨 Vector Store 提供商的可移植 API,包括同样可移植的新颖的类似 SQL 的元数据过滤器 API。

  • 函数调用

  • AI 模型和向量存储的 Spring Boot 自动配置和启动器。

  • 数据工程的 ETL 框架

 简单DEMO演示

环境 idea     jdk 17  maven 

引入pom

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <parent>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-parent</artifactId>
  8. <version>3.2.3</version>
  9. <relativePath/> <!-- lookup parent from repository -->
  10. </parent>
  11. <groupId>com.example</groupId>
  12. <artifactId>ai-openai-helloworld</artifactId>
  13. <version>0.0.1-SNAPSHOT</version>
  14. <name>ai-openai-helloworld</name>
  15. <description>Simple AI Application using bOpenAPI Service</description>
  16. <properties>
  17. <java.version>17</java.version>
  18. </properties>
  19. <dependencyManagement>
  20. <dependencies>
  21. <dependency>
  22. <groupId>org.springframework.ai</groupId>
  23. <artifactId>spring-ai-bom</artifactId>
  24. <version>0.8.1</version>
  25. <type>pom</type>
  26. <scope>import</scope>
  27. </dependency>
  28. </dependencies>
  29. </dependencyManagement>
  30. <dependencies>
  31. <dependency>
  32. <groupId>org.springframework.boot</groupId>
  33. <artifactId>spring-boot-starter-web</artifactId>
  34. </dependency>
  35. <dependency>
  36. <groupId>org.springframework.boot</groupId>
  37. <artifactId>spring-boot-starter-actuator</artifactId>
  38. </dependency>
  39. <dependency>
  40. <groupId>org.springframework.ai</groupId>
  41. <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
  42. </dependency>
  43. <dependency>
  44. <groupId>org.springframework.boot</groupId>
  45. <artifactId>spring-boot-starter-test</artifactId>
  46. <scope>test</scope>
  47. </dependency>
  48. </dependencies>
  49. <build>
  50. <plugins>
  51. <plugin>
  52. <groupId>org.springframework.boot</groupId>
  53. <artifactId>spring-boot-maven-plugin</artifactId>
  54. </plugin>
  55. </plugins>
  56. </build>
  57. <repositories>
  58. <repository>
  59. <id>spring-milestones</id>
  60. <name>Spring Milestones</name>
  61. <url>https://repo.spring.io/milestone</url>
  62. <snapshots>
  63. <enabled>false</enabled>
  64. </snapshots>
  65. </repository>
  66. <repository>
  67. <id>spring-snapshots</id>
  68. <name>Spring Snapshots</name>
  69. <url>https://repo.spring.io/snapshot</url>
  70. <releases>
  71. <enabled>false</enabled>
  72. </releases>
  73. </repository>
  74. </repositories>
  75. </project>
  1. @RestController
  2. public class SimpleAiController {
  3. private final ChatClient chatClient;
  4. @Autowired
  5. public SimpleAiController(ChatClient chatClient) {
  6. this.chatClient = chatClient;
  7. }
  8. @GetMapping("/ai/simple")
  9. public Map<String, String> completion(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {
  10. return Map.of("generation", chatClient.call(message));
  11. }
  12. }
  1. package org.springframework.ai.openai.samples.helloworld;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. @SpringBootApplication
  5. public class Application {
  6. public static void main(String[] args) {
  7. SpringApplication.run(Application.class, args);
  8. }
  9. }
spring.ai.openai.api-key=API-KEY

API-KEY某宝购买

访问方式:http://localhost:8080/ai/simple?message = "你是谁"

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

闽ICP备14008679号