首先我们介绍一下今天的主角 Claude

Claude 是最近新开放的一款 AI 聊天机器人,是世界上最大的语言模型之一,比之前的一些模型如 GPT-3 要强大得多,因此 Claude 被认为是 ChatGPT 最有力的竞争对手。Claude 的研发公司是专注人工智能安全和研究的初创公司 Anthropic,由前 OpenAI 员工共同创立的。今年 3 月份 Anthropic 获得了谷歌 3 亿美元的投资,谷歌也因此获得其 10% 股份。

据官方介绍,Claude 的核心模型经由训练,目标是变得有用、诚实和无害。此外 Claude 更能理解和接受自然语言,和它对话无需复杂的技巧,可以轻松得到详细且易于理解的答案。

与 ChatGPT 等大型语言模型一样,Claude 的应用场景非常广泛,信息搜索、内容总结摘要、写作协助、创意生成、问答、编程这些任务它都能轻松完成。目前 Claude 已经被应用在多个知名产品中,比如知识笔记工具 Notio AI 就是用 Claude 协助用户进行智能写作,国外问答社区 Quora 也在自己的 AI 聊天应用程序 Poe 中置入了 Claude。

划重点:Claude 是免费的,至少目前是这样

了解完后我们开始操作

第一步:注册Slack

slack官网地址:https://slack.com/

注册时尽量选择使用 google 的 gmail 邮箱,后续操作的成功率高。不要使用 qq 等国产邮箱。

第二步:创建工作区

工作区是一个独立的协作环境,每个工作区有自己的渠道(Channels)、成员、权限设置等。不同工作区之间彼此隔离,成员和资源不共享。









至此,工作区就创建好了!

第三步:添加Claude应用到工作区(这一步需要魔法)

打开 Slack-Claude 官方网址(请自备梯子): https://www.anthropic.com/claude-in-slack

然后授权添加 Claude 到 Slack。

如果出现以下界面,说明当前 ip 被封锁了。请自行切换节点,尝试使用全局代理,切换无痕浏览等方法。

换了个浏览器,果然好了。点击允许,出现 Success 就成功了。

第四步:开通高级功能

回到工作区页面,左侧会自动出现 Claude 应用,此时聊天会发现 Claude 是不会回复任何消息的。

解决方案:点击左侧 Slack Connect,没有这个选项的话,就点击浏览 Slack,在下拉框里找到 Slack Connect。





社区小伙伴的经历告诉我,这个地方有的账户没有免费试用的机会,但我创建了几个工作区了,都可以免费试用,可能是因为试用的 gmail 邮箱吧。没有就重新注册新账号,或新建工作区走流程尝试,有钱就无所谓。所以前面注册时会让你尽量使用 gmail 邮箱。



创建完毕之后在左侧找到刚刚新建的频道,然后我们为这个频道添加 Claude 应用。





添加完毕后进入刚建的频道,激活高级功能。

OK 到这一步,你已经可以愉快的在 Slack 中和 Claude 聊天啦,但我们的目的是在自己的项目中接入,所以还需要稍微的再操作一下!

第五步:接入 API

虽然 Claude 暂时还没开放 API ,我们可以用一点其他的办法。

我们使用 Laf 提供的云函数接入api,开发速度更快。2023年了,如果你还不知道 Laf,那我只能再讲一遍了。

Laf 是一个 Serverless 框架,提供开箱即用的云函数,云数据库,对象存储等能力,是一个非常干净清爽的开发平台,不仅入门简单,还能像写博客一样写代码!life is short, you need laf:)

官网(国内):https://laf.run

官网(海外):https://laf.dev

下面让我们开始操作~

创建云函数

添加依赖claude-api-slack

写入以下代码

这段代码很简单,看注释就懂了。除了云函数部分,主要代码在普通 nodejs 中也同样适用。

import cloud from '@lafjs/cloud'

