>>> pytgpt.phind を phind としてインポート>>> bot = phind.PHIND()>>> bot.chat('hello there')'こんにちは!今日はどのようにお手伝いできますか?』
pytgpt.imager からインポート Imagerimg = Imager()generated_images = img.generate(prompt="サイバーパンク", amount=3, stream=True)img.save(generated_images)
このプロジェクトにより、API キーを必要とせず、イメージも生成せずに、45 を超える無料 LLM プロバイダーとのシームレスな対話が可能になります。
python-tgptという名前は、Golang 上で動作する親プロジェクト tgpt からインスピレーションを得ています。この Python の適応により、ユーザーは利用可能な多数の無料 LLM を簡単に利用できるようになり、よりスムーズな AI インタラクション エクスペリエンスが促進されます。
? Pythonパッケージ
Web統合用のFastAPI
⌨️ コマンドラインインターフェース
?複数の LLM プロバイダー - 45 以上
?ストリーム応答と非ストリーム応答
すぐに使用可能 (API キーは必要ありません)
カスタマイズ可能なスクリプトの生成と実行
?大規模言語モデルのオフライン サポート
?画像生成機能
?テキストからオーディオへの変換機能
⛓️ プロキシ経由の連鎖リクエスト
?️ 強化された会話型チャット エクスペリエンス
?プロンプトと応答を保存する機能 (会話)
以前の会話をロードする機能
awesome-chatgpt プロンプトを簡単に渡す
?電報ボット - インターフェース
すべての主要な操作の非同期サポート。
これらは単なる LLM のホストであり、次のものが含まれます。
フィンド
困惑
ブラックボクサイ
コボルダイ
アイ4チャット
gpt4all (オフライン)
Poe - Poe|Quora (セッション ID が必要)
Groq (API キーが必要)
OpenAI (APIキーが必要)
gpt4free が自信を持って提供する 41 以上のプロバイダー。
動作しているプロバイダーをリストするには、次のコマンドを実行します。
$ pytgpt gpt4free テスト -y
Python>=3.10
開発者:
pip install --upgrade 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 interaction "<キックオフプロンプト (ただし必須ではありません)>"
フラグ--provider
の後に、選択したプロバイダー名を続けて使用します。例: --provider koboldai
gpt4free によって提供されるすべてのプロバイダーを一覧表示するには、次のコマンドを使用します:
pytgpt gpt4free list providers
python -m pytgpt
の代わりに単に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)# Output"""{'id': 'chatcmpl-gp6cwu2e5ez3ltoyti4z', 'object': 'チャット。完了.チャンク'、'作成済み': 1731257890、 'model': 'phind-instant-llama-3_1-08-31-2024-checkpoint-1500', 'choices': [{'index': 0, 'delta': {'content': "こんにちは!私はプログラミング タスクを支援するために Phind によって作成された AI アシスタントです。今日はどのようにお手伝いできますか?"}, 'finish_reason': なし}]}"""
値true
のパラメーターstream
追加するだけです。
生成されたテキストのみ
from pytgpt.phind import PHINDbot = PHIND()response = bot.chat('hello', stream=True)for chunk in response:print(chunk)# Output"""HelloHello!Hello!HowHello!HowcanHello!HowcanIHelloどうすればいいですかこんにちは!どうすればいいですかこんにちは!今日はどうすればいいですか?」
応答全体
from pytgpt.phind import PHINDbot = PHIND()resp = bot.ask('<Your Prompt>', stream=True)for value in resp:print(value)# Output"""{'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': 'Hello' }, 'finish_reason': なし}]}{'id': 'chatcmpl-icz6a4m1nbbclw9hhgol'、'オブジェクト': 'chat.completion.chunk'、'作成': 1731258032、'モデル': 'phind-instant-llama-3_1-08-31-2024-checkpoint-1500'、'choices ': [{'インデックス': 0, 'delta': {'content': "こんにちは!私は AI です"}, '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 によって作成された AI アシスタントです。 How"}, '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 によって作成された AI アシスタントです。今日はどのようにお手伝いできますか?"}, 'finish_reason': なし}]}"""
import pytgpt.auto import autobot = auto.AUTO()print(bot.chat("<あなたのプロンプト>"))
import pytgpt.openai as openaibot = openai.OPENAI("<OPENAI-API-KEY>")print(bot.chat("<Your-prompt>"))
import pytgpt.koboldai as koboldaibot = koboldai.KOBOLDAI()print(bot.chat("<Your-prompt>"))
pytgpt.phind を phindbot としてインポート = phind.PHIND()print(bot.chat("<Your-prompt>"))
import pytgpt.perplexity as perplexitybot = perplexity.PERPLEXITY()print(bot.chat("<Your-prompt>"))
import pytgpt.blackboxai as blackboxaibot = blackboxai.BLACKBOXAI()print(bot.chat("<Your-prompt>"))
import pytgpt.gpt4free as gpt4freebot = gpt4free.GPT4FREE(provider="Koala")print(bot.chat("<Your-prompt>"))
バージョン 0.7.0 では、 perplexityなどの少数のプロバイダーを除き、ほぼすべてのプロバイダーに非同期実装が導入されています。これらのプロバイダーは、非同期実装を持たない他のライブラリに依存します。
簡単にするには、共通の同期クラス名にAsync
というプレフィックスを付けるだけです。たとえば、 PHIND
AsyncPHIND
としてアクセスされます。
import asynciofrom pytgpt.phind import AsyncPHINDasync def main():async_ask = await AsyncPHIND(False).ask("Python がクールだと批判する。",stream=True)async_ask:print(streaming_response)asyncio.run(main) のストリーミング_応答の async () )
import asynciofrom pytgpt.phind import AsyncPHINDasync def main():async_ask = await AsyncPHIND(False).chat("Python がクールだと批判する。",stream=True)async for streaming_text in async_ask:print(streaming_text)asyncio.run(main) () )
よりカスタマイズされた応答を取得するには、 optimizer
パラメーターを使用してオプティマイザーを利用することを検討してください。その値はcode
またはsystem_command
に設定できます。
pytgpt.phind から import PHINDbot = PHIND()resp = bot.ask('<プロンプト>', optimizer='code')print(resp)
重要
v0.1.0 以降、対話のデフォルト モードは会話型です。このモードは対話型エクスペリエンスを強化し、チャット履歴をより適切に制御できるようにします。以前のプロンプトと応答を関連付けることにより、会話をより魅力的なエクスペリエンスに調整します。
このモードは引き続き無効にすることができます。
bot = koboldai.KOBOLDAI(is_conversation=False)
同じ機能を実現するには、コンソールで--disable-conversation
フラグを使用します。
これは、polminations.ai によって可能になりました。
$ pytgpt imager "<prompt>"# 例: pytgpt imager "コーディングボット"
from pytgpt.imager import Imagerimg = Imager()generated_img = img.generate('コーディングボット') # [bytes]img.save(generated_img)
from pytgpt.imager import Imagerimg = Imager()img_generator = img.generate('コーディングボット', amount=3, stream=True)img.save(img_generator)# RAM フレンドリー
pytgpt.imager からインポート 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 generated "ここに差分ファイルがあります: {{stream}} そこから、コミット メッセージ履歴と合わせて簡潔なコミット メッセージを作成します: {{copied}}" --new
この図では、
{{stream}}
$ git diff
操作の結果を示し、{{copied}}
$ git log
コマンドの出力からコピーされたコンテンツを示します。
これらのプロンプトは、AI の動作や反応を特定の方向に導き、特定の特性や動作を示すように設計されています。 「素晴らしいプロンプト」という用語は、AI や機械学習の文献における正式な用語ではありませんが、望ましい結果を達成するのに効果的なプロンプトを作成するという考えを要約しています。 Linux ターミナル、 PHP インタプリタ、または単にJAIL BREAK のように動作させたいとします。
インスタンス:
$ pytgpt interaction --awesome-prompt "Linux Terminal"# Linux ターミナルのように動作$ pytgpt interaction -ap DAN# 脱獄
注記
素晴らしいプロンプトは--intro
の代わりになります。 $ pytgpt awesome whole
実行して、利用可能なプロンプト ( 200 以上) をリストします。詳細については、 $ pytgpt awesome --help
実行してください。
RawDog は、Python の多用途な機能を活用して、ニーズに応じてシステムをコマンドおよび制御する優れた機能です。プロンプトに従って Python コードを生成して実行するため、文字通り何でもできます。 rawdogを少し食べるには、生成/対話モードでフラグ--rawdog
shortform -rd
を追加するだけです。これにより、 tgpt エコシステムにこれまでにない機能が導入されます。アイデアを提供してくれたAbanteAI/rawdogに感謝します。
これは、いくつかの点で役立ちます。例えば :
$ pytgpt generated -n -q "円グラフを使用してディスク使用量を視覚化します" --rawdog
これにより、以下に示すように、システム ディスクの使用状況を示すウィンドウがポップアップ表示されます。
Pytgpt v0.4.6では、環境から変数を取得する従来の方法が導入されています。これを実現するには、プレフィックスPYTGPT_
の後に大文字のオプション名を付けて、ダッシュをアンダースコアに置き換えて、オペレーティング システムまたはスクリプトの環境変数を設定します。
たとえば、オプション--provider
の場合、環境変数PYTGPT_PROVIDER
を設定して、そのオプションのデフォルト値を提供します。同じケースが、環境変数がtrue/false
のいずれかの値を持つPYTGPT_RAWDOG
となる--rawdog
などのブール型フラグにも当てはまります。最後に、 --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 gui
このコマンドは、g4f ベースのプロバイダーと対話するための Web ユーザー インターフェイスを初期化します。
REST-APIを開始するには:
$ pytgpt APIの実行
このコマンドは RESTful API サーバーを起動し、プログラムでサービスと対話できるようにします。
ドキュメントと redoc にアクセスするには、Web ブラウザで次のパスに移動します。
ドキュメント: /docs
ReDoc: /redoc
応答の音声合成を有効にするには、システムに VLC プレーヤーがインストールされていること、または Termux ユーザーの場合は Termux:API パッケージがインストールされていることを確認してください。
音声合成をアクティブにするには、コマンドの実行時に--talk-to-me
フラグまたはその省略表現-ttm
を使用します。例えば:
$ pytgpt generated "鬼のストーリーを生成" --talk-to-me
または
$ pytgptインタラクティブ-ttm
このフラグは、AI 応答を音声化して再生するようにシステムに指示し、聴覚フィードバックを提供することでユーザー エクスペリエンスを向上させます。
バージョン0.6.4では、別の動的プロバイダーauto
導入され、これは動作しているプロバイダー全体を示します。これにより、pytgpt を起動するたびに動作しているプロバイダーを手動で確認するという作業負荷から解放されます。ただし、プロバイダーとしてのauto
ストリーミング応答ではあまりうまく機能しないため、おそらく、信頼性のためにパフォーマンスを犠牲にする必要があります。
既存のインターフェイスに満足できない場合は、pytgpt-bot が探しているソリューションになる可能性があります。このボットは、幅広い機能を提供することでエクスペリエンスを向上させるように設計されています。 AI 主導の会話に興味がある場合でも、テキストから画像や音声を作成する場合でも、その他の革新的な機能を探索する場合でも、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
いいえ。 | API | 状態 |
---|---|---|
1. | レンダリング時 | cronジョブ |
tgpt
gpt4フリー