史上最详细的使用Claude和接入Claude-api教程

news2024/11/25 8:21:55

是什么(What)

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

为什么(Why)

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

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

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

怎么做(How)

目前Claude 已经被置入一款团队协作沟通应用 Slack 中,目前可以免费使用。但我们今天的重点是教大家如何在自己应用程序中接入Claude。

第一步:注册Slack

slack官网地址:点我跳转
在这里插入图片描述
注册时尽量选择使用google的gmail邮箱,后续操作的成功率高。不要使用qq等国产邮箱。

第二步:创建工作区

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
至此,工作区就创建好了

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

点击Slack-Claude 官方网址(请自备梯子)
这个链接还可以通过以下操作找到:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
授权添加Claude到Slack
在这里插入图片描述
出现这个界面,请自行切换节点,尝试使用全局代理,切换无痕浏览等方法
出现以上界面,说明当前ip被封锁了。请自行切换节点,尝试使用全局代理,切换无痕浏览等方法。
换了个浏览器,果然好了。点击允许,出现Success就成功了
在这里插入图片描述

第四步:开通高级功能

回到工作区页面,左侧会自动出现Claude应用,此时聊天会发现Claude是不会回复任何消息的。
解决方案:点击左侧Slack Connect,没有这个选项的话,就点击浏览Slack,在下拉框里找到Slack Connect
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
社区小伙伴的经历告诉我,这个地方有的账户没有免费试用的机会,但我创建了几个工作区了,都可以免费试用,可能是因为试用的gmail邮箱吧。没有就重新注册新账号,或新建工作区走流程尝试,有钱就无所谓。所以前面注册时会让你尽量使用gmail邮箱。
在这里插入图片描述在这里插入图片描述
现在左侧会出现刚才新建的频道
在这里插入图片描述
然后我们为这个频道添加Claude应用
在这里插入图片描述
在这里插入图片描述
进入刚建的频道,激活高级功能
在这里插入图片描述
现在就可以愉快的和Claude聊天啦
在这里插入图片描述
你以为到这里就完了?如果你仅仅想体验Claude和利用它为你提供一些帮助,那确实到这里就完了。

第五步:接入Api

那么怎么接入呢?都知道 Claude 暂时还没开放 API 的测试,不过还是有办法接入 Claude 的。

0、开发

我们使用 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
  }
}

1、授权以及获取user-token

  • 进入slack官网并登录
  • 进入api配置页面点我跳转
  • 点击页面右上角Your apps
  • 点击Create an App
  • 点击From scratsh
    在这里插入图片描述
  • 输入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
    在这里插入图片描述

2、获取claude appid

在这里插入图片描述

第六步:测试在这里插入图片描述

加入上下文对话
在这里插入图片描述
点击右上角发布,复制左侧链接,即可在前端任何地方调用啦!

写在最后

如果你也想接入claude,可以点击这个链接报名,跟社区同学一起交流,还有机会赢取丰厚的奖品。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/586596.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java制作520表白代码——爱一个人需要理由吗?

✨博主:命运之光 ✨专栏:Java经典程序设计 520表白日,每个人都期待着浪漫的表白,而作为一名热爱编程的程序员,我决定用程序员的方式来向你表达我的爱意。 在2023年5月20日这个特殊的日子里,我要用一段特别的…

BM1684X-onnx模型转化为bmodel

1:在tpu-mlir目录下进入docker docker run --privileged --name tpu-mlir -v $PWD:/workspace -it sophgo/tpuc_dev:v2.2 原因:该镜像已创建,要么重新创建一个新进程,要么杀死老进程; 解决办法如下: 2:接着…

夜深人静学32系列17——OLED

