Prefácio
Há algum tempo, acumulei algumas APIs em minhas mãos, que não uso muito, principalmente para a função de resumo de IA do blog. Muitas vezes esqueço as senhas das contas dessas plataformas, o que me fez decidir usar a OneAPI para o gerenciamento unificado. Apesar dos tutoriais completos fornecidos pelos autores do OneAPI, alguns usuários (inclusive eu) ainda encontraram alguns problemas menores durante a implementação. Portanto, depois de uma implantação bem-sucedida, decidi escrever este guia de implantação detalhado para aqueles que não estão bem fundamentados, esperando que ele o ajude a passar pelo processo com menos problemas.
Projetos
OneAPI O projeto é um sistema aberto de gerenciamento e distribuição de interface que oferece suporte a uma ampla gama de modelos de linguagem em grande escala, como o ChatGPT da OpenAI, Azure, Anthropic Claude, Google PaLM 2 & Gêmeos etc. Ele se destina ao gerenciamento e à redistribuição de chaves, pode ser implantado por meio de um único executável ou do Docker e fornece uma API simples e unificada para acessar diferentes modelos de idiomas grandes. O sistema é de código aberto, sob a licença MIT, e oferece recursos como suporte a modelos, gerenciamento de tokens e gerenciamento de grupos de usuários. Para obter instruções de implantação e configuração, os usuários devem consultar os repositórios e a documentação do projeto no GitHub.
Construção do projeto
Este projeto fornece imagens do Docker para simplificar o processo de implantação. Podemos fazer a implantação com mais facilidade.
Por padrão, é usado um banco de dados SQLite e, se a variável de ambiente SQL_DSN não estiver definida, os arquivos do banco de dados serão armazenados no caminho especificado pelo contêiner do Docker. Se a variável de ambiente SQL_DSN for definida, o aplicativo se conectará ao banco de dados MySQL ou PostgreSQL que você especificar. Isso serve para que nossas alterações anteriores não sejam perdidas quando reimplantamos ou extraímos a imagem.
pretender
- Plataformas de contêineres gratuitas que suportam o Docker, como Render ou Zeabur.
- Banco de dados MySQL ou PostgreSQL (opcional, recomendado para persistência de dados).
- Um nome de domínio (opcional).
Etapas de implementação
- Hugging Face: rápido, mas não oferece suporte a nomes de domínio vinculados, o acesso doméstico pode ser limitado.
- Renderização: Há suporte para domínios agrupados, o registro pode exigir um cartão de crédito agrupado.
- Koyeb : Há suporte para domínios agrupados, mas é necessário um plano de upgrade.
- Zeabur: acesso rápido, suporte em chinês, implantação de imagem do Docker requer um plano de atualização.
Processo de implantação
Implantação do huggingface
1. copie a imagem do Docker
clicar em um botãoCópia espelhada com um clique Configure THEME (tema da interface, como default ou berry) e SQL_DSN (conexão com o banco de dados). Vou listá-los em detalhes abaixo.
Os efeitos dos diferentes temas são os seguintes: escolha de acordo com sua preferência.
Tema padrão
Tema berry
2 Configuração do banco de dados
- Use um serviço de banco de dados gratuito, como o aiven ou o Planetscale, ou os bancos de dados gratuitos que vêm com o Render e o Koyeb; configure a variável de ambiente SQL_DSN para o projeto.
- Exemplo de MySQL. SQL_DSN=root:123456@tcp(localhost:3306)/oneapi
- Exemplos do PostgreSQL. SQL_DSN=postgres://postgres:123456@localhost:5432/oneapi
2.1Registro e loginEstamos dentro. aiven plataforma, registre-se ou faça login na sua conta.
2.2Preencha as informaçõesSelecione Personal Services e preencha as informações básicas.
2.3Selecione o banco de dadosSelecione o banco de dados MySQL ou PostgreSQL.
2.4Configuração do banco de dadosMarque o plano gratuito, selecione a área de serviço e, por fim, clique em Create (Criar).
2.5Configuração finalMemorize as informações no diagrama e toque em pular até o fim. Não importa se você não se lembrar delas, podemos vê-las depois de pular todas.
3. preencha as variáveis
Com base nas informações do banco de dados na figura, obtemos o seguinte:
URI de serviço.
mysql://CLICK_TO:REVEAL_PASSWORD@mysql-12a9c26-jonastech007-2d92.b.aivencloud.com:10906/defaultdb?ssl-mode=必需
Anfitrião.
mysql-12a9c26-jonastech007-2d92.b.aivencloud.com
Porto.
10906
Usuários:
avnadmin
Senha:
AVNS_QV8niFI8YW48vKqxi3R
Nosso endereço de link deve ser escrito assim: username:password@tcp(Host:Port)/database name
Acabamos com avnadmin:AVNS_QV8niFI8YW48vKqxi3R@tcp(mysql-12a9c26-jonastech007-2d92.b.aivencloud.com:10906)/defaultdb
Preencha esse link na variável e, por fim, clique em copiar para o espaço Espaço duplicado
4. acesso
Nesse ponto, podemos encontrar as configurações clicando no canto superior direito da janelaIncorporar este espaçoO acesso aos nossos serviços é fornecido pelo link abaixo.
Implantação de Koyeb
1. clique para entrarKoyeb Depois de fazer login e se registrar no site oficial, clique em Create Web Service para selecionar a imagem do docker.
2) Na caixa de entrada, digite justsong/one-api:latest , se você não souber de onde isso vem, pode verificar a página do projeto de código abertocompose.yml.
versão: '3.4'
serviços.
um-api.
imagem: "${REGISTRY:-docker.io}/justsong/one-api:latest"
nome do contêiner: one-api
reiniciar: sempre
comando: --log-dir /app/logs
portos.
- "3000:3000"
volumes.
- . /data/oneapi:/data
- . /logs:/app/logs
ambiente.
- SQL_DSN=oneapi:123456@tcp(db:3306)/one-api # Modifique esta linha ou comente-a para usar o SQLite como banco de dados
- REDIS_CONN_STRING=redis://redis
- SESSION_SECRET=random_string # Modificado para string aleatória
- TZ=Ásia/Shanghai
# - NODE_TYPE=slave # Descomente esta linha para nós escravos na implantação de vários computadores
# - SYNC_FREQUENCY=60 # Descomente essa linha se precisar carregar periodicamente dados do banco de dados
${REGISTRY:-docker.io} é uma expressão de variável de ambiente que indica que, se a variável de ambiente REGISTRY não estiver definida, o docker.io padrão (Docker Hub) será usado.
justsong/one-api:latest especifica o nome e o rótulo da imagem, em que justsong é o nome do usuário ou da organização no Docker Hub, one-api é o nome da imagem e latest indica que a versão mais recente dessa imagem é usada.
3. defina as variáveis e as informações de região necessárias e clique no botão Deploy.
4. aguardando a conclusão da implantação, podemos clicar nesse endereço para acessar nossa API do One.
5 A conta de administrador padrão é
- Nome de usuário:root
- Senha:123456
As alterações devem ser feitas em Usuários imediatamente após o login, protegendo assim a conta
Uso
Considerando que a maioria das pessoas que podem ler minha postagem são novatas, demonstrarei brevemente seu uso. A API gratuita apresentada na postagem do blog acimaestar queimando na cabeça Exemplos.
Para aqueles que não estão impressionados, você pode descobrir por si mesmo ou assistir ao vídeo Esta postagem do blog
Configuração da OneAPI
1) Depois de fazer login na conta de administrador do OneAPI, localize a pastavala de irrigação, clique emNovos canais
2. podemos nomear o nome do canal, o endereço da API do canal é o endereço de encaminhamento, basta preencher o endereço de solicitação e, em seguida, selecionar o modelo de suporte; adicionar sua chave de API e, por fim, enviar.
3. finalmente, clicamos em não testado medem a conectividade da API.
4) Depois de concluir o teste, seremos capazes detokenSe desejar, você também pode compartilhar seu site depois de adicionar muitas APIs para que todos possam usá-las. Se quiser, você também pode compartilhar seu site depois de adicionar muitas APIs e permitir que as pessoas as usem.
Só precisamos manter cada canal de API em segundo plano. Quanto ao nosso endereço de solicitação da OneAPI, ele é nosso nome de domínio por padrão, mas você também pode alterá-lo nas configurações.