2.登錄你在服務器部署的dify后臺,點擊頂部導航的工具,點擊“自定義”,點擊“創建自定義工具”,如下圖所示:

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

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

健,填寫:

Authorization

值,填寫:你復制的那個appcode。

整體如下圖所示:

點擊保存。

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

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

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

],
"paths": {
"/getCompanyBaseInfo/{CompanyNameOrCreditNo}/": {
"get": {
"operationId": "CompanyNameOrCreditNo",
"summary": "天眼查-精準查詢工商信息",
"deprecated": true,
"description": "企業全稱或者全國統一信用代碼",
"tags": [

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

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

}
}
}
}
},
"1102": {
"description": "請求超時",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {

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

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

}
}
}
}
},
"1105": {
"description": "系統繁忙",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {

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

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

},
"securitySchemes": {

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

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

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

代碼寫好后,點擊“保存”。

到這里,恭喜你,dify中構建一個基于阿里云的工商信息查詢工具,就已經實現了。

實現歸實現,是騾子是馬,得拉出來溜溜,看看到底對不對,能不能跑起來最重要。那么你就需要繼續往下看。

我們實操一次,用dify的workflow快速構建一個基于工商信息查詢工具的工作流出來,并運行這個工作流,實現:輸入一個企業名稱,查詢該企業的工商信息結果。

3.構建工作流測試我們剛創建的工具。

假設:

我們輸入一個企業名稱,要求工作流輸出這個企業的統一社會信用代碼和企業名稱。

業務分析:

首先我們要分析一下我們的工作流實現邏輯。這個工具需要傳入一個具體的企業名稱,那么就意味著我們需要設定一個輸入字段,接收這個字段,并傳給工商信息數據去查詢,然后將查詢出來的結果做一個簡單的json字段解析,最后展示出企業名稱和該企業的統一社會信用代碼。

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

(2)“開始”組件之后要拉出一個新的節點,這個節點,我們就選擇剛創建好的工具節點。

工具節點,我們要設置一個輸入變量,選擇“開始”組件中的“name”即可。如上圖所示。

(3)工具節點之后再拉出一個“代碼執行”節點,該節點用于解析阿里云接口返回的json數據內容,因為我們要提取統一社會信用代碼,所以我們需要通過代碼腳本提取出統一社會信用代碼這個參數。

(3.1)將工具節點的輸出變量,設置為代碼執行局節點的輸入變量。

是的,你沒看錯,因為工具節點的輸出,其實就是代碼節點的輸入,你得設置一下,不然人家不知道輸入是什么,懂了么?

我知道你是懶人,懶得手動拼寫這個參數名,所以,你還是直接復制吧。

http_response

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

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

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

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

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

# 構建結果字典并返回
return {
'register_no': register_no,
'company_name': company_name
}

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

如圖所示,你參考下,別弄錯了哦。

(3.3)設置代碼節點的輸出變量,用于最終結果展示。

直接參考吧,懶人請直接復制下面的吧:

這個參數指社會統一信用代碼的字段名。

register_no

這個參數指企業全稱的字段名。

company_name

(4)代碼執行節點之后再拉出一個模型轉換節點。如下圖所示:

解釋一下這個節點為什么是這樣:

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

在模板的代碼節點中,你是不是一下子就感覺自己懂了,錯,你沒懂,jinjia2格式的代碼看起來就像是正常的文檔一樣,其實它屬于模板語法,變量需要通過兩個花括號標記。

你之所以覺得它簡單,是因為我們本次示例沒有那么多額外的要求,所以不需要復雜的構造。

公司名稱:{{ company_name }}
統一社會信用代碼:{{ register_no }}

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

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

本文章轉載微信公眾號@提示日記

上一篇:

Vue中使用echarts@4.x中國地圖及AMap相關API的使用

下一篇:

【豆包大模型】-Python調用豆包大模型API及文本轉語音TTS
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費