Aprendizagem pessoal com IA
e orientação prática

A Smart Spectrum lançou um modelo de visão gratuito GLM-4V-Flash com limite de simultaneidade aumentado para 10, desta vez suficiente para ambientes de produção

Série GLM-4V

A série GLM-4V consiste em três modelos para diferentes cenários de aplicação.

  • GLM-4V-Plus: oferece excelente compreensão multimodal, pode processar até 5 imagens simultaneamente e suporta a compreensão de conteúdo de vídeo para cenários complexos de análise multimídia.
  • GLM-4V: com foco na compreensão do conteúdo da imagem, ele é capaz de analisar até 5 imagens simultaneamente e é adequado para ocasiões em que é necessária uma compreensão profunda da imagem.
  • GLM-4V-Flash (gratuito): concentra-se na compreensão eficiente de uma única imagem para cenários com resolução rápida de imagens, como análise de imagens em tempo real ou processamento de imagens em lote.

chamada síncrona

solicitação de interface

tipologia instruções
método de transmissão https
endereço de solicitação https://open.bigmodel.cn/api/paas/v4/chat/completions
método de invocação Chamada síncrona, aguardando que o modelo termine a execução e retorne o resultado final ou chamada SSE
codificação de caracteres UTF-8
Formato de solicitação de interface JSON
formato de resposta JSON ou evento de fluxo padrão
Tipo de solicitação de interface POST
desenvolvimento da linguagem Qualquer linguagem de desenvolvimento que possa iniciar solicitações http.

parâmetro de solicitação

Nome do parâmetro tipologia campo obrigatório Descrição do parâmetro
modelo Cordas ser A codificação do modelo da chamada. Códigos de modelo: glm-4v-plus , glm-4v, glm-4v-flash (gratuito)
mensagens Lista ser Quando o modelo de linguagem é chamado, uma lista de mensagens de diálogo atuais é inserida no modelo como dicas, passando parâmetros na forma de matrizes json. Por exemplo, o parâmetro de compreensão de vídeo:{ "role": "user", "content": [ { "type": "video_url", "video_url": { "url" : "https://xxx/xx.mp4" } }, { "type": "text", "text": "Please describe this video carefully" } ] }Parâmetros de compreensão de imagens:{ "role": "user", "content": [ { "type": "image_url", "image_url": { "url" : "https://xxx/xx.jpg" } }, { "type": "text", "text": "Explain the phenomenon in the picture" } ] }Os tipos de mensagem possíveis incluem Mensagem do usuário, Mensagem do assistente. Consulte as descrições dos campos de mensagem abaixo.
request_id Cordas entupido Passado pelo usuário, é necessário garantir a exclusividade; usado para distinguir entre a identidade exclusiva de cada solicitação, o usuário não passa a plataforma será gerada por padrão.
do_sample Booleano entupido A estratégia de amostragem é ativada quando do_sample é true, e as estratégias de amostragem temperature e top_p não terão efeito quando do_sample for false.
fluxo Booleano entupido Esse parâmetro deve ser definido como Fasle ou omitido ao usar chamadas síncronas. Se definido como True, o modelo retornará todo o conteúdo de uma só vez depois de gerar todo o conteúdo. Se for definido como True, o modelo retornará o conteúdo gerado pelo modelo em um Event Stream padrão, um bloco de cada vez e, no final do Event Stream, ele retornará umdados: [DONE]Mensagem.
temperatura Flutuação entupido Temperatura da amostra, controle da aleatoriedade da saída, deve ser positiva O intervalo de valores é:[0.0,1.0]O valor padrão é 0,8; quanto maior o valor, mais aleatória e criativa será a saída; quanto menor o valor, mais estável ou certa será a saída. Recomenda-se ajustar o valor de acordo com o cenário do aplicativo. top_p talvez temperatura mas não ajuste os dois parâmetros ao mesmo tempo
top_p Flutuação entupido Outro método de amostragem com temperatura, chamado de amostragem de kernel O intervalo de valores é:[0.0, 1.0]O valor padrão é 0,6. Os modelos são considerados como tendo um top_p massa de probabilidade tokens Por exemplo, 0,1 significa que o decodificador de modelo considera apenas tokens do conjunto candidato de probabilidades do antigo 10%. Recomenda-se que você ajuste o modelo de acordo com o cenário do seu aplicativo. top_p talvez temperatura mas não ajuste os dois parâmetros ao mesmo tempo
max_tokens Inteiro entupido Máximo de tokens de saída do modelo, o padrão é 1024, suporte máximo de 1024 tokens.
user_id Cordas entupido Uma ID exclusiva para o usuário final para ajudar a plataforma a intervir em violações do usuário final, geração de informações ilegais e indesejáveis ou outros comportamentos abusivos.