// 云函数入口代码
// 接收一个question,和一个可选的上下文id:conversationId
export default async function (ctx: FunctionContext) {
const { question, conversationId } = ctx.query
return await askCluadeAPi(question, conversationId)
}
// 调用api的主要代码
async function askCluadeAPi(question, conversationId) {
// 见以下第一个步骤,授权以及获取user-token 步骤
const token = 'xoxp-xxxxxx'
// 见以下第二个步骤,获取claude appid
const bot = 'U0xxxxxx'
// chatId就是工作区间里新建的渠道。channel名称
const chatId = 'ai聊天' // 初始化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:channel
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
}
}

授权以及获取user-token

  • 输入 App Name,选择前面创建的工作空间,点击 Create App

  • 点击左侧边栏的 OAuth & Permissions
  • 找到 Scopes 模块下的 User Token Scopes,点击 Add an OAuth Scopes 按钮,依次搜索添加以下权限
channels:history
channels:read
channels:write
groups:history
groups:read
groups:write
chat:write
im:history
im:write
mpim:history
mpim:write

注意:这里的搜索是模糊搜索,选择权限时不要搞错了

  • 点击OAuth Tokens for Your Workspace下的Install to Workspace按钮,确认授权

至此,你就拥有了一串User OAuth Token,找到OAuth Tokens for Your Workspace

获取 claude appid

第六步:测试



ok 写到这里,我们只需要点击右上角的发布,就可以在任何地方调用这个云函数,把 claude 接入到自己的项目中了!

