Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

O geminicli2api é um servidor proxy de código aberto baseado em FastAPI hospedado no GitHub. Ele converte a funcionalidade da CLI do Google Gemini em uma interface de API compatível com o OpenAI e oferece suporte a pontos de extremidade nativos da API do Gemini. Os desenvolvedores podem chamar os modelos do Google Gemini por meio do formato familiar da API OpenAI ou da API direta do Gemini, gratuitamente, usando a cota de API fornecida pelo Google. O projeto oferece suporte à geração de texto, entradas multimodais (por exemplo, texto e imagens), respostas de streaming em tempo real e muito mais. Ele oferece uma variedade de métodos de autenticação, adequados para a rápida implantação no local ou na nuvem, amplamente utilizados em ambientes de desenvolvimento, teste e produção. O geminicli2api foi projetado para ser leve, fácil de configurar e é particularmente adequado para desenvolvedores que precisam integrar os recursos do Gemini em seus fluxos de trabalho existentes.

Lista de funções

  • Oferece compatibilidade com OpenAI /v1/chat/completions responder cantando /v1/models adaptando as ferramentas OpenAI existentes.
  • Suporte para pontos de extremidade nativos da API Gemini, como /v1beta/models/{model}:generateContentO modelo Gemini pode ser chamado diretamente do modelo Gemini.
  • Suporta respostas de streaming em tempo real, adequadas para diálogo interativo ou geração de texto longo.
  • Oferece suporte à entrada multimodal e lida com conteúdo misto, como texto e imagens.
  • Fornece aprimoramentos de pesquisa do Google por meio de -search As variantes do modelo fornecem respostas mais precisas.
  • Suporte para controlar o processo de raciocínio do Gemini usando o -nothinking responder cantando -maxthinking As variantes do modelo ajustam a profundidade do raciocínio.
  • Oferece suporte a vários métodos de autenticação, incluindo tokens de portador, autenticação básica, chaves de API e assim por diante.
  • Oferece suporte a implementações em contêineres do Docker e é compatível com o Hugging Face Spaces.

Usando a Ajuda

Processo de instalação

O geminicli2api é simples de instalar e configurar e oferece suporte a implantações em execução local e em contêineres. Veja a seguir as etapas detalhadas:

  1. armazém de clones
    Clone o repositório geminicli2api localmente usando o seguinte comando:

    git clone https://github.com/gzzhongqi/geminicli2api
    cd geminicli2api
    
  2. Instalação de dependências
    O projeto é baseado em Python e FastAPI, com dependências listadas na seção requirements.txt em. Execute o seguinte comando para instalar:

    pip install -r requirements.txt
    
  3. Configuração de variáveis de ambiente
    O geminicli2api precisa ser configurado com variáveis de ambiente relacionadas à autenticação. Crie um arquivo .env adicione o seguinte:

    GEMINI_AUTH_PASSWORD=你的认证密码
    GEMINI_CREDENTIALS={"client_id":"你的客户端ID","client_secret":"你的客户端密钥","token":"你的访问令牌","refresh_token":"你的刷新令牌","scopes":["https://www.googleapis.com/auth/cloud-platform"],"token_uri":"https://oauth2.googleapis.com/token"}
    PORT=8888
    
    • GEMINI_AUTH_PASSWORDSenha de autenticação para acesso à API, obrigatória.
    • GEMINI_CREDENTIALSCredenciais do Google OAuth: uma cadeia de caracteres JSON de credenciais do Google OAuth, contendo o client_ideclient_secret etc.
    • Variáveis opcionais:
      • GOOGLE_APPLICATION_CREDENTIALSCaminho para o arquivo de credenciais do Google OAuth: Caminho para o arquivo de credenciais do Google OAuth.
      • GOOGLE_CLOUD_PROJECT talvez GEMINI_PROJECT_IDID do projeto Google Cloud.
    • Se estiver usando um arquivo de credenciais, crie credentials em sua conta do Google Cloud Services no diretório .json e definir o arquivo GOOGLE_APPLICATION_CREDENTIALS Aponta para o caminho do arquivo.
  4. operação local
    Após a conclusão da configuração, execute o seguinte comando para iniciar o serviço:

    python -m uvicorn app.main:app --host 0.0.0.0 --port 8888
    

    Serviço de escuta padrão http://localhost:8888.

  5. Implementação do Docker
    O geminicli2api oferece suporte à implantação em contêineres do Docker e simplifica a configuração do ambiente.

    • Construa a imagem espelhada:
      docker build -t geminicli2api .
      
    • Execute o contêiner (porta padrão 8888):
      docker run -p 8888:8888 \
      -e GEMINI_AUTH_PASSWORD=your_password \
      -e GEMINI_CREDENTIALS='{"client_id":"...","token":"..."}' \
      -e PORT=8888 \
      geminicli2api
      
    • Use o Docker Compose:
      docker-compose up -d
      

      Para implantações do Hugging Face Spaces, use a porta 7860:

      docker-compose --profile hf up -d geminicli2api-hf
      
  6. Implantação de espaços para abraçar o rosto
    • Faça login no Hugging Face e crie um novo Docker Space.
    • Faça upload do conteúdo do repositório para o Space.
    • Adicione uma variável de ambiente às configurações do Space:GEMINI_AUTH_PASSWORD responder cantando GEMINI_CREDENTIALS(ou outra fonte de credenciais).
    • O Space cria e implanta automaticamente o serviço, fica atento a http://<space-url>:7860.

