首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Spring AI调用Ollama+DeepSeek

Spring AI调用Ollama+DeepSeek

作者头像
鱼找水需要时间
发布于 2025-06-02 01:25:37
发布于 2025-06-02 01:25:37
20300
代码可运行
举报
文章被收录于专栏:SpringBoot教程SpringBoot教程
运行总次数:0
代码可运行

Spring AI

  • Spring AI是一个AI工程领域的应用程序框架;
  • Spring AI 是 AI 工程的应用框架。其目标是将 Spring 生态系统设计原则(如可移植性和模块化设计)应用于 AI 领域,并促进使用 POJO 作为应用程序的构建块到 AI 领域。
  • 它的目标是将Spring生态系统的设计原则应用于 AI 领域,比如Spring生态系统的可移植性和模块化设计,并促进使用 POJO 作为应用程序的构建块到 AI 领域;
  • Spring AI 的核心是提供了开发 AI 大模型应用所需的基本抽象模型,这些抽象拥有多种实现方式,使得开发者可以用很少的代码改动就能实现组件的轻松替换;
  • 简言之,Spring AI 是一个 AI 工程师的应用框架,它提供了一个友好的 API 和开发 AI 应用的抽象,旨在简化 AI 大模型应用的开发工作。

官网:https://spring.io/projects/spring-ai

主要功能:

  • 第一、 对主流 AI 大模型供应商提供了支持,比如:OpenAI、DeepSeek、Microsoft、Ollama、Amazon、Google HuggingFace等。
  • 第二、 支持AI大模型类型包括:聊天、文本到图像、文本到声音等。
  • 第三、 支持主流的Embedding Models(嵌入模型)和向量数据库,比如:Azure Vector Search、Chroma、Milvus、Neo4j、Redis、PineCone、PostgreSQL/PGVector 等。
  • 第四、 把 AI 大模型输出映射到简单的 Java 对象(POJOs)上。
  • 第五、 支持了函数调用(Function calling)功能。
  • 第六、 为数据工程提供 ETL(数据抽取、转换和加载)框架。
  • 第七、 支持 Spring Boot 自动配置和快速启动,便于运行 AI 模型和管理向量库。

集成DeepSeek

申请api_key
  • 进入DeepSeek官网 https://www.deepseek.com/ 点击右上角的 API开放平台申请api_key
  • 接口文档:https://api-docs.deepseek.com/zh-cn/

注意:保持账户有余额才可以正常调用服务。

SpringBoot工程