Formato das mensagens

Os tipos de mensagem aceitáveis para o modelo incluem Mensagem do usuário, Mensagem do assistente, e o formato varia para diferentes tipos de mensagem. Os detalhes são os seguintes:

Mensagem do usuário

Nome do parâmetro tipologia campo obrigatório Descrição do parâmetro
função Cordas ser As informações de função da mensagem devem serusuário
conteúdo Lista ser Conteúdo da mensagem.
tipo Cordas ser Tipo de texto: text Tipo de imagem: image_url Tipo de vídeo: video_url Os tipos de vídeo e imagem não podem ser inseridos ao mesmo tempo
texto Cordas ser Suplementar quando o tipo é texto
image_url Objeto ser Quando o tipo for image_url, adicione
url Cordas ser URL da imagem ou codificação base64. O limite de upload de imagens é de menos de 5 milhões por imagem e não mais de 6000*6000 pixels. São aceitos os formatos jpg, png e jpeg. Observação: o GLM-4V-Flash não é compatível com a codificação base64.
video_url Objeto ser Quando o tipo for video_url, o parâmetro video_url deverá ser o primeiro quando somente o glm-4v-plus for compatível com a compreensão de vídeo de entrada de vídeo.
url Cordas ser URL do vídeo. O tamanho do vídeo só é compatível com até 20M, a duração do vídeo não é superior a 30s. Tipo de vídeo compatível mp4.

Mensagem do assistente

Nome do parâmetro tipologia campo obrigatório Descrição do parâmetro
função Cordas ser As informações de função da mensagem devem serassistente
conteúdo Cordas ser Mensagem

Parâmetros de resposta

Nome do parâmetro tipologia Descrição do parâmetro
id Cordas ID da tarefa
criado Longo A hora de criação da solicitação, que é um registro de data e hora Unix em segundos.
modelo Cordas Nome do modelo
opções Lista Conteúdo de saída do modelo do diálogo atual
índice Inteiro Subscritos de resultados
finish_reason Cordas Motivos para o término do raciocínio do modelo.pararRepresenta o fim natural do raciocínio ou aciona uma palavra de parada.comprimento representa o alcance do limite superior do comprimento dos tokens.sensível Representa o conteúdo de inferência de modelo interceptado pela interface de auditoria de segurança.network_error representa as anomalias de inferência do modelo.
mensagem Objeto Mensagem de texto retornada pelo modelo
função Cordas A função do diálogo atual, atualmente padronizada como assistente (modelo)
conteúdo Lista Conteúdo do diálogo atual
uso Objeto Retorna uma contagem do número de tokens para essa chamada de modelo no final do processo.
prompt_tokens Inteiro Número de tokens inseridos pelo usuário
completion_tokens Inteiro Número de tokens produzidos pelo modelo
total_tokens Inteiro Total de tokens
filtro_de_conteúdo Lista Voltar para informações sobre segurança de conteúdo
função Cordas Links para entrada em vigor da segurança, incluindofunção = assistente raciocínio de modelagem.função = usuário entrada do usuário.função = histórico contexto histórico
nível Inteiro Nível de gravidade de 0 a 3, sendo o nível 0 o mais grave e o 3 o menos grave.

Exemplo de uma solicitação

Carregar URL do vídeo

