bad760a21495758b90811bf15fbcec384cb3f8dc
- 遷移完整的專案到 pj_llama 目錄 - 包含所有最新檔案和 Git 歷史 - 移除不需要的舊檔案 - 統一開發和執行環境
Llama AI 對話程式
一個簡單易用的 Python 程式,用於連接和使用 Llama AI 模型進行對話。
🌟 主要功能
- ✅ 支援多端點連接 - 自動偵測可用的 API 端點
- 💬 互動式對話介面 - 像聊天一樣與 AI 對話
- 🤖 多模型支援 - GPT-OSS、DeepSeek、Qwen 等多種模型
- 🔄 自動端點選擇 - 自動測試並選擇可用端點
- 🧹 智慧清理回應 - 自動移除 AI 思考過程的標記
- 📝 對話歷史管理 - 保持上下文連貫的對話
🚀 快速開始
1. 安裝需求
確保你的電腦已安裝 Python 3.7 或更新版本。
# 安裝必要套件
pip install openai
2. 下載程式
# 複製專案
git clone https://gitea.theaken.com/aken1023/pj_llama.git
cd pj_llama
# 或直接下載 ZIP 檔案解壓縮
3. 執行對話程式
# 🌟 執行主程式(支援內外網選擇)
python llama_universal.py
# 或執行外網專用版本
python llama_chat.py
# 或執行完整版本(支援多端點)
python llama_full_api.py
📖 使用說明
基本對話
執行程式後,會出現以下畫面:
============================================================
選擇網路環境
============================================================
可用環境:
1. 內網環境
說明:公司/學校內部網路,使用內部 IP 地址
端點數量:3 個
2. 外網環境
說明:公開網際網路,使用外部域名
端點數量:3 個
請選擇環境 (1-2),預設為 1:
選擇端點後即可開始對話:
你: 你好
AI: 你好!有什麼我可以幫助你的嗎?
你: 1+1等於多少?
AI: 1+1等於2。
對話指令
在對話中可以使用以下指令:
指令 | 功能 |
---|---|
exit 或 quit |
結束對話 |
clear |
清空對話歷史,開始新對話 |
model |
切換使用的 AI 模型 |
switch |
切換網路環境(內網/外網) |
🔧 程式檔案說明
檔案名稱 | 用途說明 |
---|---|
llama_universal.py |
🌟 主程式 - 支援內外網環境選擇 |
llama_chat.py |
外網專用對話程式 |
llama_full_api.py |
完整功能版本,支援多端點切換 |
quick_test.py |
快速測試連接是否正常 |
test_all_models.py |
測試所有模型的工具 |
🌐 可用的 API 端點
內網端點(公司/學校內部)
端點 | 地址 | 支援模型 |
---|---|---|
內網端點 1 | http://192.168.0.6:21180/v1 |
所有模型 |
內網端點 2 | http://192.168.0.6:21181/v1 |
所有模型 |
內網端點 3 | http://192.168.0.6:21182/v1 |
所有模型 |
外網端點(公開網際網路)
端點 | 地址 | 支援模型 |
---|---|---|
通用端點 | https://llama.theaken.com/v1 |
所有模型 |
GPT-OSS 專用 | https://llama.theaken.com/v1/gpt-oss-120b |
GPT-OSS-120B |
DeepSeek 專用 | https://llama.theaken.com/v1/deepseek-r1-671b |
DeepSeek-R1-671B |
🤖 支援的 AI 模型
- GPT-OSS-120B - 開源 GPT 模型,1200 億參數
- DeepSeek-R1-671B - DeepSeek 推理模型,6710 億參數
- Qwen3-Embedding-8B - 通義千問嵌入模型,80 億參數
❓ 常見問題
問題:程式顯示「無法連接」
解決方法:
- 嘗試切換網路環境(使用
switch
指令) - 內網環境:確認在公司/學校網路內
- 外網環境:確認可以訪問 https://llama.theaken.com
- 執行
python quick_test.py
測試連接
問題:AI 回應包含奇怪的標記
說明:
有時 AI 回應會包含 <think>
或 <|channel|>
等標記,這是 AI 的思考過程,程式會自動清理這些內容。
問題:對話不連貫
解決方法:
使用 clear
指令清空對話歷史,開始新的對話。
📝 簡單範例程式碼
如果你想在自己的程式中使用,可以參考以下程式碼:
from openai import OpenAI
# 設定連接(外網)
client = OpenAI(
api_key="paVrIT+XU1NhwCAOb0X4aYi75QKogK5YNMGvQF1dCyo=",
base_url="https://llama.theaken.com/v1"
)
# 或設定連接(內網)
client = OpenAI(
api_key="paVrIT+XU1NhwCAOb0X4aYi75QKogK5YNMGvQF1dCyo=",
base_url="http://192.168.0.6:21180/v1"
)
# 發送訊息
response = client.chat.completions.create(
model="gpt-oss-120b",
messages=[
{"role": "user", "content": "你好"}
]
)
# 顯示回應
print(response.choices[0].message.content)
🛠️ 進階設定
修改 API 金鑰
如果需要使用不同的 API 金鑰,編輯程式中的:
API_KEY = "你的新金鑰"
新增端點
在 llama_full_api.py
中的 ENDPOINTS
加入新端點:
ENDPOINTS = [
{
"name": "新端點",
"url": "https://新的地址/v1",
"models": ["gpt-oss-120b"]
}
]
📄 授權條款
本專案採用 MIT 授權條款,可自由使用、修改和分發。
🤝 問題回報
如果遇到問題或有建議,歡迎在 Gitea 上開 Issue: https://gitea.theaken.com/aken1023/pj_llama/issues
📊 測試狀態
最後測試時間:2025-09-19
- 📡 API 端點:正在測試中
- 🔄 自動選擇:程式會自動選擇可用的端點
版本: 1.0.0
作者: Aken
專案網址: https://gitea.theaken.com/aken1023/pj_llama
Languages
Python
100%