引入依赖:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.3.8</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>org.example</groupId>
    <artifactId>springai-deepseek</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <spring-ai.version>1.0.0-M5</spring-ai.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.ai</groupId>
                <artifactId>spring-ai-bom</artifactId>
                <version>${spring-ai.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

创建配置文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server:
  port: 8899
spring:
  application:
    name: spring-ai-deepseek-demo
  ai:
    openai:
      api-key: sk-***********************************
      base-url: https://api.deepseek.com
      chat:
        options:
          model: deepseek-chat
          temperature: 0.7
  • temperature参数用于控制生成文本的多样性。具体来说: ‌值越高‌,生成的文本越多样化,但也可能包含更多的随机性和不可预测的内容。 ‌值越低‌,生成的文本越接近于确定性的结果,即生成的文本会更加一致和可预测。

创建Controller

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@RestController
public class ChatDeepSeekController {

    @Autowired
    private OpenAiChatModel chatModel;

    @GetMapping("/ai/generate")
    public String generate(@RequestParam(value = "message", defaultValue = "hello")
                           String message) {
        String response = this.chatModel.call(message);
        System.out.println("response : "+response);
        return response;
    }
}

启动类

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
略。。。。

Spring AI聊天模型

概述
  • Spring AI的聊天模型API为开发者提供了一条便捷通道,能够将强大的AI驱动的聊天完成功能无缝集成到各类应用中。借助预先训练的语言模型,如广为人知的GPT,它能够依据用户输入生成自然流畅、类人化的回复。这一API不仅工作机制高效,而且设计理念极为先进,旨在实现简单易用与高度可移植性,让开发者能以极少的代码改动在不同AI模型间自由切换,充分契合Spring框架一贯秉持的模块化与可互换性原则。
ChatClient接口

ChatClient 是一个接口,它定义了一个与聊天服务交互的客户端。这个接口主要用于创建聊天客户端对象,设置请求规范,以及发起聊天请求。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@RestController
public class ChatDeepSeekController {

    private final ChatClient chatClient;

    public ChatDeepSeekController(ChatClient.Builder chatClientBuilder) {
        this.chatClient = chatClientBuilder.build();
    }

    @GetMapping("/chat")
    public String chat(@RequestParam(value = "msg",defaultValue = "给我讲个笑话")
                           String message) {
        //prompt:提示词
        return this.chatClient.prompt()
                //用户输入的信息
                .user(message)
                //请求大模型
                .call()
                //返回文本
                .content();
    }
}
角色预设
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Configuration
public class AIConfig {
    @Bean
    public ChatClient chatClient(ChatClient.Builder builder) {
        return builder.defaultSystem("你是java编程助手,精通Java开发," +
                "你的名字叫广博。").build();
    }
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@RestController
@RequestMapping("/ai")
public class AIController {

    @Autowired
    private ChatClient chatClient;

    @GetMapping("/chat")
    public String chat(@RequestParam(value = "msg") String message) {
        return chatClient.prompt().user(message).call().content();
    }
}

测结果试

流式响应

call和stream的区别

(1)非流式输出 call:等待大模型把回答结果全部生成后输出给用户;

(2)流式输出stream:逐个字符输出,一方面符合大模型生成方式的本质,另一方面当模型推理效率不是很高时,流式输出比起全部生成后再输出大大提高用户体验。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@GetMapping(value = "/chat/stream",produces="text/html;charset=UTF-8")
public Flux<String> chatStream(@RequestParam(value = "msg") String message) {
    return chatClient.prompt().user(message).stream().content();
}
ChatModel接口

ChatModel接口作为核心,在ChatModel接口中,带有String参数的call()方法简化了实际的使用,避免了更复杂的Prompt和 ChatResponse类的复杂性。但是在实际应用程序中,更常见的是使用ChatResponse call()方法,该方法采用Prompt实例并返回ChatResponse。

ChatClient底层是使用ChatModel作为属性的,在初始化ChatClient的时候可以指定ChatModel

实现简单的对话
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@RestController
public class DeepSeekController {

    @Autowired
    private ChatModel chatModel;

    @GetMapping
    public String chat(@RequestParam("msg")String msg) {
        return chatModel.call(msg);
    }

    @GetMapping("/openai")
    public String openai(@RequestParam("msg")String msg) {
        ChatResponse call = chatModel.call(
                new Prompt(
                        msg,
                        OpenAiChatOptions.builder()
                                //可以更换成其他大模型,如Anthropic3ChatOptions亚马逊
                                .model("deepseek-chat")
                                .temperature(0.8)
                                .build()
                )
        );
        return call.getResult().getOutput().getContent();
    }
}
提示词
  • 提示词是引导大模型生成特定输出的输入,提示词的设计和措辞会极大地影响模型的响应结果
  • Prompt 提示词是与模型交互的一种输入数据组织方式,本质上是一种复合结构的输入,prompt 可以包含多组不同角色(System、User、Aissistant等)的信息。如何管理好 Prompt 是简化 AI 应用开发的关键环节。
  • Spring AI 提供了 Prompt Template 提示词模板管理抽象,开发者可以预先定义好模板,并在运行时替换模板中的关键词。在 Spring AI 与大模型交互的过程中,处理提示词首先要创建包含动态内容占位符 {占位符} 的模板,然后,这些占位符会根据用户请求或应用程序中的其他代码进行替换。在提示词模板中,{占位符} 可以用 Map 中的变量动态替换。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@GetMapping("/prompt")
public String prompt(@RequestParam("name")
                         String name,
                     @RequestParam("voice")
                         String voice){
    String userText= """
            给我推荐北京的至少三种美食
            """;
    UserMessage userMessage = new UserMessage(userText);
    String systemText= """
            你是一个美食咨询助手,可以帮助人们查询美食信息。
            你的名字是{name},
            你应该用你的名字和{voice}的饮食习惯回复用户的请求。
            """;
    SystemPromptTemplate systemPromptTemplate = new SystemPromptTemplate(systemText);
    //替换占位符
    Message systemMessage = systemPromptTemplate
            .createMessage(Map.of("name", name, "voice", voice));
    Prompt prompt = new Prompt(List.of(userMessage, systemMessage));
    List<Generation> results = chatModel.call(prompt).getResults();
    return results.stream().map(x->x.getOutput().getContent()).collect(Collectors.joining(""));
}
函数调用
  • Spring AI 的函数调用(Function Calling)功能允许大语言模型在生成回答时触发预定义的外部函数,从而实现动态数据获取或业务逻辑操作(如查询数据库、调用 API 等)。
  • SpringAI 帮我们规范了函数定义、注册等过程,并在发起模型请求之前自动将函数注入到 Prompt 中,而当模型决策在合适的时候去调用某个函数时,Spring AI 完成函数调用动作,最终将函数执行结果与原始问题再一并发送给模型,模型根据新的输入决策下一步动作。这其中涉及与大模型的多次交互过程,一次函数调用就是一次完成的交互过程。
  • 函数调用的核心流程
  • 第一步,定义函数:声明可供模型调用的函数(名称、描述、参数结构)。
  • 第二步,模型交互:将函数信息与用户输入一起发送给模型,模型决定是否需要调用函数。
  • 第三步,执行函数:解析模型的函数调用请求,执行对应的业务逻辑。
  • 第四步,返回结果:将函数执行结果返回给模型,生成最终回答。
函数调用实现

创建自定义的Function

  • 下面CalculatorService类自定义了加法和乘法运算的函数
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Configuration
public class CalculatorService {

    public record AddOperation(int a, int b) {

    }

    public record MulOperation(int m, int n) {

    }

    @Bean
    @Description("加法运算")
    public Function<AddOperation, Integer> addOperation() {
        return request -> {
            return request.a + request.b;
        };
    }

    @Bean
    @Description("乘法运算")
    public Function<MulOperation, Integer> mulOperation() {
        return request -> {
            return request.m * request.n;
        };
    }
}
  • 总结:
  • Spring AI 使自定义函数这个过程变得简单,只需定义一个返回 java.util.Function 的 @Bean 定义,并在调用 ChatModel 时将 bean 名称作为选项进行注册即可。在底层,Spring 会用适当的适配器代码包装你的函数,以便与 AI 模型进行交互,免去了编写繁琐的代码。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    @GetMapping(value = "/chat", produces = MediaType.APPLICATION_STREAM_JSON_VALUE)
    public String ragJsonText(@RequestParam(value = "userMessage") String userMessage){
        return ChatClient.builder(chatModel)
                .build()
                .prompt()
                .system("""
您是算术计算器的代理。
您能够支持加法运算、乘法运算等操作,其余功能将在后续版本中添加,如果用户问的问题不支持请告知详情。
在提供加法运算、乘法运算等操作之前,您必须从用户处获取如下信息:两个数字,运算类型。
请调用自定义函数执行加法运算、乘法运算。
请讲中文。
""")
                .user(userMessage)
                .functions("addOperation", "mulOperation")
                .call()
                .content();
    }
  • 为了让模型知道并调用你的自定义函数,您需要在 Prompt 请求中启用它,如上述代码,在functions("addOperation", "mulOperation")中告知ChatClient要使用这两个自定义函数。
  • 另外指定了System Prompt:要求AI 模型被设定为一个算术计算器代理,能够执行加法和乘法运算,并且要求用户提供两个数字和运算类型。这个提示词内容很关键,如何让AI按照自己的意图去执行,要不断测试提示词内容。

AI调用Ollama

下载并安装 Ollama

官网:https://ollama.com/

Ollama 是一个用于本地化部署和管理大型语言模型(LLM)的工具。它支持多种开源模型(如 LLaMA、Alpaca 等),并提供了简单的 API 接口,方便开发者调用。Ollama可以让你在自己的电脑上运行各种强大的 AI 模型,就像运行普通软件一样简单。

  • 模型默认安装在C盘,可以通过命令安装修改安装路径:OllamaSetup.exe /DIR=F:\software\ollama\install
  • 点击环境变量,选择下面新建一个系统环境变量 OLLAMA_MODELS ,然后指定想要安装模型的路径 ,比如 “F:\software\ollama\deepseek”
拉取 DeepSeek 模型

选择适合自己的版本 https://ollama.com/library/deepseek-r1

本地学习可以使用1.5b 比如,下载1.5b,执行下面命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ollama pull deepseek-r1:1.5b

查看本地安装了哪些模型:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ollama list

删除指定模型:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ollama rm deepseek-r1:1.5b

启动Ollama服务测试

启动 Ollama 服务,默认会监听 http://localhost:11434

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ollama run deepseek-r1:1.5b
代码测试
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.3.8</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>org.example</groupId>
    <artifactId>springai-deepseek</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <spring-ai.version>1.0.0-M5</spring-ai.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.ai</groupId>
                <artifactId>spring-ai-bom</artifactId>
                <version>${spring-ai.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <!--下载spring-ai相关包需要用到的仓库地址-->
    <repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
    </repositories>

application.yaml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server:
    port:8899
spring:
    application:
        name:spring-ai-deepseek-demo
    ai:
        ollama:
            base-url:http://localhost:11434
            chat:
                options:
                    model:deepseek-r1:1.5b
                    temperature:0.7

创建启动类

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@SpringBootApplication
public class SpringAiDemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringAiDemoApplication.class, args);
    }
}

