O OxyGent é uma estrutura Python de código aberto da JD Open Source que se concentra em ajudar os desenvolvedores a criar rapidamente sistemas inteligentes prontos para produção. Ele fornece um processo de desenvolvimento de ponta a ponta, unificando ferramentas de gerenciamento, modelos e inteligências por meio de componentes Oxy modulares. O OxyGent oferece suporte à rápida criação, implementação e otimização de sistemas com várias inteligências com alta escalabilidade e transparência. A versão mais recente (15 de julho de 2025) obteve uma pontuação de 59,14 nos benchmarks GAIA, próximo ao melhor sistema de código aberto OWL Ele foi projetado para simplificar o desenvolvimento de sistemas complexos de IA para desenvolvedores corporativos e individuais.
Lista de funções
- Desenvolvimento modular Oxy: fornece componentes Oxy padronizados, semelhantes a blocos de Lego, para apoiar a montagem rápida de inteligências, permitindo a troca a quente e a reutilização entre cenários.
- Colaboração inteligente Suporte à decomposição dinâmica de tarefas: com o suporte à decomposição dinâmica de tarefas, as inteligências podem negociar e se adaptar às mudanças em tempo real, garantindo que as decisões sejam auditáveis.
- arquitetura elástica Suporte a uma ampla variedade de topologias de corpo inteligente (por exemplo, um corpo de aço) ReAct e planejamento híbrido), fornecendo gerenciamento automatizado de dependências e ferramentas de depuração visual.
- Evolução contínua Um mecanismo de avaliação integrado que gera automaticamente dados de treinamento, que as inteligências otimizam continuamente por meio de ciclos de feedback.
- alta escalabilidade Os programadores distribuídos permitem o crescimento linear dos custos e dão suporte à otimização e à tomada de decisões em tempo real e em larga escala.
Usando a Ajuda
O objetivo principal do OxyGent é permitir que os desenvolvedores se concentrem na lógica comercial e criem e implementem rapidamente sistemas inteligentes. Abaixo está um guia detalhado de instalação e uso que abrange os principais recursos e procedimentos operacionais.
Processo de instalação
O OxyGent é compatível com ambientes Python 3.10 e pode ser acessado por meio do comando conda
talvez uv
Instalação. Veja a seguir as etapas específicas:
Instalação com o Conda
- Criar e ativar um ambiente virtual:
conda create -n oxy_env python=3.10 conda activate oxy_env
- Instale o pacote OxyGent:
pip install oxygent
Instalação com uv
- Instale as ferramentas uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
- Criar e ativar um ambiente virtual:
uv python install 3.10 uv venv .venv --python 3.10 source .venv/bin/activate
- Instale o pacote OxyGent:
uv pip install oxygent
Configurações do ambiente de desenvolvimento
Se o desenvolvimento local for necessário, instale o Node.js e as dependências adicionalmente:
- Faça download e instale o Node.js.
- Instale as dependências do projeto:
pip install -r requirements.txt
Para usuários do macOS, talvez seja necessário instalar
coreutils
::brew install coreutils
Configuração do modelo de idioma
O OxyGent precisa ser conectado ao Large Language Model (LLM) para executar inteligências. A configuração é a seguinte:
- estabelecer
.env
preencha os parâmetros do LLM:echo 'DEFAULT_LLM_API_KEY="your_api_key"' > .env echo 'DEFAULT_LLM_BASE_URL="your_base_url"' >> .env echo 'DEFAULT_LLM_MODEL_NAME="your_model_name"' >> .env
- Ou configurado por meio de variáveis de ambiente:
export DEFAULT_LLM_API_KEY="your_api_key" export DEFAULT_LLM_BASE_URL="your_base_url" export DEFAULT_LLM_MODEL_NAME="your_model_name"
Uso
O OxyGent fornece uma interface Python simples que permite aos desenvolvedores implementar funcionalidades complexas com poucas linhas de código. Aqui está um exemplo de script demo.py
mostrando como procurar a hora e salvá-la em um arquivo:
import os
from oxygent import MAS, Config, oxy, preset_tools
Config.set_agent_llm_model("default_llm")
oxy_space = [
oxy.HttpLLM(
name="default_llm",
api_key=os.getenv("DEFAULT_LLM_API_KEY"),
base_url=os.getenv("DEFAULT_LLM_BASE_URL"),
model_name=os.getenv("DEFAULT_LLM_MODEL_NAME"),
llm_params={"temperature": 0.01},
semaphore=4,
),
preset_tools.time_tools,
oxy.ReActAgent(
name="time_agent",
desc="查询时间的工具",
tools=["time_tools"],
),
preset_tools.file_tools,
oxy.ReActAgent(
name="file_agent",
desc="操作文件系统的工具",
tools=["file_tools"],
),
preset_tools.math_tools,
oxy.ReActAgent(
name="math_agent",
desc="执行数学计算的工具",
tools=["math_tools"],
),
oxy.ReActAgent(
is_master=True,
name="master_agent",
sub_agents=["time_agent", "file_agent", "math_agent"],
),
]
async def main():
async with MAS(oxy_space=oxy_space) as mas:
await mas.start_web_service(first_query="当前时间是多少?请保存到 time.txt 文件。")
if __name__ == "__main__":
import asyncio
asyncio.run(main())
exemplo de execução
- Salve o código acima como
demo.py
. - Certifique-se de que os parâmetros do LLM estejam configurados.
- Execute o script:
python demo.py
- Saída: O sistema consultará a hora atual e a salvará no arquivo
time.txt
arquivo. Após a execução, você pode acessar o serviço da Web por meio de um navegador para visualizar os resultados.
Operação da função em destaque
- Desenvolvimento de carroceria modular inteligente ::
- O componente Oxy do OxyGent permite que os desenvolvedores definam rapidamente as inteligências. Por exemplo, adicionar novas ferramentas:
oxy.NewTool(name="custom_tool", desc="自定义工具", func=custom_function)
- A Intelligentsia oferece suporte a hot-plugging e substituição dinâmica de ferramentas ou modelos em tempo de execução, sem a necessidade de reinicializar o sistema.
- O componente Oxy do OxyGent permite que os desenvolvedores definam rapidamente as inteligências. Por exemplo, adicionar novas ferramentas:
- Tarefas dinâmicas ::
- Inteligência principal (
master_agent
As tarefas complexas podem ser divididas em subtarefas e atribuídas a subinteligências. Por exemplo, digite "analisar dados de vendas e gerar um relatório", e a inteligência principal coordenarámath_agent
Calcule os dados,file_agent
Salvar resultados. - O processo de decomposição de tarefas é transparente, registrando cada etapa da decisão, e os desenvolvedores podem usar o
MAS
da interface de monitoramento para visualizá-la.
- Inteligência principal (
- Depuração visual ::
- O OxyGent fornece ferramentas de visualização para mostrar interações e dependências de corpos inteligentes. Acesse
http://localhost:port/debug
Exibir o mapa de topologia.
- O OxyGent fornece ferramentas de visualização para mostrar interações e dependências de corpos inteligentes. Acesse
- Otimização contínua ::
- O mecanismo de avaliação integrado registra o efeito de cada execução de tarefa e gera dados de treinamento. Por exemplo, as inteligências matemáticas podem ser otimizadas quanto à precisão por meio de vários cálculos.
- Os desenvolvedores podem ajustar manualmente
llm_params
(por exemplotemperature
) para otimizar a qualidade da saída.
advertência
- Certifique-se de que a conexão de rede esteja estável e que a API do LLM exija acesso em tempo real.
- Para o desenvolvimento local, recomenda-se alocar pelo menos 8 GB de memória para dar suporte à operação de várias inteligências.
- Consulte a documentação oficial (
http://oxygent.jd.com/docs/
) para obter mais opções de configuração.
cenário do aplicativo
- Desenvolvimento de sistema de IA empresarial
O OxyGent é adequado para a criação de sistemas inteligentes de nível empresarial, como bots de atendimento ao cliente ou plataformas de análise de dados. Os desenvolvedores podem integrar rapidamente várias inteligências para lidar com lógicas comerciais complexas. - Processamento automatizado de tarefas
Os desenvolvedores individuais podem usar o OxyGent para automatizar tarefas de rotina. Por exemplo, configure inteligências para monitorar alterações de pastas e gerar relatórios, economizando tempo em operações manuais. - Suporte a decisões em tempo real
Em finanças ou logística, a programação distribuída da OxyGent oferece suporte à otimização em tempo real. Por exemplo, as inteligências podem ajustar dinamicamente os caminhos logísticos para reduzir os custos.
QA
- Quais modelos de idiomas são compatíveis com o OxyGent?
O suporte a qualquer LLM que forneça uma API HTTP está disponível para os desenvolvedores por meio do.env
configura a chave da API e o nome do modelo. - Como faço para ampliar a funcionalidade do meu corpo inteligente?
existiroxy_space
Adição de uma nova ferramenta ou smart aoname
responder cantandotools
é suficiente. Por exemplo, adicione uma consulta meteorológica smartbody:oxy.ReActAgent(name="weather_agent", desc="查询天气的工具", tools=["weather_tools"])
- Ele é adequado para projetos pequenos?
Sim, o design modular do OxyGent oferece suporte a pequenos projetos, com uma única inteligência capaz de executar tarefas simples, bem como dimensionar sistemas complexos.