>>> importar pytgpt.phind como phind >>> bot = phind.PHIND()>>> bot.chat('olá')'Olá! Como posso ajudá-lo hoje?
de pytgpt.imager import Imagerimg = Imager()generated_images = img.generate(prompt="Cyberpunk", amount=3, stream=True)img.save(generated_images)
Este projeto permite interação perfeita com mais de 45 provedores de LLM gratuitos sem exigir uma chave de API e também gerar imagens.
O nome python-tgpt inspira-se em seu projeto pai tgpt, que opera em Golang. Por meio dessa adaptação do Python, os usuários podem interagir sem esforço com vários LLMs gratuitos disponíveis, promovendo uma experiência de interação de IA mais tranquila.
? Pacote Python
FastAPI para integração web
⌨️ Interface de linha de comando
? Vários provedores de LLM - 45+
? Resposta de fluxo e não fluxo
Pronto para usar (nenhuma chave API necessária)
Geração e execução de script personalizável
? Suporte offline para modelos de linguagem grande
? Capacidades de geração de imagens
? Capacidades de conversão de texto em áudio
⛓️ Solicitações encadeadas via proxy
?️ Experiência de bate-papo conversacional aprimorada
? Capacidade de salvar prompts e respostas (conversa)
Capacidade de carregar conversas anteriores
Passe prompts incríveis do chatgpt facilmente
? Bot do telegrama - interface
Suporte assíncrono para todas as principais operações.
Estes são simplesmente os anfitriões dos LLMs, incluindo:
Encontrar
Perplexidade
Caixa preta
Koboldai
Ai4chat
gpt4all (off-line)
Poe - Poe|Quora (ID de sessão necessário)
Groq (chave de API necessária)
OpenAI (chave de API necessária)
Mais de 41 provedores orgulhosamente oferecidos por gpt4free.
Para listar os provedores em funcionamento, execute:
$ pytgpt teste gpt4free -y
Python>=3.10
Desenvolvedores:
pip instalar --upgrade python-tgpt
Linha de comando:
pip install --upgrade "python-tgpt[cli]"
Instalação completa:
pip install --upgrade "python-tgpt[todos]"
pip install -U "python-tgt[api]"
instalará dependências da API REST.
Desenvolvedores:
pip install --upgrade "python-tgpt[termux]"
Linha de comando:
pip install --upgrade "python-tgpt[termux-cli]"
Instalação completa:
pip install --upgrade "python-tgpt[termux-all]"
pip install -U "python-tgt[termux-api]"
instalará dependências da API REST
Este pacote oferece uma interface de linha de comando conveniente.
Observação
phind
é o provedor padrão.
Para uma resposta rápida:
python -m pytgpt gerar "<Seu prompt>"
Para modo interativo:
python -m pytgpt interativo "<Prompt inicial (embora não obrigatório)>"
Use o sinalizador --provider
seguido do nome do provedor de sua escolha. por exemplo --provider koboldai
Para listar todos os provedores oferecidos pelo gpt4free, use os seguintes comandos:
pytgpt gpt4free list providers
Você também pode simplesmente usar pytgpt
em vez de python -m pytgpt
.
A partir da versão 0.2.7, executar $ pytgpt
sem qualquer outro comando ou opção entrará automaticamente no modo interactive
. Caso contrário, você precisará declarar explicitamente a ação desejada, por exemplo, executando $ pytgpt generate
.
Gere uma resposta rápida
from pytgpt.phind import PHINDbot = PHIND()resp = bot.chat('<Seu prompt>')print(resp)# Resultado: Como posso ajudá-lo hoje?
Receba de volta a resposta completa
from pytgpt.phind import PHINDbot = PHIND()resp = bot.chat('<Seu prompt>')print(resp)# Saída"""{'id': 'chatcmpl-gp6cwu2e5ez3ltoyti4z', 'objeto': 'chat. conclusão.chunk', 'criado': 1731257890, 'modelo': 'phind-instant-llama-3_1-08-31-2024-checkpoint-1500', 'choices': [{'index': 0, 'delta': {'content': "Olá! Sou um assistente de IA criado por Phind para ajudar nas tarefas de programação. Como posso ajudá-lo hoje?"}, 'finish_reason': None}]}"""
Basta adicionar o parâmetro stream
com valor true
.
Somente texto gerado
from pytgpt.phind import PHINDbot = PHIND()response = bot.chat('hello', stream=True)for chunk in response:print(chunk)# output"""HelloHello!Hello! HowHello! How canHello! How can IHello ! Como posso ajudar você? Olá! Como posso ajudá-lo hoje?
Resposta completa
from pytgpt.phind import PHINDbot = PHIND()resp = bot.ask('<Your Prompt>', stream=True)para valor em resp:print(value)# Output"""{'id': 'chatcmpl-icz6a4m1nbbclw9hhgol ', 'objeto': 'chat.completion.chunk', 'criado': 1731258032, 'modelo': 'phind-instant-llama-3_1-08-31-2024-checkpoint-1500', 'escolhas': [{'index': 0, 'delta': {'content': 'Olá'}, 'finish_reason': Nenhum}]}{'id': 'chatcmpl-icz6a4m1nbbclw9hhgol', 'objeto': 'chat.completion.chunk', 'criado': 1731258032, 'modelo': 'phind-instant-llama-3_1-08-31-2024-checkpoint-1500', 'escolhas': [{'index': 0, 'delta': {'content': "Olá! Eu sou uma IA"}, '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': "Olá! Sou um assistente de IA criado por Phind para ajudar na codificação e nas tarefas técnicas. Como"}, 'finish_reason': Nenhum}]}{'id': 'chatcmpl-icz6a4m1nbbclw9hhgol', 'objeto': 'chat.completion.chunk', 'criado': 1731258032, 'modelo': 'phind-instant- lhama-3_1-08-31-2024-ponto de verificação-1500', 'escolhas': [{'index': 0, 'delta': {'content': "Olá! Sou um assistente de IA criado por Phind para ajudar na codificação e nas tarefas técnicas. Como posso ajudá-lo hoje?"}, 'finish_reason': None}]}"""
import pytgpt.auto import autobot = auto.AUTO()print(bot.chat("<Seu-prompt>"))
importar pytgpt.openai como openaibot = openai.OPENAI("<OPENAI-API-KEY>")print(bot.chat("<Seu-prompt>"))
importar pytgpt.koboldai como koboldaibot = koboldai.KOBOLDAI()print(bot.chat("<Seu-prompt>"))
importe pytgpt.phind como phindbot = phind.PHIND()print(bot.chat("<Seu-prompt>"))
importe pytgpt.perplexity como perplexitybot = perplexity.PERPLEXITY()print(bot.chat("<Seu-prompt>"))
importe pytgpt.blackboxai como blackboxaibot = blackboxai.BLACKBOXAI()print(bot.chat("<Seu-prompt>"))
importar pytgpt.gpt4free como gpt4freebot = gpt4free.GPT4FREE(provider="Koala")print(bot.chat("<Seu-prompt>"))
A versão 0.7.0 introduz implementação assíncrona para quase todos os provedores, exceto alguns, como perplexity , que depende de outras bibliotecas que não possuem tal implementação.
Para facilitar, basta prefixar Async
ao nome da classe síncrona comum. Por exemplo, PHIND
será acessado como AsyncPHIND
:
import asynciofrom pytgpt.phind import AsyncPHINDasync def main():async_ask = await AsyncPHIND(False).ask("Crítica que python é legal.",stream=True)async para streaming_response em async_ask:print(streaming_response)asyncio.run(main () )
import asynciofrom pytgpt.phind import AsyncPHINDasync def main():async_ask = await AsyncPHIND(False).chat("Crítica que python é legal.",stream=True)async para streaming_text em async_ask:print(streaming_text)asyncio.run(main () )
Para obter respostas mais personalizadas, considere utilizar otimizadores usando o parâmetro optimizer
. Seus valores podem ser definidos como code
ou system_command
.
de pytgpt.phind importar PHINDbot = PHIND()resp = bot.ask('<Seu prompt>', otimizador='código')print(resp)
Importante
A partir da versão 0.1.0, o modo padrão de interação é conversacional. Este modo aprimora a experiência interativa, oferecendo melhor controle sobre o histórico do chat. Ao associar solicitações e respostas anteriores, ele adapta as conversas para uma experiência mais envolvente.
Você ainda pode desativar o modo:
bot = koboldai.KOBOLDAI(is_conversation=False)
Utilize o sinalizador --disable-conversation
no console para obter a mesma funcionalidade.
Isso foi possível graças a pollinations.ai.
$ pytgpt imager "<prompt>"# por exemplo, pytgpt imager "Bot de codificação"
de pytgpt.imager import Imagerimg = Imager()generated_img = img.generate('Coding bot') # [bytes]img.save(generated_img)
de pytgpt.imager import Imagerimg = Imager()img_generator = img.generate('Coding bot', amount=3, stream=True)img.save(img_generator)# RAM amigável
de pytgpt.imager import Prodiaimg = Prodia()img_generator = img.generate('Coding bot', amount=3, stream=True)img.save(img_generator)
A funcionalidade generate
foi aprimorada a partir da v0.3.0 para permitir a utilização abrangente da opção --with-copied
e suporte para aceitar entradas canalizadas. Esta melhoria introduz espaços reservados, oferecendo valores dinâmicos para interações mais versáteis.
Espaço reservado | Representa |
---|---|
{{stream}} | A entrada canalizada |
{{copied}} | O último texto copiado |
Esse recurso é particularmente benéfico para operações complexas. Por exemplo:
$ git diferença | pytgpt generate "Aqui está um arquivo diff: {{stream}} Faça uma mensagem de commit concisa a partir dele, alinhando com meu histórico de mensagens de commit: {{copiado}}" --new
Nesta ilustração,
{{stream}}
denota o resultado da operação$ git diff
, enquanto{{copied}}
significa o conteúdo copiado da saída do comando$ git log
.
Esses prompts são projetados para orientar o comportamento ou as respostas da IA em uma direção específica, incentivando-a a exibir certas características ou comportamentos. O termo "prompt incrível" não é um termo formal na literatura sobre IA ou aprendizado de máquina, mas encapsula a ideia de criar prompts que sejam eficazes para alcançar os resultados desejados. Digamos que você queira que ele se comporte como um Terminal Linux , um Interpretador PHP ou apenas como JAIL BREAK.
Instâncias:
$ pytgpt interativo --awesome-prompt "Terminal Linux"# Aja como um terminal Linux$ pytgpt interativo -ap DAN# Jailbreak
Observação
Prompts incríveis são uma alternativa a --intro
. Execute $ pytgpt awesome whole
para listar os prompts disponíveis ( 200+ ). Execute $ pytgpt awesome --help
para mais informações.
RawDog é um recurso de obra-prima que explora os recursos versáteis do Python para comandar e controlar seu sistema de acordo com suas necessidades. Você pode literalmente fazer qualquer coisa com ele, já que ele gera e executa códigos python, orientados por seus prompts ! Para dar uma mordida no rawdog, basta anexar o sinalizador --rawdog
shortform -rd
no modo de geração/interativo . Isso introduz um recurso nunca visto antes no ecossistema tgpt . Obrigado ao AbanteAI/rawdog pela ideia.
Isso pode ser útil de algumas maneiras. Por exemplo :
$ pytgpt generate -n -q "Visualize o uso do disco usando gráfico de pizza" --rawdog
Isso abrirá uma janela mostrando o uso do disco do sistema, conforme mostrado abaixo.
Pytgpt v0.4.6 introduz uma forma convencional de obter variáveis do ambiente. Para conseguir isso, defina as variáveis de ambiente em seu sistema operacional ou script com o prefixo PYTGPT_
seguido do nome da opção em letras maiúsculas, substituindo travessões por sublinhados.
Por exemplo, para a opção --provider
, você definiria uma variável de ambiente PYTGPT_PROVIDER
para fornecer um valor padrão para essa opção. O mesmo caso se aplica a sinalizadores booleanos como --rawdog
cuja variável de ambiente será PYTGPT_RAWDOG
com valor sendo true/false
. Finalmente, --awesome-prompt
usará a variável de ambiente PYTGPT_AWESOME_PROMPT
.
Observação
Isso NÃO está limitado a nenhum comando
As variáveis de ambiente podem ser substituídas declarando explicitamente o novo valor.
Dica
Salve as variáveis em um arquivo .env
em seu diretório atual ou exporte-as em seu arquivo ~/.zshrc
. Para carregar conversas anteriores de um arquivo .txt
, use o sinalizador -fp
ou --filepath
. Se nenhum sinalizador for passado, o padrão será usado. Para carregar o contexto de um arquivo sem alterar seu conteúdo, use o sinalizador --retain-file
.
A versão 0.4.6 também introduz um provedor dinâmico chamado g4fauto
, que representa o provedor baseado em g4f com funcionamento mais rápido.
Dica
Para iniciar a interface web para provedores baseados em g4f, basta executar $ pytgpt gpt4free gui
. $ pytgpt api run
iniciará a API REST. Acesse docs e redoc em /docs e /redoc respectivamente. Para iniciar a interface web para provedores baseados em g4f, execute o seguinte comando em seu terminal:
$ pytgpt gpt4freegui
Este comando inicializa a interface do usuário da Web para interagir com provedores baseados em g4f.
Para iniciar a API REST:
$ execução da API pytgpt
Este comando inicia o servidor RESTful API, permitindo interagir com o serviço de forma programática.
Para acessar a documentação e redoc, navegue até os seguintes caminhos em seu navegador:
Documentação: /docs
ReDoc: /redoc
Para ativar a síntese de fala das respostas, certifique-se de ter o player VLC instalado em seu sistema ou, se você for um usuário Termux, o pacote Termux:API.
Para ativar a síntese de fala, use o sinalizador --talk-to-me
ou sua abreviação -ttm
ao executar seus comandos. Por exemplo:
$ pytgpt generate "Gerar uma história de ogro" --talk-to-me
ou
$ pytgpt interativo -ttm
Este sinalizador instrui o sistema a audiolizar as respostas de IA e depois reproduzi-las, melhorando a experiência do usuário ao fornecer feedback auditivo.
A versão 0.6.4 introduz outro provedor dinâmico, auto
, que denota o provedor geral em funcionamento. Isso alivia você da carga de trabalho de verificar manualmente um provedor em funcionamento sempre que você inicia o pytgpt. No entanto, auto
como provedor não funciona tão bem com respostas de streaming, então provavelmente você precisaria sacrificar o desempenho em prol da confiabilidade.
Se você não estiver satisfeito com as interfaces existentes, o pytgpt-bot pode ser a solução que você procura. Este bot foi projetado para aprimorar sua experiência, oferecendo uma ampla gama de funcionalidades. Esteja você interessado em participar de conversas baseadas em IA, criar imagens e áudio a partir de texto ou explorar outros recursos inovadores, o pytgpt-bot está equipado para atender às suas necessidades.
O bot é mantido como um projeto separado, então você só precisa executar um comando para instalá-lo:
$ pip install pytgpt-bot
Uso: pytgpt bot run <bot-api-token>
Ou você pode simplesmente interagir com aquele que está em execução agora como @pytgpt-bot
Para mais informações de uso, execute $ 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
Não. | API | Status |
---|---|---|
1. | Na renderização | cron-job |
tgpt
gpt4free