2.登錄你在服務(wù)器部署的dify后臺(tái),點(diǎn)擊頂部導(dǎo)航的工具,點(diǎn)擊“自定義”,點(diǎn)擊“創(chuàng)建自定義工具”,如下圖所示:

(1)輸入工具名稱,如:阿里云工商信息查詢…..(隨你自己取名,但一定要取一個(gè)名字)

(2)在鑒權(quán)方法那里填入appcode。點(diǎn)擊鑒權(quán)方法的下拉框,鑒權(quán)類型選擇“api key”.

健,填寫:

Authorization

值,填寫:你復(fù)制的那個(gè)appcode。

整體如下圖所示:

點(diǎn)擊保存。

(3)編寫工具swagger格式的openapi代碼。

我給大家提供我自己寫的swagger-openapi代碼示例:

{
"openapi": "3.1.0",
"info": {
"title": "天眼查-精準(zhǔn)查詢工商信息",
"description": "天眼查-精準(zhǔn)查詢工商信息",
"version": "1.0.0"
},
"tags": [

],
"paths": {
"/getCompanyBaseInfo/{CompanyNameOrCreditNo}/": {
"get": {
"operationId": "CompanyNameOrCreditNo",
"summary": "天眼查-精準(zhǔn)查詢工商信息",
"deprecated": true,
"description": "企業(yè)全稱或者全國(guó)統(tǒng)一信用代碼",
"tags": [

],
"parameters": [
{
"name": "CompanyNameOrCreditNo",
"in": "path",
"description": "企業(yè)全稱或者全國(guó)統(tǒng)一信用代碼",
"required": true,
"example": "安徽建工集團(tuán)股份有限公司",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {

}
}
}
}
},
"1101": {
"description": "輸入的名稱不合法",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {

}
}
}
}
},
"1102": {
"description": "請(qǐng)求超時(shí)",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {

}
}
}
}
},
"1103": {
"description": "服務(wù)器異常",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {

}
}
}
}
},
"1104": {
"description": "無法匹配到傳入的企業(yè)全稱",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {

}
}
}
}
},
"1105": {
"description": "系統(tǒng)繁忙",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {

}
}
}
}
}
},
"security": [

]
}
}
},
"components": {
"schemas": {

},
"securitySchemes": {

}
},
"servers": [
{
"url": "https://api.81api.com"
}
]
}

復(fù)制這段代碼到指定位置即可。如果你有一定的編碼能力,可自行優(yōu)化。

(小聲BB:其實(shí)我寫的示例代碼已經(jīng)夠用了)

代碼寫好后,點(diǎn)擊“保存”。

到這里,恭喜你,dify中構(gòu)建一個(gè)基于阿里云的工商信息查詢工具,就已經(jīng)實(shí)現(xiàn)了。

實(shí)現(xiàn)歸實(shí)現(xiàn),是騾子是馬,得拉出來溜溜,看看到底對(duì)不對(duì),能不能跑起來最重要。那么你就需要繼續(xù)往下看。

我們實(shí)操一次,用dify的workflow快速構(gòu)建一個(gè)基于工商信息查詢工具的工作流出來,并運(yùn)行這個(gè)工作流,實(shí)現(xiàn):輸入一個(gè)企業(yè)名稱,查詢?cè)撈髽I(yè)的工商信息結(jié)果。

3.構(gòu)建工作流測(cè)試我們剛創(chuàng)建的工具。

假設(shè):

我們輸入一個(gè)企業(yè)名稱,要求工作流輸出這個(gè)企業(yè)的統(tǒng)一社會(huì)信用代碼和企業(yè)名稱。

業(yè)務(wù)分析:

首先我們要分析一下我們的工作流實(shí)現(xiàn)邏輯。這個(gè)工具需要傳入一個(gè)具體的企業(yè)名稱,那么就意味著我們需要設(shè)定一個(gè)輸入字段,接收這個(gè)字段,并傳給工商信息數(shù)據(jù)去查詢,然后將查詢出來的結(jié)果做一個(gè)簡(jiǎn)單的json字段解析,最后展示出企業(yè)名稱和該企業(yè)的統(tǒng)一社會(huì)信用代碼。

(1)OK。說干就干,在“開始”組件中,建立一個(gè)字段“name”,如下圖所示:

(2)“開始”組件之后要拉出一個(gè)新的節(jié)點(diǎn),這個(gè)節(jié)點(diǎn),我們就選擇剛創(chuàng)建好的工具節(jié)點(diǎn)。

