Introdução geral
O Orchestra é uma estrutura Python leve e inovadora, focada na criação de sistemas colaborativos de várias inteligências com base no Large Language Model (LLM). Ele adota um método exclusivo de organização de inteligências para que várias inteligências de IA possam trabalhar em harmonia como uma orquestra sinfônica. Por meio do projeto de arquitetura modular, os desenvolvedores podem facilmente criar, estender e integrar vários tipos de inteligências para obter a decomposição e a colaboração de tarefas complexas. A Orchestra é compatível com GPT-4, Claude 3 e outros grandes modelos convencionais e oferece um rico conjunto de ferramentas integradas, incluindo rastreamento da Web, processamento de arquivos, interação com o GitHub e outras funções. Seus recursos excepcionais são a definição simples de ferramentas, a saída de streaming em tempo real, o elegante mecanismo de tratamento de erros e o processo de execução de tarefas baseado no modo de pensamento estruturado. Como a versão avançada do TaskflowAI, a Orchestra tem o compromisso de fornecer aos desenvolvedores uma estrutura de desenvolvimento de aplicativos de IA mais poderosa e flexível.
Lista de funções
- Sistema inteligente de arranjo da carroceriaInteligência de suporte para atuar como executores e comandantes ao mesmo tempo, realizando a decomposição dinâmica de tarefas e a coordenação entre inteligências.
- Arquitetura modular: Fornece um design extensível e baseado em componentes para facilitar a criação e a integração de funcionalidades personalizadas
- Suporte a vários modelosIntegração com OpenAI, Anthropic, Openrouter, Ollama, Groq e muitos outros provedores de LLM
- conjunto de ferramentas incorporadasInclui ferramentas da Web, ferramentas de arquivo, ferramentas do GitHub, ferramentas de cálculo e muitos outros utilitários
- processamento de fluxo em tempo realSuporte para streaming síncrono e assíncrono de saídas em tempo real
- Mecanismo de tratamento de errosTratamento inteligente de falhas e cadeias de degradação configuráveis
- Tarefas estruturadas: Reduzir a carga cognitiva do LLM por meio da implementação em fases
- Definição da ferramenta SimplicityDefinição de ferramenta simples baseada em cadeias de documentos, sem a necessidade de padrões JSON complexos.
Usando a Ajuda
1. configuração da instalação
A instalação da estrutura do Orchestra é muito simples, basta usar o pip para executar o seguinte comando.
pip install mainframe-orchestra
2. processo de uso básico
2.1 Criação de uma inteligência única
from mainframe_orchestra import Agent, Task, OpenaiModels, WebTools
# Criação de uma inteligência de assistente de pesquisa
research_agent = Agent(
role="ResearchAssistant", goal="Answer user queries", "research_agent", "research_agent")
objetivo="Responder à consulta do usuário", llm=OpenaiModels, OpenaiModels, WebTools)
llm=OpenaiModels.gpt_4o,
tools={WebTools.exa_search}
)
# Definir a tarefa de pesquisa
def research_task(topic):
return Task.create(
agent=research_agent,
instruction=f "Use a ferramenta de pesquisa para pesquisar {topic} e explique isso em termos leigos".
)
2.2 Criação de equipes de inteligência múltipla
A Orchestra apoia a criação de várias inteligências especializadas trabalhando juntas, por exemplo, formando equipes de análise financeira.
- Analista de mercado - responsável pela análise da microestrutura do mercado
- Analista fundamentalista - Responsável pela análise financeira das empresas
- Analista técnico - responsável pela análise de gráficos de preços
- Analista de sentimentos - responsável pela análise de sentimentos do mercado
- Comandante de Inteligência - responsável pela coordenação de outras inteligências
3. uso de funções avançadas
3.1 Integração de ferramentas
A Orchestra oferece uma variedade de ferramentas integradas.
- WebTools: rastreamento da Web, pesquisa, API de clima, etc.
- FileTools: CSV, JSON, XML e outras operações de arquivo
- GitHubTools: Ferramentas de interação do repositório de código
- CalculatorTools: Calculadora de data e hora
- WikipediaTools: Recuperação de informações da Wikipédia
- AmadeusTools: Busca de informações de voo
3.2 Desenvolvimento de ferramentas personalizadas
É possível definir suas próprias ferramentas por meio de cadeias de documentos simples.
def custom_tool(param1: str, param2: int) -> str.
"""Descrição da ferramenta
Args.
param1: descrição do parâmetro 1
param2: descrição do parâmetro 2
Retorna.
Descrição do valor de retorno
"""
Código de implementação da ferramenta #
3.3 Tratamento de erros e controle de processos
O Orchestra oferece mecanismos sofisticados de tratamento de erros.
- Configuração da cadeia de degradação para lidar com falhas de chamadas ao LLM
- Monitoramento em tempo real do status do smart body
- Controle de tempo limite de execução de tarefas
- Mecanismo de validação e repetição de resultados
4. recomendações de melhores práticas
- Racionalizar a divisão de responsabilidades entre as inteligências para evitar a sobreposição de responsabilidades
- Usar uma abordagem estruturada para a divisão de tarefas
- Faça uso total das ferramentas incorporadas para aumentar a eficiência
- Implementar os mecanismos de tratamento de erros necessários
- Manter o código modular e passível de manutenção