Claude API接入超级简单指南


**Claude简介**

Claude是Anthropic公司开发的下一代AI助手,旨在构建有用、诚实和无害的智能系统。这种类型的智能助手可以协助执行各种任务,并提供信息和建议。

Claude能够处理多种用例,包括摘要生成、搜索查询、创意写作和协作写作、问答解答、编程等。早期客户报告指出,Claude产生有害输出的可能性较低,交流更顺畅,且可调节性更强——因此,在不花太多力气的情况下就能获得满意的结果。此外,Claude可以根据个人喜好、语气和行为接受指导。

**Slack导入Claude**

通过npm调用slack的api

🤖 前言

Claude

Claude是由Anthropic公司开发的一种下一代AI助手。它的目标是创建一种有用且诚实的AI系统。这种类型的智能助手可以帮助人们执行各种任务,并提供信息和建议。

Claude能够处理多种场景,例如摘要生成、搜索查询、创意写作和协作写作、问答解答以及编程等。早期客户报告称,Claude产生的有害输出的可能性较小,交流顺畅,并可调节以满足需求——因此在不花费过多努力的情况下就能获得满意的结果。此外,Claude可以根据个人喜好、语气和行为接受指导。

**使用Slack导入Claude**

通过npm调用slack的api

在您的项目中导入Claude可以简化开发流程。首先,确保安装必要的依赖项,特别是`@anthropic/claude`,这是与Anthropic合作提供的API包。这将允许您使用npm来调用Claude。

以下是一个简单的步骤说明:

1. **安装依赖**:运行以下命令来安装所需的npm依赖:

```bash

npm install @anthropic/claude

```

2. **导入Claude**:在您的项目中使用`require`或`import`语句导入Claude,例如:

```javascript

const Claude = require("@anthropic/claude");

```

```typescript

import { Claude } from "@anthropic/claude";

```

3. **调用API**:使用导入的Claude实例来调用其功能。以下是一个简单的示例,展示如何发送一个请求并获取响应:

```javascript

const Claude = require("@anthropic/claude");

const { Claude } = Claude;

const claude = new Claude({

apiKey: "your_api_key",

});

console.log(claude.query("What is the capital of France?"));

// 输出结果:Paris

```

通过这些步骤,您可以在项目中轻松导入和使用Claude来处理各种任务。

这简短的介绍揭示了Clay关于OpenAI ChatGPT的竞争关系。至于谁更好用,其实是在比较各自使用的模型优劣。

优势如下:目前使用Clay无需像搬梯子那样操作,直接就可以访问。以下是通过Slack与🤖Claude对话的一些场景。

可以看出,Claude在中文的支持度上也很不错,甚至与ChatGPT不相上下。

我们可以通过使用Slack这个软件来安装Claude应用,并通过调用Slack API的方式来进行对话。这种方式不需要加入Claude的API等待名单。因此,每一个人都能拥有一个自己的私人AI助手。

例如,我可以接入我的个人微信公众号:

我们必须尽快开始🐱。

🎬 注册Slack

目前市面上使用Claude的方式都是通过Slack接入,我们需要了解一下Slack是什么:

Slack 是一个工作管理平台,它允许每个人利用无代码自动化和AI功能,并且能够无缝连接搜索和知识共享,确保团队保持联系和参与。在全球各地,Slack不仅受到公司的信任,也是人们首选的平台。

下面是注册链接:slack.com/get-started...

请注意!强烈建议使用谷歌邮箱进行注册,否则可能会遇到各种问题导致Claude无法正常使用。

注册完成后,我们需要首先创建一个工作区域。这个过程类似于国内的“企业微信”或“钉钉”,初期会将我们的公司作为该平台的核心,以便后续的管理和协作。

创建工作区完成后,我们点击左侧的“应用”按钮,搜索:“Claude”。然后点击“添加”。

然后这里可能看到按钮是置灰的,我们点击下方的“了解更多”

接下来,用户将会进入一个介绍页。在这个页面上,首先需要明确自己的所在位置,并且选择“阿美丽卡”这一选项(即美国)。

如果要访问其他不支持Claude的国家(如香港),将会提示“App unavailable”。切换到正确地区后,请点击“Add to Slask”,并勾选“Allow”。

在Slack的工作区内,你可以发现Claude已经成功添加了。然而,目前我们无法直接与他进行交流。为了体验Slack的高级功能,“Slack Connect”,我们接下来将继续操作。

🔧 接通Slack Connect

在Slack的左侧菜单栏中,点击“浏览 Slack”后,可以发现一个名为“Slack Connect”的选项。

然后点击创建频道:

要开始免费试用,请点击“立即免费试用”。在此过程中,无需输入任何信用卡或信息。只需继续按下一步即可。

创建一个频道,名称可以随便填。

公共或者私人都行,继续下一步。

在创建完频道后,我们将把Claude应用程序添加到这个频道中。

这里选择刚刚创建的频道。

完成后,请在频道“@”下欢迎Claude。首次@时会有提示,请点击 Agree 确认。

好的,你将拥有一个类似ChatGPT的AI助手。你可以使用@Claude的方式来和他进行交流。

这里满足了你的需求吗?作为一个程序员,如何能忍受这个Slack的限制呢?我们想要突破这些限制,通过API调用Claude来实现对话。这样就能在任何地方使用它,比如接入微信、公众号、企业微信、网页等等。未来万物AI的时代已经指日可待。

🛠️ 通过API调用Claude

