Introdução geral
O Julep AI é uma plataforma para criar e gerenciar inteligências de IA que se lembram de interações passadas e executam tarefas complexas de várias etapas. O Julep AI fornece memória de longo prazo e recursos de gerenciamento de processos de várias etapas e oferece suporte à integração com ferramentas e APIs externas, o que permite lidar com cenários complexos. Os usuários podem escrever arquivos YAML simples para definir etapas individuais de uma tarefa, pontos de decisão, loops, processamento paralelo, etc., e automatizar a execução dessas tarefas na nuvem.
O Julep AI apresenta uma nova linguagem específica de domínio (DSL) e um servidor para gerenciar inteligências de IA e tarefas de várias etapas. Essa DSL permite que os usuários descrevam e gerenciem fluxos de trabalho complexos de forma mais intuitiva, sem precisar escrever grandes quantidades de código tradicional. A plataforma de nuvem do Julep AI se encarrega de executar essas tarefas, garantindo que elas sejam confiáveis e eficientes.
Lista de funções
- Agente de IA persistenteInteligência: os inteligentes são capazes de lembrar o contexto e as informações para apoiar a interação de longo prazo.
- sessão completaRastreie interações anteriores para fornecer uma resposta personalizada.
- tarefa de várias etapasCriação de processos complexos de várias etapas por meio de loops e decisões.
- Gerenciamento de tarefasTarefas: lida com tarefas que podem ser executadas por longos períodos de tempo e garante que as tarefas sejam concluídas com êxito.
- Ferramentas incorporadas e integração de APISuporte ao uso de ferramentas integradas e APIs externas para ampliar a funcionalidade das inteligências.
- autocuraTentativa automática de repetir etapas com falha e reenviar a mensagem para garantir que a tarefa seja executada sem problemas.
- RAG (Retrieval Augmentation Generation)Use um armazenamento de documentos para criar um sistema para recuperar e usar seus próprios dados.
Usando a Ajuda
Processo de instalação
- Registrar uma contaVisite o site da Julep AI, clique no botão "Register" (Registrar) e preencha as informações necessárias para concluir seu registro.
- Obter chave de APIApós fazer login, localize a opção de geração de chave de API no painel do usuário para gerar e salvar a chave de API.
- Baixar o SDKDownload do SDK apropriado (por exemplo, Python, Node.js, etc.) de acordo com os requisitos da plataforma e instale-o de acordo com a documentação.
Diretrizes para uso
Criando a Intelligentsia
- Definição de inteligênciaNo painel de controle, clique em "Create Intelligence" (Criar inteligência) e preencha o nome e a descrição da inteligência.
- modelo de configuraçãoEscolha um modelo de IA adequado (por exemplo, GPT-4) e defina os parâmetros padrão (por exemplo, temperatura, número máximo de tokens etc.).
- Adicionar ferramentasAdicionar as ferramentas necessárias para inteligências, como pesquisa na Web, chamadas de API, etc.
Definição de processos em várias etapas
- Gravação de arquivos YAMLNo painel de controle, escreva um processo de várias etapas usando YAML para definir árvores de decisão, loops e execução paralela.
- Carregamento de arquivosCarregue o arquivo YAML escrito na plataforma e teste-o.
- Processo de implantação: Quando o teste for aprovado, clique no botão "Deploy" (Implantar) para colocar o processo on-line.
Prototipagem rápida
- Criar um novo projetoNo painel de controle, clique em "New Project" (Novo projeto) e preencha o nome e a descrição do projeto.
- Adicionar módulo de funçãoSelecione e adicione os módulos funcionais necessários (por exemplo, RAG, gerenciamento de status, etc.), conforme necessário.
- Testes e iteraçãoTestes na plataforma, ajustando e otimizando os módulos funcionais em tempo real.
Preparação do nível de produção
- Infraestrutura de configuraçãoNo painel de controle, configure as opções de infraestrutura, como dimensionamento automático, balanceamento de carga, etc.
- Configuração do tratamento de errosDefinição de mecanismos de tratamento de erros para garantir que as tarefas sejam repetidas automaticamente em caso de falha.
- Projetos on-lineApós concluir a configuração, clique no botão "Go Live" para colocar o projeto em produção.
Design modular
- Selecionar móduloNo painel de controle, procure e selecione o módulo desejado (por exemplo, conexão API externa, comutação LLM, etc.).
- integração de arrastar e soltarIntegração de módulos em projetos usando uma interface de arrastar e soltar.
- Testes e otimizaçãoTeste em tempo real da funcionalidade do módulo para otimização e ajuste.
Expansão ilimitada
- Configuração de opções estendidasNo Painel de controle, configure as opções Auto Scaling e Load Balancing.
- Monitoramento do desempenhoMonitorar o desempenho do sistema e a simultaneidade de usuários em tempo real usando as ferramentas de monitoramento fornecidas pela plataforma.
- Ajuste da configuraçãoAjuste as configurações de expansão e balanceamento de carga com base nos dados de monitoramento para garantir uma operação estável do sistema.
preparação para o futuro
- Adicionar novo modeloNo Painel de controle, clique em "Add New Model" (Adicionar novo modelo) para selecionar e configurar um novo modelo de IA.
- Integração de novas ferramentasNavegue pelas novas ferramentas oferecidas pela plataforma, selecione-as e integre-as aos projetos existentes.
- Testes e implementaçãoTeste de novos modelos e ferramentas para garantir a compatibilidade e a estabilidade e, em seguida, implemente em tempo real.
tarefa de amostra
O Julep é adequado para aplicativos que exigem casos de uso de IA que vão além de modelos simples de resposta a dicas.
Exemplo rápido
Imagine um agente de IA de pesquisa que possa executar as seguintes ações:
- Selecione um tópico
- 30 consultas de pesquisa sobre esse tópico
- Pesquisa simultânea na Web
- Resumo dos resultados
- Enviar resumo para o Discord
No Julep, essa será uma tarefa separada, com 80 linhas de código e, em seguida, executada totalmente hospedada, tudo feito de forma independente. Todas as etapas são executadas nos próprios servidores do Julep, portanto, você não precisa fazer nada.
Esse é um exemplo válido:
name: Research Agent
# Optional: Define the input schema for the task
input_schema:
type: object
properties:
topic:
type: string
description: The main topic to research
num_questions:
type: integer
description: The number of search queries to generate
# Define the tools that the agent can use
tools:
- name: web_search
type: integration
integration:
provider: brave
setup:
api_key: <your-brave-api-key>
- name: discord_webhook
type: api_call
api_call:
url: https://discord.com/api/webhooks/<your-webhook-id>/<your-webhook-token>
method: POST
headers:
Content-Type: application/json
# Special variables:
# - inputs: for accessing the input to the task
# - outputs: for accessing the output of previous steps
# - _: for accessing the output of the previous step
# Define the main workflow
main:
- prompt:
- role: system
content: >-
You are a research assistant.
Generate {{inputs[0].num_questions|default(30, true)}} diverse search queries related to the topic:
{{inputs[0].topic}}
Write one query per line.
unwrap: true
# Evaluate the search queries using a simple python expression
- evaluate:
search_queries: "_.split(NEWLINE)"
# Run the web search in parallel for each query
- over: "_.search_queries"
map:
tool: web_search
arguments:
query: "_"
parallelism: 5
# Collect the results from the web search
- evaluate:
search_results: _
# Summarize the results
- prompt:
- role: system
content: >
You are a research summarizer. Create a comprehensive summary of the following research results on the topic {{inputs[0].topic}}.
The summary should be well-structured, informative, and highlight key findings and insights. Keep the summary concise and to the point.
The length of the summary should be less than 150 words.
Here are the search results:
{{_.search_results}}
unwrap: true
settings:
model: gpt-4o-mini
- evaluate:
discord_message: |-
f'''
**Research Summary for {inputs[0].topic}**
{_}
'''
# Send the summary to Discord
- tool: discord_webhook
arguments:
json_:
content: _.discord_message[:2000] # Discord has a 2000 character limit
Neste exemplo, o Julep gerenciará automaticamente a execução paralela, tentará novamente as etapas com falha, reenviará as solicitações de API e manterá a tarefa em execução de forma confiável até a conclusão.
Amostra de resultados de saída
Isso é executado em 30 segundos e retorna o seguinte resultado:
Resumo da pesquisa sobre inteligência artificial
Resumo dos resultados da pesquisa sobre inteligência artificial (IA)
breve
Nos últimos anos, houve avanços significativos no campo da Inteligência Artificial (IA), caracterizados pelo desenvolvimento de métodos e técnicas que permitem que as máquinas percebam seu ambiente, aprendam com os dados e tomem decisões. Este resumo se concentra nos insights obtidos com várias descobertas de pesquisas relacionadas à IA.Principais conclusões
- Definição e escopo da inteligência artificial ::
A inteligência artificial é definida como um ramo da ciência da computação que se concentra na criação de sistemas capazes de executar tarefas que exigem inteligência semelhante à humana, incluindo aprendizado, raciocínio e solução de problemas (Wikipedia). Ela abrange uma variedade de subcampos, incluindo aprendizado de máquina, processamento de linguagem natural, robótica e visão computacional.- Impacto e aplicação ::
A tecnologia de IA está sendo integrada em vários campos para aumentar a eficiência e a produtividade. Os aplicativos vão desde carros autônomos e diagnósticos médicos até automação de atendimento ao cliente e previsão financeira (OpenAI). O compromisso do Google de fazer com que a IA funcione para todos destaca seu potencial de melhorar significativamente a vida cotidiana, aprimorando a experiência do usuário em todas as plataformas (Google AI).- considerações éticas ::
Há uma discussão em andamento sobre as implicações éticas da IA, incluindo preocupações sobre privacidade, parcialidade e responsabilidade nos processos de tomada de decisão. Foi enfatizada a necessidade de uma estrutura para garantir o uso seguro e responsável das tecnologias de IA (OpenAI).- Mecanismos de aprendizado ::
Os sistemas de IA utilizam diferentes mecanismos de aprendizado, como aprendizado supervisionado, aprendizado não supervisionado e aprendizado por reforço. Esses métodos permitem que a IA melhore o desempenho aprendendo com experiências e dados anteriores (Wikipedia). A diferença entre aprendizado supervisionado e não supervisionado é fundamental; o aprendizado supervisionado depende de dados rotulados, enquanto o aprendizado não supervisionado reconhece padrões sem rótulos predefinidos (não supervisionado).- direção futura ::
Espera-se que os futuros desenvolvimentos em IA se concentrem no aprimoramento da interpretabilidade e da transparência dos sistemas de IA para garantir que eles sejam capazes de fornecer decisões e ações sólidas (OpenAI). Também estão sendo feitos esforços para tornar os sistemas de IA mais acessíveis e fáceis de usar, incentivando sua adoção mais ampla por diferentes pessoas e setores (Google AI).chegar a um veredicto
A inteligência artificial representa uma força transformadora em vários domínios, prometendo remodelar os setores e melhorar a qualidade de vida. No entanto, à medida que seus recursos se expandem, é fundamental abordar as implicações éticas e sociais que a acompanham. A pesquisa e a colaboração contínuas entre tecnólogos, especialistas em ética e formuladores de políticas serão fundamentais para navegar no futuro cenário da IA.
Processo de implantação do Python
Para começar a usar o Julep, instale-o usando o pip:
pip install julep
Obtenha sua chave de API aqui.
### Step 0: Setup import time import yaml from julep import Julep # or AsyncJulep client = Julep(api_key="your_julep_api_key") ### Step 1: Create an Agent agent = client.agents.create( name="Storytelling Agent", model="claude-3.5-sonnet", about="You are a creative storyteller that crafts engaging stories on a myriad of topics.", ) ### Step 2: Create a Task that generates a story and comic strip task_yaml = """ name: Storyteller description: Create a story based on an idea. tools: - name: research_wikipedia type: integration integration: provider: wikipedia method: search main: # Step 1: Generate plot idea - prompt: - role: system content: You are {{agent.name}}. {{agent.about}} - role: user content: > Based on the idea '{{_.idea}}', generate a list of 5 plot ideas. Go crazy and be as creative as possible. Return your output as a list of long strings inside ```yaml 标签位于您的回复末尾。 展开:true - 评价: 情节想法:load_yaml(_.split('```yaml')[1].split('```')[0].strip()) # 第二步:从情节思路中提取研究领域 - 迅速的: - 角色:系统 内容:您是 {{agent.name}}。{{agent.about}} - 角色:用户 内容: > 以下是一些故事情节的想法: {% 表示 _.plot_ideas 中的想法 %} - {{主意}} {% 结束 %} 为了发展故事情节,我们需要研究情节思路。 我们应该研究什么?写下你认为有趣的情节想法的维基百科搜索查询。 将输出作为 yaml 列表返回```yaml tags at the end of your response. unwrap: true settings: model: gpt-4o-mini temperature: 0.7 - evaluate: research_queries: load_yaml(_.split('```yaml')[1].split('```')[0].strip()) # Step 3: Research each plot idea - foreach: in: _.research_queries do: tool: research_wikipedia arguments: query: _ - evaluate: wikipedia_results: 'NEWLINE.join([f"- {doc.metadata.title}: {doc.metadata.summary}" for item in _ for doc in item.documents])' # Step 4: Think and deliberate - prompt: - role: system content: You are {{agent.name}}. {{agent.about}} - role: user content: |- Before we write the story, let's think and deliberate. Here are some plot ideas: {% for idea in outputs[1].plot_ideas %} - {{idea}} {% endfor %} Here are the results from researching the plot ideas on Wikipedia: {{_.wikipedia_results}} Think about the plot ideas critically. Combine the plot ideas with the results from Wikipedia to create a detailed plot for a story. Write down all your notes and thoughts. Then finally write the plot as a yaml object inside ```yaml 标签位于响应末尾。yaml 对象应具有以下结构: ```yaml title: "<string>" characters: - name: "<string>" about: "<string>" synopsis: "<string>" scenes: - title: "<string>" description: "<string>" characters: - name: "<string>" role: "<string>" plotlines: - "<string>"``` 确保 yaml 有效,且角色和场景不为空。还要注意分号和编写 yaml 的其他问题。 展开:true - 评价: 情节:“load_yaml(_.split('```yaml')[1].split('```')[0].strip())” """ 任务 = 客户端.任务.创建( agent_id=代理.id, **yaml.safe_load(任务_yaml) ) ### 步骤 3:执行任务 执行 = 客户端.执行.创建( 任务ID=任务ID, 输入={“idea”:“一只学飞的猫”} ) # 🎉 观看故事和漫画面板的生成 while (result := client.executions.get(execution.id)).status 不在 ['成功', '失败'] 中: 打印(结果.状态,结果.输出) 时间.睡眠(1) # 📦执行完成后,检索结果 如果 result.status ==“成功”: 打印(结果.输出) 别的: 引发异常(结果.错误)