Metadata-Version: 2.4
Name: oak-deepseek
Version: 0.1.1
Summary: 一个轻量AI Agent框架，基于DeepSeek API
Author-email: WyxGenius <2389604361@qq.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/WyxGenius/oak-deepseek
Project-URL: Source, https://github.com/WyxGenius/oak-deepseek
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.26.0
Requires-Dist: pydantic>=2.0
Dynamic: license-file

# Oak DeepSeek

一个轻量的 AI Agent 框架，基于 DeepSeek API 构建。通过队列通信和多线程设计，快速构建支持工具调用、子 Agent 协作的智能体。

## 安装

```bash
pip install oak-deepseek
```

## 快速开始
下面是一个完整示例，展示如何创建两个 Agent（主 Agent 和子 Agent）并让它们协作计算数学表达式。

```python
from queue import Queue
from threading import Thread
import os

from oak_deepseek.engine import AgentEngine

def add(a: int, b: int) -> str:
    """
    这个函数用于两个整数相加，并返回str结果给你
    :return: 加法结果
    """
    return f"{a + b}"

def mul(a: int, b: int) -> str:
    """
    这个函数用于两个整数相乘，并返回str结果给你
    :return: 乘法结果
    """
    return f"{a * b}"

engine: AgentEngine = AgentEngine()
engine.create_agent(
    key=("sys","sys"),
    description="一个能进行数学计算的agent",
    prompt="你是一个数学计算助手，会使用工具确保自己计算的正确性。",
    tools=[add],
    sub_agents=[("sys","sub")]
)

engine.create_agent(
    key=("sys","sub"),
    description="能进行乘法计算",
    prompt="你是一个数学计算助手，会使用工具确保自己计算的正确性",
    tools=[mul]
)
history_queue = Queue()

task_queue = Queue()
task_queue.put("计算(679+678)*(2+78)")

def go():
    engine.run(task_queue, key=("sys", "sys"), history_queue=history_queue, api_key=os.getenv("DEEPSEEK_API_KEY"))

def messages():
    while True:
        msg = history_queue.get(block=True)
        if msg is None:
            return
        print(msg)


if __name__ == "__main__":
    agent_thread = Thread(target=go)
    agent_thread.start()

    print_thread = Thread(target=messages)
    print_thread.start()

    agent_thread.join()
    history_queue.put(None)
    print_thread.join()
```

## 许可证

MIT license
