如何用 Laf 接入 ChatGPT 最強競爭對手 Claude?
Laf 公眾號已接入了 AI 聊天機器人,支持 GPT、Claude 以及 Laf 專有模型,可通過指令來隨意切換模型。歡迎前來調(diào)戲??
<<< 左右滑動見更多 >>>
首先我們介紹一下今天的主角 Claude
Claude 是最近新開放的一款 AI 聊天機器人,是世界上最大的語言模型之一,比之前的一些模型如 GPT-3 要強大得多,因此 Claude 被認為是 ChatGPT 最有力的競爭對手。Claude 的研發(fā)公司是專注人工智能安全和研究的初創(chuàng)公司 Anthropic,由前 OpenAI 員工共同創(chuàng)立的。今年 3 月份 Anthropic 獲得了谷歌 3 億美元的投資,谷歌也因此獲得其 10% 股份。
據(jù)官方介紹,Claude 的核心模型經(jīng)由訓練,目標是變得有用、誠實和無害。此外 Claude 更能理解和接受自然語言,和它對話無需復雜的技巧,可以輕松得到詳細且易于理解的答案。
與 ChatGPT 等大型語言模型一樣,Claude 的應用場景非常廣泛,信息搜索、內(nèi)容總結(jié)摘要、寫作協(xié)助、創(chuàng)意生成、問答、編程這些任務它都能輕松完成。目前 Claude 已經(jīng)被應用在多個知名產(chǎn)品中,比如知識筆記工具 Notio AI 就是用 Claude 協(xié)助用戶進行智能寫作,國外問答社區(qū) Quora 也在自己的 AI 聊天應用程序 Poe 中置入了 Claude。
劃重點:Claude 是免費的,至少目前是這樣
了解完后我們開始操作
第一步:注冊Slack
?slack官網(wǎng)地址:https://slack.com/
注冊時盡量選擇使用 google 的 gmail 郵箱,后續(xù)操作的成功率高。不要使用 qq 等國產(chǎn)郵箱。
第二步:創(chuàng)建工作區(qū)
?工作區(qū)是一個獨立的協(xié)作環(huán)境,每個工作區(qū)有自己的渠道(Channels)、成員、權限設置等。不同工作區(qū)之間彼此隔離,成員和資源不共享。





至此,工作區(qū)就創(chuàng)建好了!
第三步:添加Claude應用到工作區(qū)(這一步需要魔法)
打開 Slack-Claude 官方網(wǎng)址(請自備梯子): https://www.anthropic.com/claude-in-slack
然后授權添加 Claude 到 Slack。
如果出現(xiàn)以下界面,說明當前 ip 被封鎖了。請自行切換節(jié)點,嘗試使用全局代理,切換無痕瀏覽等方法。
換了個瀏覽器,果然好了。點擊允許,出現(xiàn) Success 就成功了。
第四步:開通高級功能
回到工作區(qū)頁面,左側(cè)會自動出現(xiàn) Claude 應用,此時聊天會發(fā)現(xiàn) Claude 是不會回復任何消息的。
解決方案:點擊左側(cè) Slack Connect,沒有這個選項的話,就點擊瀏覽 Slack,在下拉框里找到 Slack Connect。



社區(qū)小伙伴的經(jīng)歷告訴我,這個地方有的賬戶沒有免費試用的機會,但我創(chuàng)建了幾個工作區(qū)了,都可以免費試用,可能是因為試用的 gmail 郵箱吧。沒有就重新注冊新賬號,或新建工作區(qū)走流程嘗試,有錢就無所謂。所以前面注冊時會讓你盡量使用 gmail 郵箱。


創(chuàng)建完畢之后在左側(cè)找到剛剛新建的頻道,然后我們?yōu)檫@個頻道添加 Claude 應用。



添加完畢后進入剛建的頻道,激活高級功能。
OK 到這一步,你已經(jīng)可以愉快的在 Slack 中和 Claude 聊天啦,但我們的目的是在自己的項目中接入,所以還需要稍微的再操作一下!
第五步:接入 API
?雖然 Claude 暫時還沒開放 API ,我們可以用一點其他的辦法。
我們使用 Laf 提供的云函數(shù)接入api,開發(fā)速度更快。2023年了,如果你還不知道 Laf,那我只能再講一遍了。
?Laf 是一個 Serverless 框架,提供開箱即用的云函數(shù),云數(shù)據(jù)庫,對象存儲等能力,是一個非常干凈清爽的開發(fā)平臺,不僅入門簡單,還能像寫博客一樣寫代碼!life is short, you need laf:)
??官網(wǎng)(國內(nèi)):https://laf.run
??官網(wǎng)(海外):https://laf.dev
下面讓我們開始操作~
創(chuàng)建云函數(shù)
添加依賴claude-api-slack
寫入以下代碼這段代碼很簡單,看注釋就懂了。除了云函數(shù)部分,主要代碼在普通 nodejs 中也同樣適用。
import cloud from '@lafjs/cloud'
// 云函數(shù)入口代碼
// 接收一個question,和一個可選的上下文id:conversationId
export default async function (ctx: FunctionContext) {
const { question, conversationId } = ctx.query
return await askCluadeAPi(question, conversationId)
}
// 調(diào)用api的主要代碼
async function askCluadeAPi(question, conversationId) {
// 見以下第一個步驟,授權以及獲取user-token 步驟
const token = 'xoxp-xxxxxx'
// 見以下第二個步驟,獲取claude appid
const bot = 'U0xxxxxx'
// chatId就是工作區(qū)間里新建的渠道。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)
}
// 創(chuàng)建頻道并返回房間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
-
進入slack官網(wǎng)并登錄(https://slack.com/) -
進入api配置頁面(https://api.slack.com/) -
點擊頁面右上角 Your apps -
點擊 Create an App -
點擊 From scratsh
-
輸入 App Name,選擇前面創(chuàng)建的工作空間,點擊 Create App
-
點擊左側(cè)邊欄的 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 寫到這里,我們只需要點擊右上角的發(fā)布,就可以在任何地方調(diào)用這個云函數(shù),把 claude 接入到自己的項目中了!
如果你也想接入 claude ,可以點擊這個鏈接(https://forum.laf.run/d/648) 報名,跟社區(qū)同學一起交流,還有機會贏取豐厚的獎品。
關于 Laf
Laf 是一款為所有開發(fā)者打造的集函數(shù)、數(shù)據(jù)庫、存儲為一體的云開發(fā)平臺,助你像寫博客一樣寫代碼,隨時隨地發(fā)布上線應用!3 分鐘上線 ChatGPT 應用!
??GitHub:https://github.com/labring/laf
??官網(wǎng)(國內(nèi)):https://laf.run
??官網(wǎng)(海外):https://laf.dev
??開發(fā)者論壇:https://forum.laf.run
關注 Laf 公眾號與我們一同成長??????
