?想要建置和部署互動式 AI 應用程式? ??? ?????? 就在 內? ???? ?? ????
在本教學課程中,您將使用 LlamaIndex 建立問答引擎,使用 FastAPI 透過 HTTP 提供服務,並使用 DBOS 將其無伺服器部署到雲端。
它基於 LlamaIndex 的 5 行啟動器,只需 4 行即可使其支援雲端。簡單、快速且可擴充!
首先,為您的應用程式建立一個資料夾並啟動虛擬環境。
python3 -m venv ai-app/.venv cd ai-app source .venv/bin/activate touch main.py
然後,安裝相依性並初始化 DBOS 設定檔。
pip install dbos llama-index dbos init --config
接下來,要運行這個應用程序,您需要一個 OpenAI 開發者帳戶。在此處取得 API 金鑰。將 API 金鑰設定為環境變數。
export OPENAI_API_KEY=XXXXX
在 dbos-config.yaml 中宣告環境變數:
env: OPENAI_API_KEY: ${OPENAI_API_KEY}
最後,讓我們下載一些資料。這個應用程式使用保羅·格雷厄姆的“我的工作內容”中的文字。您可以從此連結下載文字並將其保存在應用程式資料夾的 data/paul_graham_essay.txt 下。
現在,您的應用程式資料夾結構應如下所示:
ai-app/ ├── dbos-config.yaml ├── main.py └── data/ └── paul_graham_essay.txt
現在,讓我們使用 LlamaIndex 用 5 行程式碼編寫一個簡單的 AI 應用程式。
將以下程式碼加入您的 main.py 中:
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader documents = SimpleDirectoryReader("data").load_data() index = VectorStoreIndex.from_documents(documents) query_engine = index.as_query_engine() response = query_engine.query("What did the author do growing up?") print(response)
該腳本載入資料並在 data/ 資料夾下的文件上建立索引,並透過查詢索引產生答案。您可以執行此腳本,它應該會給您一個回應,例如:
$ python3 main.py The author worked on writing short stories and programming...
現在,讓我們新增一個 FastAPI 端點以透過 HTTP 提供回應。修改你的 main.py 如下:
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader from fastapi import FastAPI app = FastAPI() documents = SimpleDirectoryReader("data").load_data() index = VectorStoreIndex.from_documents(documents) query_engine = index.as_query_engine() @app.get("/") def get_answer(): response = query_engine.query("What did the author do growing up?") return str(response)
現在您可以使用 fastapi run main.py 啟動您的應用程式。要查看它是否正常工作,請訪問以下 URL:http://localhost:8000
每次刷新瀏覽器視窗時,結果可能會略有不同!
要將您的應用程式部署到 DBOS Cloud,您只需在 main.py 中新增兩行:
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader from fastapi import FastAPI from dbos import DBOS app = FastAPI() DBOS(fastapi=app) documents = SimpleDirectoryReader("data").load_data() index = VectorStoreIndex.from_documents(documents) query_engine = index.as_query_engine() @app.get("/") def get_answer(): response = query_engine.query("What did the author do growing up?") return str(response)
現在,如果尚未安裝 DBOS Cloud CLI(需要 Node.js):
npm i -g @dbos-inc/dbos-cloud
然後將相依性凍結到requirements.txt並部署到DBOS Cloud:
pip freeze > requirements.txt dbos-cloud app deploy
不到一分鐘,它就會列印 Access your application at
若要查看您的應用程式是否正常執行,請造訪
恭喜您,您已成功將您的第一個 AI 應用程式部署到 DBOS Cloud!您可以在雲端控制台中看到您部署的應用程式。
這只是您 DBOS 之旅的開始。接下來,看看 DBOS 如何讓您的 AI 應用程式更具可擴展性和彈性:
試試看並告訴我你的想法?
以上是在大量程式碼中建置和部署無伺服器 OpenAI 應用程式的詳細內容。更多資訊請關注PHP中文網其他相關文章!