如果你也想接入 claude ,可以点击这个链接(https://forum.laf.run/d/648) 报名,跟社区同学一起交流,还有机会赢取丰厚的奖品。

三分钟免费将 Claude API 接入个人服务的更多相关文章

  1. APISpace 分钟级降水预报API接口 免费好用

    各种不同类型的降水对国民经济和国防建设会产生不同的影响.无论农业生产.航空.航海.交通运输.水利建设.防涝防旱等都需要以及准确的降水预报.   分钟级降水预报API,支持国内任一经纬度的预报数据,实时 ...

  2. 【活动公告】Hackathon —— 腾讯云AI API接入迷你赛

    一. 活动简介 编程马拉松(Hackathon)是将热爱软硬件开发的人聚集起来所举办的一项比赛,本次活动由腾讯云AI联合云+社区发起,希望让广大开发者体验到腾讯云AI的魅力.比赛过程中,参赛者可以尽情 ...

  3. 三分钟快速上手TensorFlow 2.0 (下)——模型的部署 、大规模训练、加速

    前文:三分钟快速上手TensorFlow 2.0 (中)——常用模块和模型的部署 TensorFlow 模型导出 使用 SavedModel 完整导出模型 不仅包含参数的权值,还包含计算的流程(即计算 ...

  4. 三分钟部署Laxcus大数据管理系统

    Laxcus是Laxcus大数据实验室历时五年,全体系自主设计研发的国内首套大数据管理系统.能够支撑百万台级计算机节点,提供EB量级存储和计算能力,兼容SQL和关系数据库.最新的2.x版本已经实现对当 ...

  5. 微信公众平台开发,API接入与推送事件(1)

    博客好久没有更新了,今天说说微信开发.微信开发的好多初学者都会又这样的迷惑,微信开发到底是什么?其实微信开发本质我和我们的网站开发没有太大的区别.我们常说的微信开发也就是公众号开,微信公众号分为三个类 ...

  6. 三分钟上手Highcharts简易甘特图

    根据业务需求,找到了这个很少使用的图形,话不多说,看看该如何使用.首先要引入支持文件:可根据链接下载. exporting.js:https://img.hcharts.cn/highcharts/m ...

  7. 微信企业红包api接入

    项目描述:基于微信浏览器的H5页面,接入微信支付接口和微信红包接口 一.接入前准备条件 1.微信公众号 需要基于已认证的微信公众号承载该H5页面.该条件默认已具备,本文重点为红包接口. 2.微信支付商 ...

  8. [转]三分钟学会.NET Core Jwt 策略授权认证

    [转]三分钟学会.NET Core Jwt 策略授权认证 一.前言# 大家好我又回来了,前几天讲过一个关于Jwt的身份验证最简单的案例,但是功能还是不够强大,不适用于真正的项目,是的,在真正面对复杂而 ...

  9. 三分钟快速上手TensorFlow 2.0 (中)——常用模块和模型的部署

    本文学习笔记参照来源:https://tf.wiki/zh/basic/basic.html 前文:三分钟快速上手TensorFlow 2.0 (上)——前置基础.模型建立与可视化 tf.train. ...

  10. 三分钟快速上手TensorFlow 2.0 (上)——前置基础、模型建立与可视化

    本文学习笔记参照来源:https://tf.wiki/zh/basic/basic.html 学习笔记类似提纲,具体细节参照上文链接 一些前置的基础 随机数 tf.random uniform(sha ...

随机推荐

  1. Linux环境下使用jsoncpp

    目录 1. 下载jsoncpp 2. 生成静态库libjsoncpp.a 3. 复制相关文件至/usr/local下(方便编程) 4. CMakeList.txt编写(需要新增的) 1. 下载json ...

  2. 第一部分:介绍 Spdlog 日志库

    什么是 Spdlog 日志库 Spdlog 是一个 C++ 的日志库,它具有高效.易用.跨平台等特点.它可以写入到控制台.文件等输出目标,支持多种日志级别.多线程安全等功能,非常适合在 C++ 项目中 ...

  3. webgl 系列 —— 着色器语言

    其他章节请看: webgl 系列 着色器语言 本篇开始学习着色器语言 -- GLSL全称是 Graphics Library Shader Language (图形库着色器语言) GLSL 是一门独立 ...

  4. mongo操作数据库

    1.回顾 2.node + mongodb 2.1 安装mongodb 项目中既可以使用mongodb,但是推荐使用mongoose cnpm i mongoose@4 -S 2.2 连接数据库 一定 ...

  5. 一款针对EF Core轻量级分表分库、读写分离的开源项目

    在项目开发中,如果数据量比较大,比如日志记录,我们往往会采用分表分库的方案:为了提升性能,把数据库查询与更新操作分开,这时候就要采用读写分离的方案. 分表分库通常包含垂直分库.垂直分表.水平分库和水平 ...

  6. pywin32获取键盘状态,附带键位码

    import win32apiimport win32con win32con.VK_CAPITAL # 20获取Caps Lock键编码 win32api.GetKeyState(win32con. ...

  7. python调用打印机打印文件,图片,pdf等

    引言 python连接打印机进行打印,可能根据需求的不同,使用不同的函数模块. 如果你只是简单的想打印文档,比如office文档,你可以使用ShellExecute方法,对于微软office的文档.p ...

  8. day117:MoFang:宠物栏的功能实现&宠物道具的使用

    目录 1.宠物栏的功能实现 2.宠物道具的使用 1.宠物栏的功能实现 1. 宠物的显示 2. 宠物的使用 3. 宠物的饱食度 4. 宠物的开锁 1.服务端提供显示宠物的api接口 orchard/so ...

  9. Git提交代码仓库的两种方式

    目录 一: 两种本地与远程仓库同步 1 git 远程仓库 提交本地版本库操作 提交到远程版本库操作 1.Git 全局设置: 2.增加一个远程仓库地址 3.查询当前存在的远程仓库 5.本地版本库内容提交 ...

  10. SpringBoot自定义cron表达式注册定时任务

    springBoot自定义cron表达式注册定时任务 一.原理 1.使用Spring自带的TaskScheduler注册任务 2.注册后返回:ScheduledFuture,用于取消定时任务 3.注册 ...