Assistente de IA do FydeOS
Última atualização: 2024-05-30
O que é o FydeOS AI?
O FydeOS AI é um assistente de IA em nível de sistema, projetado especificamente para o FydeOS. Ele oferece suporte à integração com serviços de Conteúdo Gerado por Inteligência Artificial (AIGC) amplamente usados e tem capacidade para executar modelos locais.
Como começar com o FydeOS AI
Requisitos do sistema
Atualmente, o FydeOS AI está em fase experimental e está disponível apenas no openFyde. Os dispositivos compatíveis são:
- openFyde - amd64
- rpi5-openfyde
- fydetab_duo-openfyde
- rock5b-openfyde
- orangepi5-openfyde
- edge2-openfyde
Etapas de configuração
API de terceiros do FydeOS AI
- Clique no acesso rápido no canto inferior esquerdo, encontre o FydeOS AI nos aplicativos e clique para abri-lo.
- Nas configurações básicas da página de configurações do FydeOS AI, selecione o provedor de serviço e preencha as informações relevantes. Depois de concluído, você poderá usar o modelo de linguagem grande baseado na nuvem para conversas.
Modelo local do FydeOS AI
- Acesse Hugging Face, escolha o modelo que deseja usar e baixe o arquivo XXX.rkllm.
- Abra o FydeOS AI, vá para Settings - Basic Settings e selecione o modelo local.
- Digite o caminho do modelo. Se o arquivo do modelo estiver na pasta Downloads, o caminho será Downloads/xxx.rkllm. Se o arquivo estiver salvo em outro lugar, o caminho será o caminho relativo dentro de “My Files”.
- Clique para iniciar o modelo local, aguarde um momento e o modelo local estará pronto para conversas.
Como usar?
O FydeOS AI é muito fácil de usar para usuários comuns:
- Você pode perguntar livremente ao FydeOS AI na caixa de chat e ver conversas anteriores pelo histórico no lado esquerdo.
- Você pode usar entrada de voz para buscar ajuda rapidamente.
- Quando houver texto selecionado, pressione o atalho Ctrl+C+C (mantenha Ctrl pressionado e depois pressione C duas vezes em dois segundos) para copiar o conteúdo atual e perguntar ao FydeOS AI em uma janela pop-up.
Opções do desenvolvedor
Arquivo de configuração
| Caminho do arquivo | Descrição |
|---|---|
config/config.yaml | Define parâmetros padrão para carregar o modelo |
config/fix_freq_rk3588.sh | Aumenta a frequência da CPU e da NPU ao executar o modelo |
Descrição dos parâmetros
| Nome do parâmetro | Tipo | Descrição | Padrão |
|---|---|---|---|
modelPath | const char* | Caminho para o arquivo do modelo | - |
target_platform | const char* | A plataforma de hardware para executar o modelo, as opções incluem “rk3576” ou “rk3588” | - |
num_npu_core | int32_t | Número de núcleos da NPU a serem usados durante a inferência. Para “rk3576”, o intervalo é [1, 2]; para “rk3588”, o intervalo é [1, 3] | - |
max_context_len | int32_t | Define o tamanho do contexto para o prompt | - |
max_new_tokens | int32_t | Define o limite superior de tokens gerados durante a inferência do modelo | - |
top_k | int32_t | A amostragem top-k seleciona o próximo token entre os k tokens mais prováveis previstos pelo modelo. Isso reduz o risco de gerar tokens de baixa probabilidade ou sem sentido. Valores mais altos (por exemplo, 100) consideram mais opções de tokens, resultando em texto mais diversificado; valores mais baixos (por exemplo, 10) focam nos tokens mais prováveis, produzindo texto mais conservador. | 40 |
top_p | float | A amostragem top-p, também conhecida como nucleus sampling, seleciona o próximo token de um conjunto de tokens com probabilidade acumulada de pelo menos p. Isso equilibra diversidade e qualidade ao considerar a probabilidade do token e a quantidade de tokens amostrados. Valores mais altos (por exemplo, 0.95) resultam em texto mais diversificado; valores mais baixos (por exemplo, 0.5) produzem texto mais focado e conservador. | 0.9 |
temperature | float | Controla a aleatoriedade da geração de texto ajustando a distribuição de probabilidade dos tokens de saída do modelo. Temperaturas mais altas (por exemplo, 1.5) tornam a saída mais aleatória e criativa; temperaturas mais baixas (por exemplo, 0.5) tornam a saída mais focada e conservadora. Em temperatura 0, o modelo sempre escolhe o próximo token mais provável, produzindo a mesma saída todas as vezes. | 0.8 |
repeat_penalty | float | Controla a repetição de sequências de tokens no texto gerado, ajudando a evitar uma saída repetitiva ou monótona. Valores mais altos (por exemplo, 1.5) penalizam a repetição com mais força, enquanto valores mais baixos (por exemplo, 0.9) são mais permissivos. | 1.1 |
frequency_penalty | float | Penaliza o uso de palavras/frases frequentes e aumenta a probabilidade de outras menos comuns. Isso pode tornar o texto gerado mais diversificado, mas também pode levar a resultados incoerentes ou inesperados. O intervalo é [-2.0, 2.0]. | 0 |
mirostat | int32_t | Um algoritmo que mantém a qualidade do texto gerado dentro da faixa desejada. Ele equilibra coerência e diversidade, evitando saída de baixa qualidade devido à repetição excessiva (armadilha do tédio) ou incoerência (armadilha da confusão). Valores: {0, 1, 2}, com 0 desativando o algoritmo, 1 ativando o mirostat e 2 ativando o mirostat 2.0. | - |
mirostat_tau | float | Define a entropia-alvo para o mirostat, representando o valor de perplexidade desejado do texto gerado. Valores mais baixos resultam em texto mais focado e coerente, enquanto valores mais altos resultam em texto mais diversificado, mas potencialmente menos coerente. | 5.0 |
mirostat_eta | float | Define a taxa de aprendizado do mirostat. Taxas mais baixas resultam em ajustes mais lentos, enquanto taxas mais altas tornam o algoritmo mais responsivo. | 0.1 |
Citado de Rockchip_RKLLM_SDK_CN.pdf