夜深人静学32系列17——OLED OLED简介接口定义OLED驱动原理驱动函数OLED.COLED.HCubeMX配置 实战部分效果展示驱动代码 OLED简介 LED,即有机发光二极管(Organic Light-Emitting Diode),又称为有机激光显示(Organic El…

基于YOLOV5的道路损伤(GRDDC‘2020)检测

1. GRDDC2020 数据集介绍 GRDDC2020 数据集是从印度、日本和捷克收集的道路图像。包括三个部分:Train, Test1, Test2。训练集包括带有 PASCAL VOC 格式 XML 文件标注的道路图像。 缺陷类型:D00、D01、D11、D10、D20、D40、D43、D44、D50、D0w0…

Otsu阈值法原理及实现

文章目录 Otsu算法简介Otsu 算法的逻辑源码实现 欢迎访问个人网络日志🌹🌹知行空间🌹🌹 Otsu算法简介 Otsu阈值法发表于1979年,论文为A threshold selection method from gray level histograms,作者是日本东京大学的…

序列模型基础概念

一、公式定义 在时间 t t t观察到 x t x_{t} xt​,那么得到 T T T个不独立的随机变量 ( x 1 , . . . , x T ) − p ( X ) (x_{1},...,x_{T})-p(X) (x1​,...,xT​)−p(X) 由条件概率公式: p ( a , b ) p ( a ) p ( b ∣ a ) p ( b ) p ( a ∣ b ) p(a,…

chatgpt赋能python:Python中局部变量的介绍

Python中局部变量的介绍 在Python中,局部变量是在函数中定义的变量,其范围限制在该函数内部。每当函数被调用时,局部变量将被创建并且只在函数的执行期间存在。当函数执行结束时,局部变量将被销毁。 局部变量是在函数内部定义的…

代码随想录算法训练营第四十六天 | 力扣 139.单词拆分

139.单词拆分 题目 139. 单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 解析 1.确定dp数组以及下标的含义 …

Windows上GIT配置文件的位置

Git作为常见的版本控制系统。在Windows上,我偶尔在CLI上使用官方的版本: Git for Windows 。本文简单介绍Windows下的git配置文件。 系统和全局的gitconfig 配置文件因环境而异(Windows 原生的cmd、Windows shell 或 MSYS2 shell)…

chatgpt赋能python:Python中如何取消列表

Python中如何取消列表 在Python中使用列表是一种非常常见的数据结构,它允许我们在其中存储任意数量的元素,并且可以非常容易地进行遍历和操作。但是,有时候我们需要从列表中删除元素。这个过程并不难,但是有些细节需要注意。本文…

写最好的Docker安装最新版MySQL8(mysql-8.0.31)教程(参考Docker Hub和MySQL官方文档)

一、前言 MySQL官方安装包下载地址:   https://dev.mysql.com/downloads/mysql/   Docker Hub官方网址:   https://hub.docker.com/ 如果需要了解Centos7下MySQL5.7最新版的安装部署,可参考教程【最新MySQL-5.7.40在云服务器Centos7.…

《深入理解计算机系统(CSAPP)》第9章虚拟内存 - 学习笔记

写在前面的话:此系列文章为笔者学习CSAPP时的个人笔记,分享出来与大家学习交流,目录大体与《深入理解计算机系统》书本一致。因是初次预习时写的笔记,在复习回看时发现部分内容存在一些小问题,因时间紧张来不及再次整理…

chatgpt赋能python:Python中对列表求和-一篇全面介绍和使用建议的SEO文章

Python中对列表求和 - 一篇全面介绍和使用建议的SEO文章 什么是Python中的列表? 在Python中,列表(List)是一种非常有用的数据结构,它是一组有序的元素集合。列表能够存储多个元素,每个元素都可以是不同的…

Ubuntu20.04安装VMware player16.2.4,不弹出安装界面的问题

1.先在官网上下载VMware player16.2.4进行下载,Ubuntu20.04对VMware player16.2.4进行安装 2.安装完成后,应该会有如图下的弹窗界面,但是我没有 解决方法: 点击Ubuntu的VMware player的程序图标,弹窗报错:"Comma…

【Leetcode60天带刷】day03链表——203. 移除链表元素,707.设计链表,206. 反转链表

链表基础知识: 链表就像一串小火车,有一节一节的车厢,每个车厢都叫做一个节点。 单链表:每个链表车厢里有两个内容,一个放的是真正的数据,另一个放的是下一节车厢的编号。 双链表:每个链表车厢里有三个内…

chatgpt赋能python:如何在Python中取消换行?

如何在Python中取消换行? 如果你是一名经验丰富的Python工程师,你一定会遇到在输出过程中需要取消换行的情况。在本文中,我将告诉你如何使用Python取消换行。 什么是换行? 在计算机编程中,换行是指在输入文件或者输…

spring入门-bean

Spring 是一个开源的、轻量级的企业级 Java 应用程序框架,它提供了一种全新的、基于 IoC (控制反转)和 AOP(面向切面编程)的软件开发方式,以及众多的企业级应用程序开发组件和 API。使用 Spring 框架可以大…

算法02-入门算法枚举与模拟算法

文章目录 总结大纲要求枚举算法枚举思想枚举举例题目描述 统计因数题目描述 质数判定错误方法一:优化方法1: 用break实现优化优化方法2: sqrt(n) 题目描述 水仙花数题目描述 7744问题实现方法1优化方法2 题目描述 余数相同问题题目描述 特殊自…

安卓Termux搭建web服务器【公网远程手机Android服务器】

文章目录 概述1.搭建apache2.安装cpolar内网穿透3.公网访问配置4.固定公网地址5.添加站点 转载自cpolar极点云的文章:【手机建站】TermuxCpolar内网穿透,搭建可以被外网访问的网站 概述 Termux是一个Android终端仿真应用程序,用于在 Android…

代码随想录算法训练营第三十九天 | 力扣 62.不同路径, 63. 不同路径 II

62.不同路径 题目 62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多…