NOTA: Este é um projeto de pesquisa. Por favor, não o use comercialmente e use-o com responsabilidade.
Este projeto implementa uma API web que oferece uma interface unificada para Google Gemini e Claude 3.
Auto-hospedado: Python/FastAPI permite flexibilidade para execução em qualquer lugar. Não preso a plataformas proprietárias.
Suporte de streaming: Respostas em tempo real do streaming de Claude.
Leve e escalável: desenvolvido com FastAPI para alto desempenho.
Chave de API: nenhuma chave de API é necessária.
✅ A integração da API Claude-3 também está totalmente implementada e disponível
✅ Integração da API Google Gemini disponível agora
✅ Configuração da UI : Implemente o roteamento para o caminho localhost:8000/WebAI
PIP : Em andamento
Este repositório está atualizado.
Por favor, não esqueça de dar uma estrela
Versão Python >= 3.10 Contas a seguir (todas oferecem inscrições gratuitas):
Em seguida, adicione seu(s) token(s) ao arquivo Config.conf
. (veja a seção Configuração ).
Observação
Nota : Claude e Gemini oferecem opções de login automático - você pode fazer login através do seu navegador e pular esta etapa.
git clone https://github.com/Amm1rr/WebAI-to-API.git && cd WebAI-to-API
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv S cripts a ctivate # Windows
pip install -r requirements.txt
Navegue até o diretório webai2api
e execute o servidor web:
cd WebAI-to-API/webai2api/
python run.py
Agora a documentação da API e a interface Web de configuração devem estar disponíveis nos seguintes endereços:
Dica
Abra a configuração da interface da Web: http://localhost:8000/WebAI
Documentação da API aberta: http://localhost:8000/docs
Observação
Gêmeos
http://localhost:8000/gemini
Cláudio
http://localhost:8000/claude
Cláudio/Gêmeos
http://localhost:8000/v1/chat/completions
Entrada/Saída
# Input:
_____
{
" message " : " Hi, Who are you? " ,
" stream " : true
}
--------------------
# Output:
_____
{
I am a Chatbot assistant :)
}
--------------------
# Response Output:
_____
# Streaming
" String "
# Not Streaming
" String "
Primeiro, navegue até o diretório da UI:
cd WebAI-to-API/webai2api/UI
npm install
npm run build
Depois de iniciar o servidor web usando python webai2apirun.py
:
Observação
Nota: O primeiro argumento para executar o exemplo determina se o streaming deve ser retornado ou não.
cd examples/
python WebAPI-to-API/webai2api/test.py
OR
python example_claude.py false
python example_claude.py true
python example_gemini.py
ou tente Claude com cURL
execute este comando cURL em uma janela de terminal:
curl -X ' POST '
' http://localhost:8000/claude '
-H ' accept: application/json '
-H ' Content-Type: application/json '
-d ' {
"message": "who are you?",
"stream": false
} '
Observação
Nota : O session_id
está configurado no arquivo Config.conf . Se você enviar esta variável vazia, ela usará o Config.conf
Observação
Nota : Claude e Gemini oferecem duas opções de autenticação - você pode fazer login no seu navegador e pular esta etapa ou seguir as instruções abaixo para configurar a autenticação.
Importante
"O problema de login automático por navegador é causado pelo uso de várias contas ou perfis de navegador. Levará algum tempo para ser totalmente resolvido. Uma atualização futura resolverá o problema. Por enquanto, se você tiver problemas para fazer login em seus navegadores, tente fazer login com apenas um navegador ou copie manualmente sessões e cookies como solução alternativa, conforme descrito nas instruções abaixo."
A maneira mais fácil é simplesmente fazer login nos sites do chatbot. (Cláudio | Gêmeos)
OU
Primeiro você precisa adicionar seus tokens ao arquivo Config.conf
(consulte a seção Configuração ).
Método 1:
Para Gemini, tudo que você precisa fazer é fazer login em sua conta usando seu navegador. (Firefox, Chrome, Safari, Edge...)
Método 2:
Google Gemini:
obtenha os cookies mencionados aqui em uma sessão autorizada em gemini.google.com. Os cookies podem ser usados para enviar solicitações POST para o endpoint /gemini junto com uma mensagem em uma carga JSON. É importante que o session_id , que é o seu cookie __Secure-1PSID , e o session_idts e session_idcc , que é o seu cookie Secure-1PSIDTS e Secure-1PSIDCC , sejam incluídos na solicitação. (Captura de tela)
Nome | Nome da sessão |
---|---|
session_id | __Secure-1PSID |
session_idts | __Secure-1PSIDTS |
session_idcc | __Secure-1PSIDCC |
Developer Tools
(pressione F12 )Application Tab
Cookies Tab
__Secure-1PSID
e __Secure-1PSIDTS
e __Secure-1PSIDCC
. Copie o valor desses cookies. Método 1:
Para Claude, tudo que você precisa fazer é acessar sua conta usando seu navegador. (Firefox, Chrome, Safari, Edge...)
Método 2:
Claude:
Você pode obter o cookie na guia de rede de ferramentas de desenvolvedor do navegador (veja se há solicitações de claude.ai, verifique o cookie, copie o valor inteiro) ou na guia de armazenamento (você pode encontrar o cookie de claude.ai, haverá quatro valores) (Captura de tela )
Developer Tools
(pressione F12 )Network Tab
Cookie
Como encontrar tokens
Observação
Nota : Claude e Gemini apresentam opções de login automático - fazendo login através do seu navegador ou configurando Claude e Gemini usando o arquivo de configuração fornecido.
/v1/chat/completions
Você pode especificar o tipo de modelo nas configurações do endpoint /v1/chat/completions
. As opções disponíveis são “Claude” e “Gêmeos”. Por padrão, o sistema utiliza o modelo “Claude”.
# Case-Sensitive
[Main]
Model=Claude
# or
Model=Gemini
# Case-Sensitive
[Main]
Model = [Claude] or [Gemini]
[Claude]
COOKIE=[YOURS]
[Gemini]
SESSION_ID=[YOURS]
SESSION_IDTS=[YOURS]
SESSION_IDCC=[YOURS]
Este projeto está licenciado sob a licença MIT. Sinta-se à vontade para usá-lo como quiser.