Usando a API

O geminicli2api fornece endpoints compatíveis com OpenAI e nativos da API Gemini que os desenvolvedores podem escolher de acordo com suas necessidades.

API compatível com OpenAI

Chame o geminicli2api usando a biblioteca do cliente OpenAI, com pontos de extremidade consistentes com a API do OpenAI.
exemplo típico(Python):

import openai
client = openai.OpenAI(
base_url="http://localhost:8888/v1",
api_key="your_password"  # GEMINI_AUTH_PASSWORD
)
response = client.chat.completions.create(
model="gemini-2.5-pro-maxthinking",
messages=[{"role": "user", "content": "用简单语言解释相对论"}],
stream=True
)
for chunk in response:
if chunk.choices[0].delta.reasoning_content:
print(f"推理过程: {chunk.choices[0].delta.reasoning_content}")
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")

API nativa do Gemini

As chamadas diretas para os pontos de extremidade da API Gemini permitem configurações mais flexíveis.
exemplo típico(Python):

import requests
headers = {
"Authorization": "Bearer your_password",
"Content-Type": "application/json"
}
data = {
"contents": [
{"role": "user", "parts": [{"text": "用简单语言解释相对论"}]}
],
"thinkingConfig": {"thinkingBudget": 32768, "includeThoughts": True}
}
response = requests.post(
"http://localhost:8888/v1beta/models/gemini-2.5-pro:generateContent",
headers=headers,
json=data
)
print(response.json())

Entradas multimodais

Suporta o upload de textos e imagens a serem enviados para /v1/chat/completions talvez /v1beta/models/{model}:generateContent.
exemplo típico(Faça upload de imagens e texto):

curl -X POST http://localhost:8888/v1/chat/completions \
-H "Authorization: Bearer your_password" \
-H "Content-Type: application/json" \
-d '{"model": "gemini-2.5-pro", "messages": [{"role": "user", "content": "分析这张图片并描述内容"}], "files": ["./image.jpg"]}'

Método de autenticação

Há suporte para os seguintes métodos de autenticação:

  • Token de portador::Authorization: Bearer your_password
  • Certificação básica::Authorization: Basic base64(username:your_password)
  • Parâmetros de consulta::?key=your_password
  • Cabeça do Google::x-goog-api-key: your_password

Modelos suportados

  • Modelo básico:gemini-2.5-proegemini-2.5-flashegemini-1.5-proegemini-1.5-flashegemini-1.0-pro
  • Variantes:
    • -searchAtivar os aprimoramentos de pesquisa do Google (por exemplo, o Google Search) gemini-2.5-pro-search).
    • -nothinkingRedução do número de etapas de raciocínio (por exemplo, o número de etapas de raciocínio) gemini-2.5-flash-nothinking).
    • -maxthinkingAumento do orçamento para o raciocínio (por exemplo, para o gemini-2.5-pro-maxthinking).

advertência

  • seguro GEMINI_AUTH_PASSWORD for definido, caso contrário, a solicitação de API falhará.
  • As credenciais do Google OAuth precisam ser válidas e recomenda-se que sejam obtidas no console do Google Cloud.
  • As respostas de streaming exigem suporte do cliente para processamento de dados em pedaços.
  • Verifique as cotas de projeto do Google Cloud para evitar exceder os limites de chamadas de API.

cenário do aplicativo

  1. Integração com as ferramentas OpenAI existentes
    Os desenvolvedores usam o geminicli2api para conectar os modelos Gemini a ferramentas baseadas na API OpenAI (como o LangChain) e mudar rapidamente para a cota gratuita do Gemini sem modificar o código.
  2. Geração de conteúdo multimodal
    Os criadores de conteúdo fazem upload de imagens e textos para gerar descrições, análises ou conteúdo criativo adequado para design de publicidade ou produção de material educacional.
  3. Fluxos de trabalho automatizados
    As organizações automatizam o processamento de documentos, geram relatórios ou respondem a consultas de clientes por meio do geminicli2api, melhorando a eficiência operacional.

QA

  1. Quais métodos de autenticação são compatíveis com o geminicli2api?
    Oferece suporte a tokens de portador, autenticação básica, parâmetros de consulta e autenticação de cabeçalho do Google, o que requer a configuração do GEMINI_AUTH_PASSWORD.
  2. Como faço para obter as credenciais do Google OAuth?
    Crie uma conta de serviço no console do Google Cloud, faça o download do arquivo de chave JSON, preencha os campos GEMINI_CREDENTIALS ou definir GOOGLE_APPLICATION_CREDENTIALS Caminho.
  3. Quais variantes de modelo são compatíveis?
    apoiar algo -search(Pesquisa do Google aprimorada),-nothinking(Raciocínio reduzido),-maxthinking(Aumento do raciocínio) para a variante gemini-2.5-pro responder cantando gemini-2.5-flash.
  4. Como implantar em espaços com o Hugging Face?
    Faça o fork do repositório, crie um Docker Space, configure o GEMINI_AUTH_PASSWORD responder cantando GEMINI_CREDENTIALSO espaço será implantado automaticamente.
0Marcado
0Recomendado

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

caixa de entrada

Entre em contato conosco

voltar ao topo

pt_BRPortuguês do Brasil