Exemplo de compreensão de vídeo #, upload de URLs de vídeo
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="YOUR API KEY") # Preencha sua própria APIKey
response = client.chat.completions.create(
model="glm-4v-plus", # Preencha o nome do modelo a ser chamado
messages=[
{
"role": "user", "content": [ {
"content": [
{
"type": "video_url", "content": [ { "type": "user", "content": {
"video_url": {
"url" : "https://sfile.chatglm.cn/testpath/video/xxxxx.mp4"
}
},
{
"type": "text".
"text": "Please describe this video carefully" (Descreva este vídeo cuidadosamente)
}
]
}
]
)
print(response.choices[0].message)

Carregar vídeo Base64

importar base64
from zhipuai import ZhipuAI
video_path = "/Usuários/SeuComputador/xxxx.mp4"
with open(video_path, 'rb') as video_file.
video_base = base64.b64encode(video_file.read()).decode('utf-8')
client = ZhipuAI(api_key="YOUR API KEY") # complete sua própria APIKey
response = client.chat.completions.create(
model="glm-4v-plus", # Preencha o nome do modelo a ser chamado
messages=[
{
"role": "user", "content": [ {
"content": [
{
"type": "video_url", "content": [ { "type": "user", "content": {
"video_url": {
"url" : video_base
}
},
{
"type": "text", "text": "Please describe this video carefully", {
"text": "Por favor, descreva este vídeo cuidadosamente"
}
]
}
]
)
print(response.choices[0].message)

Carregar URL da imagem

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # Preencha sua própria APIKey
response = client.chat.completions.create(
model="glm-4v", # Preencha o nome do modelo que precisa ser chamado.
messages=[
{
"role": "user", "content": [ {
"content": [
{
"type": "text", "text": "What's in the picture", "text": "What's in the picture", "text": "What's in the picture
"text": "What's in the picture" (O que há na imagem)
},
{
"type": "image_url",
"image_url": {
"url" : "https://img1.baidu.com/it/u=1369931113,3388870256&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1703696400&t= f3028c7a1dca43a080aeb8239f09cc2f"
}
}
]
}
]
)
print(response.choices[0].message)

Carregar imagem Base64

importar base64
from zhipuai import ZhipuAI
img_path = "/Usuários/SeuComputador/xxxx.jpeg"
with open(img_path, 'rb') as img_file: img_base = base64.
img_base = base64.b64encode(img_file.read()).decode('utf-8')
client = ZhipuAI(api_key="YOUR API KEY") # complete sua própria APIKey
response = client.chat.completions.create(
model="glm-4v-plus", # Preencha o nome do modelo a ser chamado
messages=[
{
"role": "user", "content": [ {
"content": [
{
"type": "image_url",
"image_url": {
"url": img_base
}
},
{
"type": "text", "text": "Please describe this image" (Descreva esta imagem), {
"text": "Por favor, descreva esta imagem"
}
]
}
]
)
print(response.choices[0].message)

Várias rodadas de diálogos com imagens

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="YOUR API KEY") # Preencha sua própria APIKey
response = client.chat.completions.create(
model="glm-4v-plus", # Preencha o nome do modelo a ser chamado
messages=[
{
"content": [
{
"image_url": {
"url": "https://cdn.bigmodel.cn/xxxxxx.png"
},
"type": "image_url"
},
{
"text": "What's in the picture" (O que há na imagem),
"type": "text"
}
], { "role": "user" (função: "usuário").
"role": "user" (função: "usuário")
},
{
"content": [
{
"text": "Esta é uma pintura que retrata uma paisagem natural, mostrando um lago tranquilo com água em vários tons de azul-esverdeado. Uma cerejeira em flor cresce perto do lago e suas flores branco-rosadas parecem vibrantes à luz do sol. Sob a árvore, há um homem vestido de azul sentado em um barco, aparentemente aproveitando o momento. Ao fundo, há colinas onduladas cobertas de vegetação verde, enquanto os topos das colinas estão cercados por nuvens, adicionando uma sensação de mistério. Um pequeno pavilhão também pode ser visto à distância, que fica em um afloramento rochoso próximo ao lago, harmonizando-se com o ambiente natural ao redor. \n\nA imagem inteira dá uma sensação de tranquilidade e harmonia, como se estivéssemos em um paraíso." ,
"type": "text"
}
],
"role": "assistant"
}, { "role": "assistant".
{
"content": [
{
"image_url": {
"url": "https://cdn.bigmodel.cn/xxxxxxx.jpeg"
},
"type": "image_url"
},
{
"text": "Como essa imagem é diferente da imagem acima?",
"type": "text"
}
], { "role": "user" (função: "usuário").
"role": "user"
},
{
"content": [
{
"text": "A primeira imagem e a segunda imagem são muito diferentes em termos de conteúdo, composição e cor da imagem, formando um forte contraste. \A primeira foto é uma foto de paisagem, retratando principalmente cenários naturais, como cerejeiras em flor, lagos e montanhas etc. É rica em cores e cheia de primavera, enquanto a segunda foto é uma foto de paisagem retratando a Grande Muralha no inverno, com a Grande Muralha serpenteando pelas montanhas cobertas de neve, e o tom geral da foto é mais frio, dando uma sensação de frieza e serenidade. \n\. Em termos de composição, a primeira imagem adota uma composição simétrica, com a cerejeira em flor no centro e o cenário em ambos os lados ecoando um ao outro para formar um efeito de imagem equilibrado e harmonioso, enquanto a segunda imagem adota uma composição diagonal, com a Grande Muralha atuando como uma linha guia visual para conduzir os olhos do espectador por toda a imagem, aumentando a profundidade e o dinamismo da imagem. \No geral, essas duas imagens mostram um claro contraste em termos de conteúdo, cor, composição e atmosfera, sendo uma delas uma paisagem de primavera cheia de vida e cor, e a outra uma serena e misteriosa paisagem de inverno tirada da Grande Muralha." ,
"type": "text"
}
],.
"role": "assistant"
}, { "role": "assistant".
{
"content": [
{
"image_url": {
"url": "https://cdn.bigmodel.cn/xxxxxxx.jpeg"
},
"type": "image_url"
},
{
"text": "Qual é a diferença entre esta imagem e a anterior.", {
"type": "text"
}
], { "role": "user" (função: "usuário").
"role": "user"
}
]
)
print(response.choices[0].message)

Exemplo de resposta

{
"created": 1703487403,
"id": "8239375684858666781",
"model": "glm-4v-plus",
"request_id": "8239375684858666781", "choices": [ { created": 1703487403
"choices": [
{
"finish_reason": "stop",

"message": {
"content": "A imagem tem um mar azul e um céu azul com nuvens brancas no céu. No canto inferior direito da imagem, há uma ilha ou rocha com árvores verde-escuras crescendo nela." ,
"role": "assistant"
}
}
],.
"usage": {
"completion_tokens": 37, "prompt_tokens": 1037, {
"prompt_tokens": 1037, "total_tokens": 1074, "prompt_tokens": 1074
"total_tokens": 1074
}
}

saída de streaming

Parâmetros de resposta

Nome do parâmetro tipologia Descrição do parâmetro
id Cordas ID da tarefa
criado Longo A hora de criação da solicitação, que é um registro de data e hora Unix em segundos.
opções Lista Conteúdo de saída do modelo do diálogo atual
índice Inteiro Subscritos de resultados
finish_reason Cordas Motivos para o término do raciocínio do modelo.pararRepresenta o fim natural do raciocínio ou aciona uma palavra de parada.comprimento representa o alcance do limite superior do comprimento dos tokens.sensível Representa o conteúdo de inferência de modelo interceptado pela interface de auditoria de segurança.network_error representa as anomalias de inferência do modelo.
delta Objeto Mensagem de texto retornada pelo incremento do modelo
função Cordas A função do diálogo atual, atualmente padronizada como assistente (modelo)
conteúdo Cordas Conteúdo do diálogo atual
uso Objeto Estatísticas sobre o número de tokens chamados por esse modelo
prompt_tokens Inteiro Número de tokens inseridos pelo usuário
completion_tokens Inteiro Número de tokens produzidos pelo modelo
total_tokens Inteiro Total de tokens
filtro_de_conteúdo Lista Voltar para informações sobre segurança de conteúdo
função Cordas Links para entrada em vigor da segurança, incluindofunção = assistente raciocínio de modelagem.função = usuário entrada do usuário.função = histórico contexto histórico
nível Inteiro Nível de gravidade de 0 a 3, sendo o nível 0 o mais grave e o 3 o menos grave.

Exemplo de uma solicitação

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # Preencha sua própria APIKey
response = client.chat.completions.create(
model="glm-4v-plus", # Preencha o nome do modelo a ser chamado.
messages=[
{
"role": "user", "content": [ {
"content": [
{
"type": "image_url",
"image_url": {
"url" : "sfile.chatglm.co.uk/testpath/xxxx.jpg"
}
},
{
"type": "text", {
"text": "What's in the picture" (O que há na imagem)
}
]
}
],
stream=True, )
)
for chunk in response.
print(chunk.choices[0].delta)

Exemplo de resposta

dados: {"id": "8305986882425703351", "created":1705476637, "model": "glm-4v-plus", "choices":[{"index":0, "delta":{"role": "assistant", " content": "next"}}]}
data: {"id": "8305986882425703351", "created":1705476637, "model": "glm-4v-plus", "choices":[{"index":0, "delta":{"role": "assistant"," content": "corner"}}]}
data: {"id": "8305986882425703351", "created":1705476637, "model": "glm-4v-plus", "choices":[{"index":0, "delta":{"role": "assistant"," content": "There is one"}}]}
... ...
dados: {"id": "8305986882425703351", "created":1705476637, "model": "glm-4v-plus", "choices":[{"index":0, "delta":{"role": "assistant", " content": "trees"}}]}
dados: {"id": "8305986882425703351", "created":1705476637, "model": "glm-4v-plus", "choices":[{"index":0, "delta":{"role": "assistant"," content":"."}}]}
dados: {"id": "8305986882425703351", "created":1705476637, "model": "glm-4v-plus", "choices":[{"index":0, "finish_reason": "stop", "delta":{ "role": "assistant", "content":""}}], "usage":{"prompt_tokens":1037, "completion_tokens":37, "total_tokens":1074}}
Aprendizagem fácil com IA

O guia do leigo para começar a usar a IA

Ajuda você a aprender a utilizar as ferramentas de IA com baixo custo e a partir de uma base zero.A IA, assim como o software de escritório, é uma habilidade essencial para todos. Dominar a IA lhe dará uma vantagem em sua busca de emprego e metade do esforço em seu trabalho e estudos futuros.

Ver detalhes>
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " A Smart Spectrum lançou um modelo de visão gratuito GLM-4V-Flash com limite de simultaneidade aumentado para 10, desta vez suficiente para ambientes de produção

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil