Este artigo utiliza a versão v0.12.1 do Dify, introduzindo principalmente o nó HTTP no fluxo de trabalho do Dify, para chamar a interface siliconflow tencent/HunyuanVideo, por meio do texto para gerar a implementação específica do vídeo. Entre eles, os serviços Dify e HTTP são implantados sobre a plataforma Sealos Cloud.
HunyuanVídeo É um modelo básico de geração de vídeo de código aberto lançado pela Tencent, com mais de 13 bilhões de parâmetros, que atualmente é o maior modelo de geração de vídeo de código aberto. O modelo adota uma arquitetura unificada de geração de imagens e vídeos, integrando tecnologias importantes, como agrupamento de dados, treinamento conjunto de modelos de imagem e vídeo e infraestrutura eficiente. O modelo usa um modelo de macrolinguagem multimodal como codificador de texto, realiza a compactação espaço-temporal por meio de VAE 3D e oferece reescrita de palavras-chave. De acordo com os resultados da avaliação humana profissional, o HunyuanVideo supera os modelos de última geração existentes em termos de alinhamento de texto, qualidade de movimento e qualidade visual.
I. HunyuanInterface de vídeo
1. criar um vídeo vicentino
Gere o vídeo inserindo o prompt; a interface retorna o requestId gerado pela solicitação atual do usuário; o usuário precisa obter o link específico do vídeo pesquisando a interface de status; o resultado gerado é válido dentro de 10 minutos; pegue o link do vídeo a tempo. Como mostrado abaixo:
solicitações de importação
url = "https://api.siliconflow.cn/v1/video/submit"
payload = {
"model": "tencent/HunyuanVideo",
"prompt": "", "seed": 123
"seed": 123
}
headers = {
"Authorisation": "Bearer ", "Content-Type".
"Content-Type": "application/json"
}
response = requests.request("POST", url, json=payload, headers=headers)
print(response.text)
2. obtenha o link de geração de vídeo
Obtenha o vídeo gerado pelo usuário conforme mostrado abaixo:
solicitações de importação
url = "https://api.siliconflow.cn/v1/video/status"
payload = {"requestId": ""}
headers = {
"Content-Type": "application/json"
}
response = requests.request("POST", url, json=payload, headers=headers)
print(response.text)
HunyuanEncapsulamento da interface de vídeo
Como o texto para gerar o vídeo ainda é relativamente longo, geralmente os fornecedores no design do tempo terão duas interfaces, uma interface para obter essa solicitação requestId, outra interface de acordo com a requestId para determinar o status do modelo de geração de vídeo e assim por diante a geração de vídeo é concluída antes do retorno do URL do vídeo. Portanto, você não pode usar diretamente o nó HTTP no fluxo de trabalho do Dify para chamar a interface oficial do siliconflow, mas precisa encapsular a interface HunyuanVideo novamente. O pacote específico da interface HunyuanVideo também é muito simples: é necessário iniciar um serviço do Flask, de acordo com a lógica comercial do pacote.
Gere o comando requirements.txt conforme mostrado abaixo:
pip freeze > requirements.txt
Empacotamento como um comando espelho, conforme mostrado abaixo:
docker build -t 1000sprites/hunyuanvideo:v1 .
Observação especial: se a tag não tiver um nome de usuário do repositório dockerhub (1000sprites precisa ser preenchido de forma correspondente ao meu), o Docker carregará a imagem para relatar um erro :denied: o acesso solicitado ao recurso foi negado.
Empacote a imagem gerada 1000sprites/hunyuanvideo:v1 da seguinte forma:
Clique em Push to Hub para fazer upload para o repositório do dockerhub, conforme mostrado abaixo:
Como as imagens carregadas no repositório do dockerhub são privadas por padrão, elas precisam ser definidas como públicas, conforme mostrado abaixo:
Implantação do serviço HunyuanVideo pela Sealos
Clique em "Application Management" (Gerenciamento de aplicativos), conforme mostrado abaixo:
Configure-o conforme necessário, especialmente o nome do espelho não deve ser escrito incorretamente, pois ele extrairá espelhos desse endereço, conforme mostrado abaixo:
Clique em "Application Management" (Gerenciamento de aplicativos) para visualizar, quando o STATUS do aplicativo mudar de Pending (pendente) para Running (em execução), isso indica que o aplicativo foi iniciado com êxito. Quando o STATUS é Running (Em execução), você pode acessar diretamente o endereço de rede externo. Se tiver problemas, verifique os registros do Pod, conforme mostrado abaixo:
III. fluxo de trabalho de geração de vídeo da Dify
bibliografia
[1] Experiência on-line de geração de vídeo: https://cloud.siliconflow.cn/playground/text-to-video
[2] Instalação rápida de aplicativos Python: https://sealos.run/docs/examples/programming-languages/Quick instalação de aplicativos Python
[3] https://hub.docker.com/