Select Page

將你的Python程式碼改成 web api

Views: 25

現在AI的時代,實在是離不開python,有時候想要快速的驗證程式設計,並且對外服務,給外部的人測試,這時候可以考慮把在 CLI 執行的 python code ,改成 web api,讓外部的人測試看看,改法如下

步驟 1: 安裝 Flask

pip install Flask

步驟 2 : 建立一個 Web APP

可以建立一個名為 webapi.py 的檔案,並且輸入以下程式碼,這樣就可以簡單地把 GraphRAG 的服務對外

from flask import Flask, request, jsonify
import subprocess
import shlex

app = Flask(__name__)

@app.route('/query', methods=['POST'])
def query():
    # 获取请求中的问题
    data = request.json
    question = data.get('question')
    
    if not question:
        return jsonify({'error': 'No question provided'}), 400
    
    # 构建 CLI 命令
    command = f"python -m graphrag.query --root ./ragtest --method local \"{question}\""
    # 安全地处理命令
    args = shlex.split(command)
    
    # 执行命令
    try:
        result = subprocess.run(args, check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
        response = result.stdout
        # 假设输出中包含 "SUCCESS:" 和我们需要的答案
        if "SUCCESS:" in response:
            answer = response.split("SUCCESS:")[1].strip()  # 取得成功后的文本作为答案
            return jsonify({'answer': answer})
        else:
            return jsonify({'error': 'Failed to get a valid response from the CLI tool'}), 500
    except subprocess.CalledProcessError as e:
        return jsonify({'error': str(e)}), 500

if __name__ == '__main__':
    app.run(debug=True, port=5000)

步驟 3 : 開啟服務

python webapi.py

步驟 4 : 使用 API

curl -X POST http://localhost:5000/query -H "Content-Type: application/json" -d "{\"question\": \"新修正之勞工特別休假日數有多少?\"}"

延伸閱讀

GraphRAG與我踩過的坑

GraphRAG與我踩過的坑

Views: 165

2024/07 相信 AI 界最火的是 Microsoft 推出的 GraphRAG 了,看起來很簡單,但坑也不少,網路上教學很多,我這邊專門做一集推坑以及救贖的文章

訓練價格過高

用便宜模型 gpt-4o-mini

llm:
  api_key: ${GRAPHRAG_API_KEY}
  type: openai_chat # or azure_openai_chat
  model: gpt-4o-mini
  model_supports_json: true # recommended if this is available for your model.

用 local ollama, vllm, LM Studio

要用 ollama 的話,要先安裝 ollama 的庫

pip install ollama

並且用別人已經改好的程式碼

git clone https://github.com/TheAiSingularity/graphrag-local-ollama.git

執行細節可以看

https://medium.com/@vamshirvk/unlocking-cost-effective-local-model-inference-with-graphrag-and-ollama-d9812cc60466

視覺化模型

請下載 Gephi

打開 settings.yaml 並且找到 snapshots 將 graphml 打開,這樣子在 index 的時候就會幫你生成 .graphml 的檔案,之後就可以用 Gephi 去編輯他

snapshots:
  graphml: true
  raw_entities: true
  top_level_nodes: true

參考資料

GraphRAG Github

https://github.com/microsoft/graphrag

Prompt 設計神器:為什麼 Anthropic 是工程師的最佳秘密武器?

Prompt 設計神器:為什麼 Anthropic 是工程師的最佳秘密武器?

Views: 24

Anthropic 是目前市場上最強大、最實用的 Prompt 設計工具,深深地受到百萬年薪的 Prompt 工程師們喜愛,這款工具不僅提供了豐富的功能,簡潔的介面,還具備高度的靈活性,使得 Prompt 設計變得更加高效和精確,並且很強大。

Anthropic 的主要功能

Anthropic 具備多種功能,以下是其中一些最受歡迎的功能:

  1. 智能推薦:Anthropic 可以根據用戶輸入的初始 Prompt,你不用真的很會,但就可以自動生成多個優化版本,供用戶選擇和修改。
  2. 上下文理解:工具能夠理解輸入的上下文,並提供更精確和相關的建議,幫助用戶創建更符合需求的 Prompt。
  3. 多語言支持:Anthropic 支持多種語言的 Prompt 設計,無論你是使用英語、中文還是其他語言,都能夠輕鬆應對。
  4. Prompt 資料庫:透過 Prompt Library 可以協助你想像和學習 Prompt 工程,Anthropic 可以加快 Prompt 創建過程。

實際案例

案例一:內容創作

一家內容創作公司需要生成大量的文章摘要。透過 Anthropic,內容創作者能夠快速生成高質量的文章摘要,但是平常妳下達的指令只會是:

請你提供我關於文章的5個具有創意的標題

但你透過 Anthropic ,他會幫你擴展成

你是一個專業的記者,我將提供一段專業的文案給你參考,你需要按照這個文案的風格,創作出5個具有創意的標題

以下是參考的文案內容 <content> {{CONTENT}} </content>

請按照以下的步驟創作標題

1.仔細閱讀文案內容

2.找出可以抓住眼球和注意力的主題和亮點

3.標題要簡潔且有力在20個字內

4.選出5個最佳方案

是不是變的強大了很多,也專業很多,這也代表你變成一個很懂AI的老闆了

使用技巧

  1. 充分利用智能推薦:在設計初期,充分利用 Anthropic 的智能推薦功能,快速生成多個可行的 Prompt 範本,然後根據具體需求進行細化。
  2. 多次迭代:不要期望一次性完成完美的 Prompt,多次迭代和調整是關鍵。每次修改後都可以使用工具的建議來進一步優化。
  3. 結合上下文:在設計 Prompt 時,充分考慮上下文因素,使得生成的內容更加連貫和自然。Anthropic 的上下文理解功能在這方面大有幫助。
  4. 多語言測試:如果需要設計多語言的 Prompt,建議在不同語言環境下進行測試和調整,確保每個語言版本的質量和效果一致。

注意事項

工具很強大,是可以付費支持,並且讓自己的生活更美好的,他現在要使用是需要點數的,強烈建議可以試試

參考資料

Anthropic Console

TinyWOW : 各種數位工具讓你的工作更簡單

TinyWOW : 各種數位工具讓你的工作更簡單

Views: 4

工作上常常要用到一推的數位工具才能完成你在電腦前的大小事情,找不到工具或是不想安裝一推工具,或是臨時在外面,沒有軟體工具可用,這時候可以來這邊試試看,目前服務免費的就很好用了,只需要忍受廣告就好

當然TinyWOW也跟上了AI的浪潮,裡面有很多的AIGC工具可供使用,例如AI寫文案,AI生圖等

https://tinywow.com/

RoomGPT 您的個人AI室內設計師:讓您的家變得更獨特

RoomGPT 您的個人AI室內設計師:讓您的家變得更獨特

Views: 4

RoomGPT是一款能夠幫助您進行室內設計的人工智慧工具。這款工具可以讓您在不需要請專業室內設計師的情況下,輕鬆地設計出您理想中的房間。

以下是一些使用RoomGPT的用戶的評價:

  • 「這真是太神奇了,現在您不需要室內設計師了。」
  • 「終於有東西可以幫助我克服裝飾房子時的優柔寡斷了!」
  • 「現在您可以在翻新之前看到您的房間有不同的主題。這是多麼酷的事情!」
  • 「我已經五年沒有改變我的房間佈局了,但這個應用程序可能會改變這一點。做得好。」

RoomGPT使用人工智慧技術和3D成像技術,可以幫助您設計出您理想中的房間。您可以使用RoomGPT來設計客廳、臥室、浴室、廚房等房間。RoomGPT還可以讓您選擇不同的主題和風格,例如現代風格、傳統風格、簡約風格等,以及不同的顏色和材料,例如木材、石材、金屬等。RoomGPT還可以讓您在設計過程中預覽您的房間,以便您可以在翻新之前看到最終效果。