>>> pytgpt.phind를 phind로 가져오기>>> bot = phind.PHIND()>>> bot.chat('안녕하세요')'안녕하세요! 오늘은 어떻게 도와드릴까요?'
pytgpt.imager import Imagerimg = Imager()generated_images = img.generate(prompt="Cyberpunk", amount=3, stream=True)img.save(generated_images)
이 프로젝트를 사용하면 API 키가 필요하지 않고 이미지도 생성하지 않고도 45개 이상의 무료 LLM 제공업체 와 원활한 상호 작용이 가능합니다.
python-tgpt 라는 이름은 Golang에서 작동하는 상위 프로젝트 tgpt에서 영감을 얻었습니다. 이 Python 적응을 통해 사용자는 사용 가능한 다양한 무료 LLM에 쉽게 참여할 수 있으며 보다 원활한 AI 상호 작용 경험을 조성할 수 있습니다.
? 파이썬 패키지
웹 통합을 위한 FastAPI
⌨️ 명령줄 인터페이스
? 여러 LLM 제공업체 - 45세 이상
? 스트림 및 비스트림 응답
사용 가능(API 키가 필요하지 않음)
사용자 정의 가능한 스크립트 생성 및 실행
? 대규모 언어 모델에 대한 오프라인 지원
? 이미지 생성 기능
? 텍스트를 오디오로 변환하는 기능
⛓️ 프록시를 통한 연쇄 요청
?️ 향상된 대화 채팅 경험
? 프롬프트 및 응답 저장 기능(대화)
이전 대화를 로드하는 기능
awesome-chatgpt 프롬프트를 쉽게 전달하세요
? 텔레그램 봇 - 인터페이스
모든 주요 작업에 대한 비동기 지원.
이는 단순히 LLM의 호스트이며 다음을 포함합니다.
핀드
당황
블랙복사이
코볼다이
Ai4chat
gpt4all (오프라인)
Poe - Poe|Quora (세션 ID 필요)
Groq (API 키 필요)
OpenAI (API 키 필요)
gpt4free는 41개 이상의 제공업체를 자랑스럽게 제공합니다.
작동 중인 공급자를 나열하려면 다음을 실행하세요.
$ pytgpt gpt4free 테스트 -y
파이썬>=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 Interactive "<킥오프 프롬프트(필수는 아니지만)>"
플래그 --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('<Your 프롬프트>')print(resp)# 출력: 오늘 어떻게 도와드릴까요?
전체 응답 받기
from pytgpt.phind import PHINDbot = PHIND()resp = bot.chat('<Your 프롬프트>')print(resp)# 출력"""{'id': 'chatcml-gp6cwu2e5ez3ltoyti4z', 'object': 'chat. 완성.청크', '생성됨': 1731257890, '모델': '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)# 출력"""HelloHello!Hello! HowHello! How canHello! How can IHello ! 어떻게 도와드릴까요? 안녕하세요! 어떻게 도와드릴까요? 안녕하세요! 오늘은 어떻게 도와드릴까요?"
전체 응답
from pytgpt.phind import PHINDbot = PHIND()resp = bot.ask('<Your Prompt>', stream=True)for value in resp:print(value)# Output"""{'id': 'chatcml-icz6a4m1nbbclw9hhgol ', '개체': 'chat.completion.chunk', '생성됨': 1731258032, '모델': 'phind-instant-llama-3_1-08-31-2024-checkpoint-1500', 'choices': [{'index': 0, 'delta': {'content': 'Hello' }, 'finish_reason': 없음}]}{'id': 'chatcml-icz6a4m1nbbclw9hhgol', '객체': 'chat.completion.chunk', '생성됨': 1731258032, '모델': 'phind-instant-llama-3_1-08-31-2024-checkpoint-1500', 'choices ': [{'색인': 0, '델타': {'content': "안녕하세요! 저는 AI입니다"}, 'finish_reason': 없음}]}{'id': 'chatcml-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': 없음}]}{'id': 'chatcml-icz6a4m1nbbclw9hhgol', 'object': 'chat.completion.chunk', 'created': 1731258032, 'model': 'phind-instant- 라마-3_1-08-31-2024-체크포인트-1500', 'choices': [{'index': 0, 'delta': {'content': "안녕하세요! 저는 코딩과 기술적인 작업을 돕기 위해 Phind에서 만든 AI 비서입니다. 오늘은 어떻게 도와드릴까요?"}, 'finish_reason': 없음}]}"""
import pytgpt.auto import autobot = auto.AUTO()print(bot.chat("<Your-prompt>"))
pytgpt.openai를 openaibot = openai.OPENAI("<OPENAI-API-KEY>")print(bot.chat("<Your-prompt>"))로 가져옵니다.
pytgpt.koboldai를 koboldaibot = koboldai.KOBOLDAI()print(bot.chat("<Your-prompt>"))로 가져옵니다.
pytgpt.phind를 phindbot = phind.PHIND()print(bot.chat("<Your-prompt>"))로 가져옵니다.
pytgpt.perplexity를 perplexitybot = perplexity.PERPLEXITY()print(bot.chat("<Your-prompt>"))로 가져옵니다.
pytgpt.blackboxai를 blackboxaibot = blackboxai.BLACKBOXAI()print(bot.chat("<Your-prompt>"))로 가져옵니다.
pytgpt.gpt4free를 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 = wait AsyncPHIND(False).ask("파이썬이 멋지다고 비판합니다.",stream=True)async_ask의 스트리밍_응답에 대한 async:print(streaming_response)asyncio.run(main () )
import asynciofrom pytgpt.phind import AsyncPHINDasync def main():async_ask = wait AsyncPHIND(False).chat("파이썬이 멋지다고 비판합니다.",stream=True)async_ask의 Streaming_text에 대한 async:print(streaming_text)asyncio.run(main () )
보다 맞춤화된 응답을 얻으려면 optimizer
매개변수를 사용하여 최적화 프로그램을 활용하는 것을 고려하십시오. 해당 값은 code
또는 system_command
로 설정할 수 있습니다.
from pytgpt.phind import PHINDbot = PHIND()resp = bot.ask('<Your Prompt>', Optimizer='code')print(resp)
중요한
v0.1.0부터 기본 상호 작용 모드는 대화형입니다. 이 모드는 대화형 경험을 향상시켜 채팅 기록을 더 잘 제어할 수 있게 해줍니다. 이전 프롬프트와 응답을 연결하여 대화를 더욱 매력적인 경험으로 맞춤화합니다.
여전히 모드를 비활성화할 수 있습니다.
봇 = koboldai.KOBOLDAI(is_conversation=False)
동일한 기능을 얻으려면 콘솔에서 --disable-conversation
플래그를 활용하십시오.
이것은 pollinations.ai에 의해 가능해졌습니다.
$ pytgpt 이미저 "<prompt>"# 예: pytgpt 이미저 "코딩 봇"
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 친화적
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}} | 마지막으로 복사한 텍스트 |
이 기능은 복잡한 작업에 특히 유용합니다. 예를 들어:
$ 자식 차이 | pytgpt generate "여기에 diff 파일이 있습니다: {{stream}} 내 커밋 메시지 기록에 맞춰 간결한 커밋 메시지를 만드세요: {{copied}}" --new
이 그림에서
{{stream}}
$ git diff
작업의 결과를 나타내고,{{copied}}
는$ git log
명령의 출력에서 복사된 콘텐츠를 나타냅니다.
이러한 프롬프트는 AI의 행동이나 반응을 특정 방향으로 안내하여 특정 특성이나 행동을 나타내도록 장려하도록 설계되었습니다. "굉장한 프롬프트"라는 용어는 AI 또는 기계 학습 문헌에서 공식적인 용어는 아니지만 원하는 결과를 달성하는 데 효과적인 프롬프트를 만드는 아이디어를 요약합니다. Linux Terminal , PHP Interpreter 또는 JAIL BREAK처럼 작동하기를 원한다고 가정해 보겠습니다.
인스턴스:
$ pytgpt Interactive --awesome-prompt "Linux Terminal"# Linux 터미널처럼 작동$ pytgpt Interactive -ap DAN# Jailbreak
메모
멋진 프롬프트는 --intro
의 대안입니다. 사용 가능한 프롬프트( 200+ )를 나열하려면 $ pytgpt awesome whole
실행하세요. 자세한 내용을 보려면 $ pytgpt awesome --help
실행하세요.
RawDog는 Python의 다양한 기능을 활용하여 필요에 따라 시스템을 명령하고 제어하는 걸작 기능입니다. 프롬프트 에 따라 Python 코드를 생성하고 실행하므로 말 그대로 무엇이든 할 수 있습니다! rawdog을 맛보려면 생성/대화형 모드에서 --rawdog
shortform -rd
플래그를 추가하기만 하면 됩니다. 이는 tgpt 생태계 에서 이전에는 볼 수 없었던 기능을 도입합니다. 아이디어를 주신 AbanteAI/rawdog에게 감사드립니다.
이는 어떤 면에서는 유용할 수 있습니다. 예를 들어 :
$ pytgpt generate -n -q "원형 차트를 사용하여 디스크 사용량 시각화" --rawdog
아래와 같이 시스템 디스크 사용량을 보여주는 창이 나타납니다.
Pytgpt v0.4.6 에는 환경에서 변수를 가져오는 관례적인 방법이 도입되었습니다. 이를 달성하려면 운영 체제 또는 스크립트에서 접두사 PYTGPT_
와 대문자 옵션 이름을 사용하여 환경 변수를 설정하고 대시를 밑줄로 바꾸십시오.
예를 들어 --provider
옵션의 경우 환경 변수 PYTGPT_PROVIDER
설정하여 해당 옵션에 대한 기본값을 제공합니다. 환경 변수가 PYTGPT_RAWDOG
이고 값이 true/false
인 --rawdog
와 같은 부울 플래그에도 동일한 경우가 적용됩니다. 마지막으로 --awesome-prompt
환경 변수 PYTGPT_AWESOME_PROMPT
사용합니다.
메모
이것은 어떤 명령에도 국한되지 않습니다
새 값을 명시적으로 선언하여 환경 변수를 재정의할 수 있습니다.
팁
현재 디렉터리의 .env
파일에 변수를 저장하거나 ~/.zshrc
파일로 내보냅니다. .txt
파일에서 이전 대화를 로드하려면 -fp
또는 --filepath
플래그를 사용하십시오. 플래그가 전달되지 않으면 기본 플래그가 사용됩니다. 내용을 변경하지 않고 파일에서 컨텍스트를 로드하려면 --retain-file
플래그를 사용하십시오.
버전 0.4.6에는 가장 빠르게 작동하는 g4f 기반 공급자를 나타내는 g4fauto
라는 동적 공급자도 도입되었습니다.
팁
g4f 기반 공급자를 위한 웹 인터페이스를 시작하려면 $ pytgpt gpt4free gui
실행하세요. $ pytgpt api run
REST-API를 시작합니다. 각각 /docs 및 /redoc 에서 문서에 액세스하고 redoc합니다. g4f 기반 공급자에 대한 웹 인터페이스를 시작하려면 터미널에서 다음 명령을 실행하십시오.
$ pytgpt gpt4free GUI
이 명령은 g4f 기반 공급자와 상호 작용하기 위한 웹 사용자 인터페이스를 초기화합니다.
REST-API를 시작하려면:
$ pytgpt API 실행
이 명령은 RESTful API 서버를 시작하여 프로그래밍 방식으로 서비스와 상호 작용할 수 있도록 합니다.
문서에 액세스하고 다시 작성하려면 웹 브라우저에서 다음 경로로 이동하세요.
문서: /docs
재문서: /redoc
응답의 음성 합성을 활성화하려면 시스템에 VLC 플레이어가 설치되어 있는지 확인하거나 Termux 사용자인 경우 Termux:API 패키지가 설치되어 있는지 확인하십시오.
음성 합성을 활성화하려면 명령을 실행할 때 --talk-to-me
플래그나 축약형 -ttm
사용하세요. 예를 들어:
$ pytgpt generate "오우거 이야기 생성" --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. | 렌더링 시 | 크론 작업 |
tgpt
gpt4free