>>> import pytgpt.phind as phind>>> bot = phind.PHIND()>>> bot.chat('你好')'你好!今天我能為您提供什麼協助嗎?
從 pytgpt.imager 導入 Imagerimg = Imager() generated_images = img.generate(prompt="Cyberpunk", amount=3, stream=True)img.save( generated_images)
該專案可以與超過45 個免費的 LLM 提供者進行無縫交互,無需 API 金鑰,也無需生成圖像。
python-tgpt這個名字的靈感來自於其在 Golang 上運行的父專案 tgpt。透過這種Python改編,使用者可以毫不費力地與許多可用的免費法學碩士互動,從而促進更流暢的人工智慧互動體驗。
? Python是
用於網路整合的 FastAPI
⌨️ 命令列介面
?多個法學碩士提供者 - 45+
?流式和非流式響應
即用型(無需 API 金鑰)
可自訂的腳本產生和執行
?對大型語言模型的離線支持
?影像生成能力
?文字轉音訊轉換功能
⛓️ 透過代理連結請求
?️ 增強的對話式聊天體驗
?能夠保存提示和回應(對話)
能夠載入先前的對話
輕鬆透過 Awesome-chatgpt 提示
? Telegram 機器人 - 介面
對所有主要操作的非同步支援。
這些只是法學碩士的主辦方,他們包括:
芬德
困惑
黑博賽
科博爾代
愛聊
gpt4all (離線)
Poe - Poe|Quora (需要會話 ID)
Groq (需要 API 金鑰)
OpenAI (需要 API 金鑰)
gpt4free 自豪地提供 41 多個提供者。
若要列出工作提供者,請執行:
$ pytgpt gpt4free 測試 -y
Python>=3.10
開發商:
pip install --升級 python-tgpt
命令列:
pip install --upgrade “python-tgpt[cli]”
完整安裝:
pip install --upgrade "python-tgpt[all]"
pip install -U "python-tgt[api]"
將安裝 REST API 依賴項。
開發商:
pip install --upgrade "python-tgpt[termux]"
命令列:
pip install --upgrade “python-tgpt[termux-cli]”
完整安裝:
pip install --upgrade "python-tgpt[termux-all]"
pip install -U "python-tgt[termux-api]"
將安裝 REST API 依賴項
該軟體包提供了方便的命令列介面。
筆記
phind
是預設提供者。
如需快速回覆:
python -m pytgpt 產生“<您的提示>”
對於互動模式:
python -m pytgpt Interactive "<啟動提示(儘管不是強制)>"
使用標誌--provider
後跟您選擇的提供者名稱。例如--provider koboldai
要列出 gpt4free 提供的所有提供程序,請使用以下命令:
pytgpt gpt4free list providers
您也可以簡單地使用pytgpt
而不是python -m pytgpt
。
從0.2.7版本開始,運行$ pytgpt
而無需任何其他命令或選項將自動進入interactive
模式。否則,您需要明確聲明所需的操作,例如,透過執行$ pytgpt generate
。
產生快速回應
from pytgpt.phind import PHINDbot = PHIND()resp = bot.chat('<您的提示>')print(resp)# 輸出:今天需要什麼幫助嗎?
返回完整的回應
from pytgpt.phind import PHINDbot = PHIND()resp = bot.chat('<您的提示>')print(resp)# 輸出"""{'id': 'chatcmpl-gp6cwu2e5ez3ltoyti4z', 'object': 'chatcmpl-gp6cwu2e5ez3ltoyti4z', 'object': 'chat .完成.塊','創建':1731257890,'模型':'phind-instant-llama-3_1-08-31-2024-checkpoint-1500','選擇':[{'index':0,'delta ' : {'內容': "您好!我是 Phind 創建的人工智慧助手,旨在幫助完成程式設計任務。今天我能為您提供什麼幫助?
只需新增值為true
參數stream
。
僅生成文本
from pytgpt.phind import PHINDbot = PHIND()response = bot.chat('hello', stream=True)for chunk in response:print(chunk)# 輸出"""HelloHello!Hello! HowHello! How canHello! How can IHello! How can IHello ! 我能幫您什麼嗎您好!
整體反應
from pytgpt.phind import PHINDbot = PHIND()resp = bot.ask('<您的提示>', stream=True)for value in resp:print(value)# 輸出"""{'id': 'chatcmpl- icz6a4m1nbbclw9hhgol ','物件':'chat.completion.chunk','創建':1731258032,'模型':'phind-instant-llama-3_1-08-31-2024-checkpoint-1500','選擇':[ { 'index': 0, 'delta': {'content': 'Hello'}, 'finish_reason': None}]}{'id': 'chatcmpl-icz6a4m1nbbclw9hhgol', 'object': 'chat.completion.chunk ' ,'創建':1731258032,'模型':'phind-instant-llama-3_1-08-31-2024-checkpoint-1500','選擇':[{'index':0,'delta':{'內容': 「你好!我是人工智慧"}, 'finish_reason': None}]}{'id': 'chatcmpl-icz6a4m1nbbclw9hhgol', 'object': 'chat.completion.chunk', 'created': 1731258032, 'model': ' phind -instant-llama-3_1-08-31-2024-checkpoint-1500', 'choices': [{'index': 0, 'delta': {'content': "您好!我是 Phind 創建的人工智慧助手,旨在幫助完成編碼和技術任務。如何"}, 'finish_reason': 無}]}{'id': 'chatcmpl-icz6a4m1nbbclw9hhgol', '物件': 'chat.completion.chunk', '創建': 1731258032, '模型': 'phind-instant- llama-3_1-08-31-2024-checkpoint-1500', 'choices': [{'index': 0, 'delta': {'content': "您好!我是 Phind 創建的人工智慧助手,旨在幫助完成編碼和技術任務。今天我能為您提供什麼幫助?
導入 pytgpt.auto 導入 autobot = auto.AUTO()print(bot.chat("<您的提示>"))
導入 pytgpt.openai as openaibot = openai.OPENAI("<OPENAI-API-KEY>")print(bot.chat("<您的提示>"))
import pytgpt.koboldai as koboldaibot = koboldai.KOBOLDAI()print(bot.chat("<您的提示>"))
導入 pytgpt.phind as phindbot = phind.PHIND()print(bot.chat("<您的提示>"))
導入 pytgpt.perplexity as perplexitybot = perplexity.PERPLEXITY()print(bot.chat("<您的提示>"))
導入 pytgpt.blackboxai as blackboxaibot = blackboxai.BLACKBOXAI()print(bot.chat("<您的提示>"))
導入 pytgpt.gpt4free as gpt4freebot = gpt4free.GPT4FREE(provider="Koala")print(bot.chat("<您的提示>"))
版本 0.7.0幾乎向所有提供者引入了非同步實現,除了少數幾個提供者(例如perplexity ) ,它依賴於其他缺乏此類實現的庫。
為了方便起見,您只需在公共同步類別名稱前加上Async
前綴即可。例如PHIND
將作為AsyncPHIND
存取:
import asynciofrom pytgpt.phind import AsyncPHINDasync def main():async_ask = wait AsyncPHIND(False).ask("Critique that python is Cool.",stream=True)async for Streaming_response in runasm. () )
import asynciofrom pytgpt.phind import AsyncPHINDasync def main():async_ask = wait AsyncPHIND(False).chat("Critique that python is Cool.",stream=True)async for Streaming_text incynd. () )
若要獲得更客製化的回應,請考慮使用使用optimizer
參數的優化器。它的值可以設定為code
或system_command
。
from pytgpt.phind import PHINDbot = PHIND()resp = bot.ask('<您的提示>', optimizationr='code')print(resp)
重要的
從 v0.1.0 開始,預設的互動方式是會話式的。此模式增強了互動體驗,可以更好地控制聊天記錄。透過關聯先前的提示和回應,它可以自訂對話以獲得更具吸引力的體驗。
您仍然可以停用該模式:
機器人 = koboldai.KOBOLDAI(is_conversation=False)
利用控制台中的--disable-conversation
標誌來實現相同的功能。
pollination.ai 讓這一切成為可能。
$ pytgpt imager "<提示>"# 例如 pytgpt imager "編碼機器人"
from pytgpt.imager import Imagerimg = Imager() generated_img = img.generate('編碼機器人') # [位元組]img.save( generated_img)
from pytgpt.imager import Imagerimg = Imager()img_generator = img.generate('Coding bot', amount=3, stream=True)img.save(img_generator)# RAM 友好
from pytgpt.imager import Prodiaimg = Prodia()img_generator = img.generate('編碼機器人', amount=3, stream=True)img.save(img_generator)
從v0.3.0開始, generate
功能得到了增強,可以全面利用--with-copied
選項並支援接受管道輸入。此改進引入了佔位符,為更多樣化的交互作用提供動態值。
佔位符 | 代表 |
---|---|
{{stream}} | 管道輸入 |
{{copied}} | 最後複製的文本 |
此功能對於複雜的操作特別有利。例如:
$ git diff | pytgpt產生「這是一個差異檔案:{{stream}}從中建立一個簡潔的提交訊息,與我的提交訊息歷史記錄對齊:{{copied}}」--new
在此圖中,
{{stream}}
表示$ git diff
運算的結果,而{{copied}}
表示從$ git log
指令的輸出複製的內容。
這些提示旨在引導人工智慧朝特定方向的行為或反應,鼓勵其表現出某些特徵或行為。 「很棒的提示」一詞並不是人工智慧或機器學習文獻中的正式術語,但它概括了精心設計能有效實現預期結果的提示的想法。假設您希望它表現得像Linux 終端、 PHP 解釋器,或只是為了越獄。
實例:
$ pytgpt Interactive --awesome-prompt "Linux Terminal"# 像 Linux 終端機一樣工作$ pytgpt Interactive -ap DAN# 越獄
筆記
很棒的提示可以替代--intro
。運行$ pytgpt awesome whole
來列出可用的提示( 200+ )。運行$ pytgpt awesome --help
以獲取更多資訊。
RawDog 是一項傑作,它利用 Python 的多功能功能來根據您的需求來命令和控制您的系統。您實際上可以用它做任何事情,因為它會根據您的提示產生並執行 python 程式碼!要咬一口rawdog,只需在生成/互動模式下附加標誌--rawdog
Shortform -rd
即可。這在tgpt 生態系中引入了一個前所未見的功能。感謝 AbanteAI/rawdog 的想法。
這在某些方面可能很有用。例如 :
$ pytgpt產生-n -q「使用圓餅圖視覺化磁碟使用情況」--rawdog
這將彈出一個窗口,顯示系統磁碟使用情況,如下所示。
Pytgpt v0.4.6引進了一種從環境中取得變數的約定方式。為此,請在作業系統或腳本中設定環境變量,前綴為PYTGPT_
,後面跟著大寫的選項名稱,用底線替換破折號。
例如,對於選項--provider
,您可以設定環境變數PYTGPT_PROVIDER
來為該選項提供預設值。同樣的情況也適用於布林標誌,例如--rawdog
,其環境變數將為PYTGPT_RAWDOG
,值為true/false
。最後, --awesome-prompt
將採用環境變數PYTGPT_AWESOME_PROMPT
。
筆記
這不限於任何命令
可以透過明確聲明新值來覆寫環境變數。
提示
將變數儲存在目前目錄的.env
檔案中,或將它們匯出到~/.zshrc
檔案中。若要從.txt
檔案載入先前的對話,請使用-fp
或--filepath
標誌。如果沒有傳遞標誌,則將使用預設標誌。若要從檔案載入上下文而不更改其內容,請使用--retain-file
標誌。
版本0.4.6還引入了名為g4fauto
的動態提供程序,它代表了運行速度最快的基於 g4f 的提供程序。
提示
要為基於 g4f 的供應商啟動 Web 介面,只需執行$ pytgpt gpt4free gui
。 $ pytgpt api run
將啟動 REST-API。分別在/docs和/redoc存取 docs 和 redoc。若要啟動基於 g4f 的提供者的 Web 介面,請在終端機中執行下列命令:
$ pytgpt gpt4free 圖形使用者介面
此命令初始化 Web 使用者介面,以便與基於 g4f 的提供者進行互動。
啟動 REST-API:
$ pytgpt api 運行
此命令啟動 RESTful API 伺服器,使您能夠以程式設計方式與服務互動。
若要存取文件和重做文件,請在 Web 瀏覽器中導覽至以下路徑:
文件: /docs
重新文檔: /redoc
若要啟用回應的語音合成,請確保您的系統上安裝了 VLC 播放器,或者如果您是 Termux 用戶,請安裝 Termux:API 套件。
若要啟動語音合成,請在執行指令時使用--talk-to-me
標誌或其簡寫-ttm
。例如:
$ pytgpt生成「生成食人魔故事」--talk-to-me
或者
$ pytgpt 互動式 -ttm
該標誌指示系統對人工智慧回應進行音訊化,然後播放它們,透過提供聽覺回饋來增強用戶體驗。
版本0.6.4引入了另一個動態提供者auto
,它表示工作提供者整體。這減輕了您每次啟動 pytgpt 時手動檢查工作提供程序的工作量。然而,作為提供者的auto
不能很好地處理串流響應,因此您可能需要為了可靠性而犧牲效能。
如果您對現有介面不滿意,pytgpt-bot 可能是您正在尋找的解決方案。該機器人旨在透過提供廣泛的功能來增強您的體驗。無論您是有興趣參與人工智慧驅動的對話、從文字創建圖像和音頻,還是探索其他創新功能,pytgpt-bot 都能滿足您的需求。
該機器人作為一個單獨的項目進行維護,因此您只需執行命令即可安裝它:
$ pip install pytgpt-bot
用法: pytgpt bot run <bot-api-token>
或者您可以簡單地與現在運行的 @pytgpt-bot 進行交互
有關更多使用信息,請運行$ pytgpt --help
Usage: pytgpt [OPTIONS] COMMAND [ARGS]... Options: -v, --version Show the version and exit. -h, --help Show this message and exit. Commands: api FastAPI control endpoint awesome Perform CRUD operations on awesome-prompts bot Telegram bot interface control generate Generate a quick response with AI gpt4free Discover gpt4free models, providers etc imager Generate images with pollinations.ai interactive Chat with AI interactively (Default) utils Utility endpoint for pytgpt
不。 | 應用程式介面 | 地位 |
---|---|---|
1. | 渲染時 | 計劃任務 |
tgp
gpt4免費