Skip to content

搭建基于langchain.js的vue2项目

要在Vue 2项目中集成 langchain.js,你可以按照以下步骤进行设置和开发。langchain.js 是一个用于构建基于语言模型的应用的库,它可以帮助你轻松地与各种语言模型(如 OpenAI 的 GPT)进行交互。

1. 创建 Vue 2 项目

首先,确保你已经安装了 Node.js 和 Vue CLI。如果还没有安装 Vue CLI,可以通过以下命令安装:

bash
npm install -g @vue/cli

然后,创建一个新的 Vue 2 项目:

bash
vue create my-langchain-app

在创建项目时,选择 Vue 2 作为项目的版本。

2. 安装 langchain.js

进入项目目录并安装 langchain.js

bash
cd my-langchain-app
npm install langchain

3. 配置环境变量

为了安全地存储 API 密钥(如 OpenAI 的 API 密钥),你可以使用 .env 文件。在项目根目录下创建一个 .env 文件,并添加以下内容:

bash
VUE_APP_OPENAI_API_KEY=your_openai_api_key

确保在 .gitignore 文件中包含 .env,以避免将敏感信息提交到版本控制系统中。

4. 创建 LangChain 服务

src 目录下创建一个 services 文件夹,并在其中创建一个 langchain.js 文件。这个文件将包含与 LangChain 相关的逻辑。

javascript
// src/services/langchain.js
import { OpenAI } from "langchain/llms/openai";
import { PromptTemplate } from "langchain/prompts";
import { LLMChain } from "langchain/chains";

const openAIApiKey = process.env.VUE_APP_OPENAI_API_KEY;

const model = new OpenAI({
  openAIApiKey: openAIApiKey,
  temperature: 0.9,
});

const prompt = new PromptTemplate({
  inputVariables: ["input"],
  template: "You are a helpful assistant. {input}",
});

const chain = new LLMChain({
  llm: model,
  prompt: prompt,
});

export const generateResponse = async (input) => {
  const res = await chain.call({ input });
  return res.text;
};

5. 在 Vue 组件中使用 LangChain 服务

现在你可以在 Vue 组件中使用 generateResponse 函数来与语言模型进行交互。例如,在 src/components/HelloWorld.vue 中:

vue
<template>
  <div>
    <input v-model="inputText" placeholder="Ask something..." />
    <button @click="askModel">Ask</button>
    <p>{{ response }}</p>
  </div>
</template>

<script>
import { generateResponse } from "../services/langchain";

export default {
  data() {
    return {
      inputText: "",
      response: "",
    };
  },
  methods: {
    async askModel() {
      if (this.inputText) {
        this.response = await generateResponse(this.inputText);
      }
    },
  },
};
</script>

6. 运行项目

完成上述步骤后,你可以运行项目并测试 LangChain 的集成:

bash
npm run serve

打开浏览器并访问 http://localhost:8080,你应该能够看到一个简单的界面,允许你输入问题并从语言模型获取响应。

7. 进一步开发

你可以根据需要进一步开发项目,例如添加更多的 LangChain 功能、优化 UI、处理错误等。langchain.js 提供了丰富的功能,如链式调用、记忆管理、工具集成等,你可以根据项目需求进行扩展。

总结

通过以上步骤,你已经成功地在 Vue 2 项目中集成了 langchain.js,并能够与语言模型进行交互。你可以在此基础上继续开发,构建更复杂的应用。