无码人妻A片一区二区三区_18禁裸乳无遮挡啪啪无码免费_91精品亚?影视在线?看_人人妻人人爽人人澡AV_国产精品人妻一区二区三区四区_午夜免费影视

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 數據庫 > 如何使用NLP到SQL API?

如何使用NLP到SQL API?

2020-08-07 17:37:22 | 來源:中培企業IT培訓網

如果沒有輕松獲取數據并對其采取行動的能力,數據將毫無用處。未來企業的成功將結合復雜的信息收集和更好的用戶體驗,而“自然語言”用戶界面便構成了這種用戶體驗的大部分。直觀的自然語言界面允許用戶查找,比較,分析,鉆取和操縱數據倉庫中的現有信息,以獲取見解并采取相應的行動。本文詳細介紹了技術熟練的專家如何實現認知自動化用例以及如何通過自然語言界面為非技術雇員提供對企業數據的直觀訪問。

在開始之前,它假定非技術人員可以訪問以下至少一個界面:Microsoft團隊,Skype for Business,Slack,Skype,Telegram,電子郵件,Telegram,Messenger,Cortana或Web瀏覽器。Microsoft Azure應用程序中包含所有上述自然語言接口。

  您需要準備的基本工具是:

1. 創建MS應用程序。

2. MS Bot Framework SDK。

3. SSL證書。出于安全原因,應使用HTTPS協議TLS 1.3對所有請求進行加密,該協議會對所有請求進行加密,以便任何人都可以訪問它。您可以購買SSL證書,也可以自己使用CertBot生成SSL證書。

4.照顧異步過程。正如您期望的那樣,您的應用程序將同時收到來自許多用戶的大量請求,因此您應注意為所有進程實現異步,以避免出現瓶頸。對于本教程使用的Python環境,我們使用asyncio庫。Asyncio是一個Python庫,用于使用async / await語法編寫并發代碼。如果您使用的環境不同于Python,則可以隨時搜索其他異步庫。

5. 異步API。API的異步模式相同。在本文,將使用AIOHTTP。

6. NLP到SQL API的URL和秘密令牌。NLP to SQL Web服務用于將非結構化自然語言用戶請求轉換為結構化查詢語言。在本教程中,我們使用NLSQL。對于NLSQL定制,您應該具有要使用的數據庫架構和Q&A示例。對于從NLP到API的Web服務,您應該擁有API Web服務文檔以及“問答對話框”示例。

好了,畢竟上述工具已經準備就緒,我們可以模擬軟件架構。

您可以在下面找到適用于Python環境的Bot System示例:

#!/usr/bin/pythonimport sslfrom aiohttp import webimport asyncioimport aiohttpfrom botbuilder.core import (BotFrameworkAdapter, BotFrameworkAdapterSettings,

TurnContext, MemoryStorage)from botbuilder.schema import (Attachment, Activity, ActivityTypes)

APP_ID = '' #1 add your APP ID

APP_PASSWORD = '' #2 add you APP Password

SSL_CONTEXT = ssl.SSLContext(ssl.PROTOCOL_SSLv23)

SSL_CONTEXT.load_cert_chain('', '') #3 add your SSL certificates

PORT = 8000

SETTINGS = BotFrameworkAdapterSettings(APP_ID, APP_PASSWORD)

ADAPTER = BotFrameworkAdapter(SETTINGS)async def create_reply_activity(request_activity: Activity, text: str, attachment: Attachment = None) -> Activity:

activity = Activity(

type=ActivityTypes.message,

channel_id=request_activity.channel_id,

conversation=request_activity.conversation,

recipient=request_activity.from_property,

from_property=request_activity.recipient,

attachment_layout='carousel',

text=text,

service_url=request_activity.service_url)

if attachment:

activity.attachments = attachment

return activityasync def handle_conversation_update(context: TurnContext) -> web.Response:

if context.activity.members_added[0].id != context.activity.recipient.id:

response = await create_reply_activity(context.activity, "Hello world!")

await context.send_activity(response)

return web.Response(status=200)async def unhandled_activity() -> web.Response:

return web.Response(status=404)async def api_connect(text):

headers = {'Authorization': 'Token API KEY', 'Content-Type': 'application/json'} #5 add your API Key

payload = {'message': text}

async with aiohttp.ClientSession() as session:

r = await session.post(url, headers=headers, json=payload)

data = await r.json()

return data# MAIN function for botasync def request_handler(context: TurnContext) -> web.Response:

if context.activity.type == 'message':

try:

data = await api_connect(context.activity.text)

# Make connection to own internal database and take data using received sql

# Build separate logic for different API reply message types, if you need it.

# data_type = data["data_type"]

# if data_type == 'graph':

# ...

# elif data_type == 'message':

# ...

# elif data_type == 'buttons':

# ...

# elif data_type == 'error':

# ...

# etc.

data_type = data["data_type"]

if data_type == 'ytd':

result = data['sql']['sql1'] + ' ' + data['sql']['sql2']

else:

result = data['sql']

response = await create_reply_activity(context.activity, result)

await context.send_activity(response)

except KeyError:

pass

elif context.activity.type == 'conversationUpdate':

return await handle_conversation_update(context)

elif context.activity.action == 'add':

return await handle_conversation_update(context)

else:

return await unhandled_activity()async def messages(request) -> web.Response:

body = await request.json()

# print("request: ", request.headers)

# print("body: ", body)

activity = Activity().deserialize(body)

auth_header = request.headers['Authorization'] if 'Authorization' in request.headers else ''

web.Response(status=200)

try:

return await ADAPTER.process_activity(activity, auth_header, request_handler)

except Exception as exc:

raise excasync def init_app(loop):

app = web.Application(loop=loop)

app.add_routes([web.post('/api/messages', messages)])

return apptry:

loop = asyncio.get_event_loop()

app = loop.run_until_complete(init_app(loop))

web.run_app(app, host='127.0.0.1', port=PORT)except Exception as e:

raise e

在使用任何其他編程語言的情況下,應應用相同的邏輯。

數據成為全球經濟的原材料。追求驅使過時的行業重塑自我。能源,生產,醫療保健,零售乃至政府都經歷了數字化轉型。

但是,信息無能為力,無法使用它并采取相應的行動。能夠在未來十年生存的公司將不僅擁有卓越的信息;他們將為所有人提供直觀,靈活的用戶界面。直觀的用戶界面基于人類的目標和行為,可能會有所不同。認知自動化具有行為影響,可推動進一步的業務決策并改善企業財務業績。

不同的用戶體驗改變了人們以微妙和無意識的方式做出選擇的方式。所看到的,呈現的位置以及它如何提供交互作用都會影響動作。輕松查詢數據的能力將刺激人們使用信息,并做出更多由數據驅動的選擇,以推動業務更快地發展。

以上就是關于如何使用NLP到SQL API的全部內容,想了解更多關于SQL數據庫的信息,請繼續關注中培偉業。

標簽: NLP

相關閱讀

主站蜘蛛池模板: 国产综合13P | 免费视频精品 | 1区2区3区4区产品乱码入口 | 密室大逃脱第三季免费观看高清 | 毛片黄色一级 | 国内三级视频在线观看 | 精品人伦一区二区三 | aaa级淫片 | 日韩国产成人无码AV毛片 | 永久免费AV无码网站打屁股 | 艳妇乳肉豪妇荡乳 | 人人爱干 | 国产午夜激无码av毛片护士 | ◇亚洲毛片在线手机看网站 | 看免费的黄色大片 | 激情久久一区二区 | 中文字字幕在线中文乱码解决方法 | 在线观看免费观看视频 | 黑人大鷄巴XXX高湖 天天插天天干天天操 | 中文字幕在线一区 | 久久国产精品波多野结衣AV | 千金去sm体验馆被调教 | 国语对白做受69按摩 | 久久久女人与动物群交毛片 | 毛片一级免费一级 | 亚洲最大色综合成人av | 狠狠婷婷| 国产特黄级AAAAA片免 | 国产精品久久久久久久久久久久人四虎 | 2023av在线| 亚洲经典一区二区三区 | 久久精品这里只有精品 | 青草免费 | 成人午夜爽A片免费视频 | 69国产成人精品午夜福中文 | 九九热久久99国产盗摄蜜臀 | 色婷婷一区二区三区四区成人网 | 亚洲一区二区动漫 | 欧美人与Z0ZOXXXX视频 | 亚洲伦理在线视频 | 人人澡人人澡人人澡澡 |