Conseguir o cumprimento da subquery Fancy em funcionamento leva apenas alguns minutos, se você souber o que está fazendo. Caso contrário, pode levar uma metade frustrante para um dia inteiro. A chave está na preparação, como qualquer show de culinária.
A preparação
Você precisará Deno instalado e também Ollama Se você deseja executar o exemplo localmente. Caso contrário, você pode se conectar ao terminal do OpenAI, mas precisará de uma chave de API paga.
Depois de instalar o acima, execute esses comandos para verificar:
seandotau@aseandotaus-MBP ~ % deno --version
deno 2.1.6 (stable, release, aarch64-apple-darwin)
v8 13.0.245.12-rusty
typescript 5.6.2
seandotau@aseandotaus-MBP ~ % ollama --version
ollama version is 0.5.11
Deno
Para instalar o deno, execute o seguinte comando:
deno install -g -f --allow-env --allow-net --allow-import --allow-read --allow-write --allow-ffi --allow-run --unstable-worker-options -n subql-ai jsr:@subql/ai-app-framework/cli
deno install
: Instala um script ou ferramenta globalmente.-g
: Significa “Global”, o que significa que essa ferramenta será instalada globalmente e pode ser executada de qualquer lugar.-f
: Instala com força a ferramenta, mesmo que uma versão já esteja instalada.--allow-env
: Concede a permissão do script para acessar variáveis de ambiente.--allow-net
: Concede a permissão do script para acessar a rede.--allow-import
: Permite que o script importe outros módulos ou arquivos.--allow-read
: Concede a permissão do script para ler arquivos do sistema de arquivos.--allow-write
: Concede a permissão do script para gravar arquivos no sistema de arquivos.--allow-ffi
: Permite que o script use chamadas de interface de função estranha (FFI) para interagir com o código nativo.--allow-run
: Permite que o script execute subprocessos.--unstable-worker-options
: Permite opções de trabalhadores experimentais ou instáveis (o Deno pode evoluir e essa opção pode não ser permanente).-n subql-ai
: Especifica o nome da ferramenta ou binário que está sendo instalado (subql-ai
nesse caso).jsr:@subql/ai-app-framework/cli
: Refere -se ao código -fonte ou módulo que está sendo instalado. Está usando um especificador de pacote JS para buscar um módulo (@subql/ai-app-framework/cli
) de um URL ou registro (o jsr:
prefixo).
Ollama
Ver aqui.
Crie um novo aplicativo
Correr subql-ai init
e forneça um nome de projeto. Em seguida, especifique o modelo LLM. Você deveria ter baixado um modelo ao instalar o Ollama. Caso contrário, faça o download de um seguindo as instruções aqui e reinicie esse processo. Vou usar llama3.2
seandotau@aseandotaus-MBP subquery % subql-ai init
Enter a project name: testai
Enter a LLM model llama3.2
Você deve ter uma estrutura de pasta como a seguinte:

Aqui está a parte complicada. Atualize o arquivo de manifesto para:
endpoints: ("localhost:11434"),
Qual é o ponto final do conjunto de dados LLAMA3.2 LLAMA3.2 local.

Executando o aplicativo
Supondo que você já tenha o Ollama em segundo plano e tenha a versão do modelo correta, depois execute o aplicativo via: subql-ai -p ./manifest.ts
. Você deveria obter:
seandotau@aseandotaus-MBP testai % subql-ai -p ./manifest.ts
(12:54:33.357) INFO (app): Subql AI Framework (0.0.5)
✔ Loaded project manifest
✔ Loaded project source
Listening on http://0.0.0.0:7827/
Agora, em outro terminal, execute: subql-ai repl
. Você deveria obter:
seandotau@aseandotaus-MBP testai % subql-ai repl
Special messages:
/bye: to exit (ctrl + c also works)
/clear: to remove all previous chat history
Enter a message: hi
That was quick! It seems like I have the user's name already. Let me try something a bit more personalized.
What's your favorite hobby or interest?
Enter a message:

Resumo
Aí está. Executando a estrutura da AI da Subquery com uma instância local de Ollama em poucos minutos. Existem outras opções de execução do aplicativo, como via Docker e conectar -se ao OpenAI, que vou explorar em outro.