在以上的步骤中我们已经实现了在Slack中通过手动@Claude来实现对话。现在我们就利用Slack提供的API服务,通过调用Slack API的方式来实现与Claude进行对话。首先登录Slack浏览器,在页面的右上角找到“Your apps”,点击:“Create your first app”。

然后进入页面中心,点击:“Create an App”。

选择:“From scratch”。

这里填写好信息,点击“Create App”。

在页面跳转后,在左侧导航栏找到【OAuth & Permissions】并滑动到页面中间:【User Token Scopes】部分。

在该部分添加以下权限:

- channels:history

- channels:read

- channels:write

- groups:history

- groups:read

- groups:write

- chat:write

- im:history

- im:write

- mpim:history

- mpim:write

总共11个权限,完成后点击【Install to Workspace】并确认授权。

我们已经拿到了应用的Token了,请将它复制下来。后面还会用到这个信息。

现在也获得了Claude ID(请复制并保存)。

接下来我们需要收集到以下必要的信息:

1. App Token

2. claude ID

在最后一步骤时,我们不需要借助云服务器。只需前往Laf云函数网站,输入相应的代码即可完成操作。你可能还不知道Laf是什么?让我来给你解释一下:

Laf是一款由一家名为LaF的初创公司开发的自动化工具,专为开发者和小型团队设计。它提供了一系列服务,包括但不限于自动化测试、API管理、数据同步等。Laf的核心理念是帮助用户提高工作效率,降低运维成本。通过Laf,你可以轻松实现任务自动化处理,提升软件产品的稳定性和用户体验。

Laf是一款集成了功能、数据库和存储为一体的云端开发平台。

有了Laf后,我们无需为昂贵的服务器支付费用,也无需掌握复杂的服务器运维知识。只需:创建,粘贴,发布。你猜对了!这三点操作就能完成服务接口的构建。是不是挺简单的?心动不如行动,现在去免费注册并创建一个能支持Claude功能的云函数吧。

点击“新建”按钮后,就可以看到Laf为我们提供的免费云函数选项。

创建好之后,我们点击“开发”,进入云函数的编辑页面:

请在NPM依赖栏内添加一个名为`claude-api-slack`的包。完成此操作后,请记得保存更改并重新启动应用。

首先,我们将在云功能中进行添加。只需在左侧的功能列表中点击右下角的"添加"按钮。在此过程中,请随意输入一个名称。接下来,我们需要设定请求方式,可以选择GET或POST。最后,确认设置并保存更改。

要在中间代码区域直接粘贴以下代码,请确保把步骤收集到的【slack应用token】【Claude的ID】【频道名称】填入相应的位置。

```javascript

import cloud from '@lafjs/cloud';

export default async function (ctx: FunctionContext) {

const { question, conversationId } = ctx.query;

return await askCluadeAPi(question, conversationId);

}

async function askCluadeAPi(question, conversationId) {

// slack应用的token

const token = '';

// claude的ID

const bot = '';

// 频道名称,开头不用加#

const chatId = 'channel_name';

// 初始化claude

const { Authenticator } = await import('claude-api-slack');

// 使用缓存保存客户端,避免每次提问都创建新会话

let claudeClient = cloud.shared.get('claudeClient');

if (!claudeClient) {

claudeClient = new Authenticator(token, bot);

cloud.shared.set('claudeClient', claudeClient);

}

// 创建频道并返回房间ID:chatId

const channel = await claudeClient.newChannel(chatId);

let result;

if (conversationId) {

result = await claudeClient.sendMessage({

text: question,

channel,

conversationId,

onMessage: (originalMessage) => {

console.log("loading", originalMessage);

}

});

} else {

result = await claudeClient.sendMessage({

text: question,

channel,

onMessage: (originalMessage) => {

// console.log("loading", originalMessage); // 这里是多余的,不影响结果

console.log("loading", originalMessage);

}

});

}

console.log("success", result);

return {

code: 0,

msg: result.text,

conversationId: result.conversationId

};

}

// 检测云函数是否成功运行

const testResult = await askCluadeAPi('测试问题', 'test_conversation');

if (testResult.code === 0) {

console.log("云函数运行成功");

} else {

console.error("云函数运行失败", testResult);

}

```

注意:`chatId` 这个变量的值是频道的名称,并不是频道的ID。

然后我们在Slack中也可以看到这个调试信息:

最后我们在Laf的顶部拿到这个云函数的URL:

我们通过请求URL并传入question和conversationId参数来实现上下文衔接功能,在Laf云函数中这个功能的作用就非常明确了。当你调用这个函数时,它会自动帮我们@Claude,并附带相关信息,最后将Claude的回复塞入响应信息中返回给你。

总结一下,通过以上的几个步骤,我们学会了在Slack中导入Claude智能AI助手应用,并试用了Slack Connect服务。这使得Claude能被添加到频道中,通过URL实现与Claude的对话功能。整个过程无需购买云服务器,也不需要了解运维知识。可以说对于入门或接触新型AI应用来说,门槛非常低。

Laf是一款Serverless的产品,这意味着开发者无需去学习服务器相关的内容,只需专注于开发。现在我们已经实现了接入Claude的API接口,接下来就是将其接入到我们的各类应用中,比如微信公众号、企业微信等。

我将在之后写一篇关于如何将Claude接入到企业微信或微信公众号等各类应用的文章,请麻烦您三连支持,您的支持是我最大的创作动力。