工具節(jié)點(diǎn),我們要設(shè)置一個(gè)輸入變量,選擇“開始”組件中的“name”即可。如上圖所示。

(3)工具節(jié)點(diǎn)之后再拉出一個(gè)“代碼執(zhí)行”節(jié)點(diǎn),該節(jié)點(diǎn)用于解析阿里云接口返回的json數(shù)據(jù)內(nèi)容,因?yàn)槲覀円崛〗y(tǒng)一社會(huì)信用代碼,所以我們需要通過代碼腳本提取出統(tǒng)一社會(huì)信用代碼這個(gè)參數(shù)。

(3.1)將工具節(jié)點(diǎn)的輸出變量,設(shè)置為代碼執(zhí)行局節(jié)點(diǎn)的輸入變量。

是的,你沒看錯(cuò),因?yàn)楣ぞ吖?jié)點(diǎn)的輸出,其實(shí)就是代碼節(jié)點(diǎn)的輸入,你得設(shè)置一下,不然人家不知道輸入是什么,懂了么?

我知道你是懶人,懶得手動(dòng)拼寫這個(gè)參數(shù)名,所以,你還是直接復(fù)制吧。

http_response

(3.2)寫入Python代碼,用于解析工具傳回的json代碼。代碼示例如下:

def main(http_response: str) -> dict:
import json

try:
# 嘗試解析JSON
data = json.loads(http_response)

# 嘗試提取統(tǒng)一社會(huì)信用代碼
register_no = data['data']['registerData'].get('creditNo', 'creditNo not found')

# 嘗試提取公司名稱
company_name = data['data'].get('name', 'Company Name not found')

# 構(gòu)建結(jié)果字典并返回
return {
'register_no': register_no,
'company_name': company_name
}

except json.JSONDecodeError:
# 如果JSON解析失敗,返回錯(cuò)誤信息字典
return {'error': "Failed to decode JSON"}
except KeyError as e:
# 如果缺少某個(gè)鍵,返回錯(cuò)誤信息字典
return {'error': f"Missing key in JSON data: {e}"}

如圖所示,你參考下,別弄錯(cuò)了哦。

(3.3)設(shè)置代碼節(jié)點(diǎn)的輸出變量,用于最終結(jié)果展示。

直接參考吧,懶人請(qǐng)直接復(fù)制下面的吧:

這個(gè)參數(shù)指社會(huì)統(tǒng)一信用代碼的字段名。

register_no

這個(gè)參數(shù)指企業(yè)全稱的字段名。

company_name

(4)代碼執(zhí)行節(jié)點(diǎn)之后再拉出一個(gè)模型轉(zhuǎn)換節(jié)點(diǎn)。如下圖所示:

解釋一下這個(gè)節(jié)點(diǎn)為什么是這樣:

兩個(gè)輸入字段名是不是很熟悉,就是你剛填寫的,這兩個(gè)字段作為模版節(jié)點(diǎn)的輸入變量,模板節(jié)點(diǎn)接收到這兩個(gè)變量之后,才能在模板代碼中引用展示。

在模板的代碼節(jié)點(diǎn)中,你是不是一下子就感覺自己懂了,錯(cuò),你沒懂,jinjia2格式的代碼看起來就像是正常的文檔一樣,其實(shí)它屬于模板語(yǔ)法,變量需要通過兩個(gè)花括號(hào)標(biāo)記。

你之所以覺得它簡(jiǎn)單,是因?yàn)槲覀儽敬问纠龥]有那么多額外的要求,所以不需要復(fù)雜的構(gòu)造。

公司名稱:{{ company_name }}
統(tǒng)一社會(huì)信用代碼:{{ register_no }}

(5)最后拉出一個(gè)“結(jié)束”節(jié)點(diǎn)。將模板節(jié)點(diǎn)的輸出,作為“結(jié)束”節(jié)點(diǎn)的輸入。展示最終效果。到這里,這個(gè)簡(jiǎn)單但完整的工作量就算構(gòu)建成功了,如下圖所示:

到這里,恭喜你,你可以去調(diào)試,自己跑一遍整體工作流了。以下是我又跑了一遍的結(jié)果:

本文章轉(zhuǎn)載微信公眾號(hào)@提示日記

上一篇:

Vue中使用echarts@4.x中國(guó)地圖及AMap相關(guān)API的使用

下一篇:

利用zabbix api進(jìn)行運(yùn)維管理
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)