创建Controller

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@RestController
public class ChatDeepSeekController {

    @Autowired
    private OllamaChatModel ollamaChatModel;

    @GetMapping("/ai/test")
    public String generate(@RequestParam(value = "message", defaultValue = "hello")
                           String message) {
        String response = this.ollamaChatModel.call(message);
        System.out.println("response : "+response);
        return response;
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
yarn install命令运行报错:无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 10.x
王小婷
2021/11/24
16.1K0
yarn install命令运行报错:无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
报错:Reset-AppxPackage : 无法将“Reset-AppxPackage”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如 果包括路径,请
Reset-AppxPackage : 无法将“Reset-AppxPackage”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如 果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 51 + Get-AppxPackage Microsoft.SecHealthUI -AllUsers | Reset-AppxPackage + ~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Reset-AppxPackage:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
默 语
2025/05/21
2050
报错:Reset-AppxPackage : 无法将“Reset-AppxPackage”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如 果包括路径,请
如何解决:“无法将 ‘AI’ 项识别为 cmdlet、函数、脚本文件或可运行程序的名称”问题
大家好,我是 猫头虎 🐯! 今天和大家分享一个开发中经常遇到的问题,那就是在终端或 PowerShell 中执行命令时,出现以下错误提示:
猫头虎
2024/12/25
1.8K0
vue : 无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次。
vue : 无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次。
tongyao
2022/06/09
3.7K0
vue : 无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次。
【错误记录】在 Android Studio 的 Terminal 终端执行 gradlew 报错 ( 无法将“gradlew”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称 )
在 Android Studio 的 Terminal 终端执行 gradlew 报错 , 报错信息如下 :
韩曙亮
2023/03/30
5K0
【错误记录】在 Android Studio 的 Terminal 终端执行 gradlew 报错 ( 无法将“gradlew”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称 )
cnpm : 无法将“cnpm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。所在位置 行:1 字符: 1
使用vscode终端powershell控制台查看cnpm版本或者运行cnpm的相关命令时提示如标题错误(cmd控制台提示:'cnpm' 不是内部或外部命令,也不是可运行的程序或批处理文件。)
GoodTime
2024/03/05
6.2K0
cnpm : 无法将“cnpm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。所在位置 行:1 字符: 1
php : 无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
php : 无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
OwenZhang
2021/12/08
4.7K0
php : 无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
2.Golang 热加载开发
工具 1(推荐):https://github.com/gravityblast/fresh
Devops海洋的渔夫
2023/11/20
4960
2.Golang 热加载开发
win10/win11需要使用新应用以打开此Windowsdefender链接
管理员权限打开PowerShell,依次执行如下3个命令即可,中途出现部署失败的红色提示可以无视,整个过程几分钟
默 语
2024/12/31
8300
win10/win11需要使用新应用以打开此Windowsdefender链接
从零开始学MYSQL - MYSQL安装
这个专栏也可以认为是学习笔记,由于之前的专栏学习的是网络上的培训机构教程,学习完成之后发现虽然讲到一些有一些深入的东西,但是讲的都不是特别深,所以从这一节开始将会从零开始来全盘了解MYSQL,这里找了一本书《从根上理解Mysql》,个人也十分推荐读者去看看这边书,不仅有新特性对接讲解,也有很多的干货,同时讲的也十分好,作为支持个人后面也买了一本实体书(虽然基本都是拿pdf看的)。
阿东
2021/11/02
6130
PowerShell5.X与WMI的集成 专题系列分享 第一部分
众所周知,在windows10以及Windows Server2016的平台当中,PowerShell5.x已经能够去获取到系 统当中大部分的信息,但有时候仍有一些信息需要借助于调用WMI的类来完成。通过本文,你可以 了解到WMI的基本架构和组件,包括WMI的数据库,WMI的provider,以及在PowerShell调用WMI的 时候提供的module和相关的命令。接下来我们就能通过powershell的命令去完成WMI的查询操作, 去获取到系统当中WMI的实例。然后我们还可通过实例的属性查看到系统当中不同的信息,同时的 话去调用实例当中为我们提供的不同的方法,去修改系统信息的配置。
Ms08067安全实验室
2020/12/31
9450
解决:无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
如果我们已经安装了PHP或者其他集成环境,但是在命令行执行php命令时还是报这个错误
唯一Chat
2023/02/02
3.3K0
解决:无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
python安装步骤(pycharm运行python)
你可能接下来会看到很多图片,因为我截图十分详细了每一步,保证每一个人看懂,所以图很多。中途也遇到了小问题,不要担心,我都有解决。
全栈程序员站长
2022/07/25
1.1K0
python安装步骤(pycharm运行python)
【Python】已解决:(MongoDB安装报错)‘mongo’ 不是内部或外部命令,也不是可运行的程序
在安装和配置MongoDB时,有时会遇到“‘mongo’ 不是内部或外部命令,也不是可运行的程序”的错误提示。这个错误通常发生在Windows操作系统中,当用户尝试在命令行界面(CMD)或PowerShell中运行mongo命令以启动MongoDB shell时。
屿小夏
2025/05/23
3030
一文弄懂Jupyter的配置与使用(呕心沥血版)
安装 Python。从 Python 官方网站[1]下载最新版本的 Python。
MinChess
2023/05/01
22.7K0
一文弄懂Jupyter的配置与使用(呕心沥血版)
JavaSE 编写第一个程序
介绍 JavaSE 基础的基本语法知识,不会包含特别难以理解或更深层次的内容,通俗易懂。本人是实战派,看着大幅篇章晦涩的理论,但是没有多少实践证明的书籍就头疼;同时如果知识东一点、西一点,跳跃性太大,不成体系,也比较麻烦。
全栈程序员站长
2022/09/14
6.7K0
JavaSE 编写第一个程序
硬件资料和软件资料_电脑硬件检测工具哪个好
2. BIOS报警声意义 3. BIOS自检与开机故障相关问题 5. 计算机几个常见指标的意义 6. 显卡GPU参数 7. 显示卡常见故障全面解决 8. 集成声卡常见故障及解决 9. 显示器经典故障以及处理办法 10. AMI主板代码大全(BIOS-ID)
全栈程序员站长
2022/11/01
4.9K0
Python100Days
这可能是我目前发现最好最好的Python教程了,故整理至我的博客。 原项目GitHub地址https://github.com/jackfrued/Python-100-Days
一点儿也不潇洒
2018/08/07
10K0
[PHP] 2018年终总结
========================================================================== 2018年12月29日 记录:
唯一Chat
2019/09/10
2.8K0
推荐阅读
yarn install命令运行报错:无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
16.1K0
报错:Reset-AppxPackage : 无法将“Reset-AppxPackage”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如 果包括路径,请
2050
如何解决:“无法将 ‘AI’ 项识别为 cmdlet、函数、脚本文件或可运行程序的名称”问题
1.8K0
vue : 无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次。
3.7K0
【错误记录】在 Android Studio 的 Terminal 终端执行 gradlew 报错 ( 无法将“gradlew”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称 )
5K0
cnpm : 无法将“cnpm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。所在位置 行:1 字符: 1
6.2K0
php : 无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
4.7K0
2.Golang 热加载开发
4960
win10/win11需要使用新应用以打开此Windowsdefender链接
8300
从零开始学MYSQL - MYSQL安装
6130
PowerShell5.X与WMI的集成 专题系列分享 第一部分
9450
解决:无法将“php”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
3.3K0
python安装步骤(pycharm运行python)
1.1K0
【Python】已解决:(MongoDB安装报错)‘mongo’ 不是内部或外部命令,也不是可运行的程序
3030
一文弄懂Jupyter的配置与使用(呕心沥血版)
22.7K0
JavaSE 编写第一个程序
6.7K0
硬件资料和软件资料_电脑硬件检测工具哪个好
4.9K0
Python100Days
10K0
[PHP] 2018年终总结
2.8K0
相关推荐
yarn install命令运行报错:无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
更多 >
LV.5
web前端
目录
  • Spring AI
  • 集成DeepSeek
    • 申请api_key
    • SpringBoot工程
  • Spring AI聊天模型
    • 概述
    • ChatClient接口
      • 角色预设
      • 流式响应
    • ChatModel接口
      • 实现简单的对话
      • 提示词
    • 函数调用
      • 函数调用实现
  • AI调用Ollama
    • 下载并安装 Ollama
    • 拉取 DeepSeek 模型
    • 代码测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档