A simple llm agent
Project description
中文| English
Chan-Agent
一个简洁高效的 Agent 架构,旨在为开发者提供灵活、易用的工具,支持多种 LLM 模型与任务自动化。
特点
- 轻量级:高效且快速,适合多种应用场景。
- 兼容多种 LLM 模型:支持主流的 LLM 模型,灵活配置,方便替换。
- 支持 LLM 任务执行:内置灵活的任务执行功能,可以方便地执行各种 LLM 任务。
- 支持 Agent 执行:支持 Agent 执行任务,并通过协作提升系统的智能化与自动化水平。
安装
通过 pip 安装:
pip install chan-agent
使用示例
初始化LLM
from chan_agent.llms import get_llm
llm = get_llm(
llm_type='openai',
model_name='gpt-4o-mini',
base_url='https://api.openai.com/v1',
api_key='your-api-key'
)
创建任务
from chan_agent.task_llm import TaskLLM
from chan_agent.schema import TaskOutputs, TaskInputItem
class TranslationOutput(TaskOutputs):
translation: str
task = "Translate the following text to French."
rules = ["Keep the original meaning.", "Use formal language."]
task_llm = TaskLLM(llm=llm, task=task, rules=rules, output_model=TranslationOutput)
执行任务
inputs = [
TaskInputItem(key="text", key_name="Text to translate", value="Hello, how are you?")
]
result = task_llm.call(inputs=inputs)
print(result)
使用工具
from chan_agent.llms import get_llm
from chan_agent.base_agent import BaseAgent
from chan_agent.base_tool import BaseTool, ToolResult
from chan_agent.schema import AgentMessage
llm = get_llm(
llm_type='openai',
model_name='gpt-4o-mini',
base_url='https://api.openai.com/v1',
api_key='your-api-key'
)
class WeatherTool(BaseTool):
name = "weather_tool"
description = "A tool that fetches weather information for a given city."
parameters = {
'city': {
'type': 'string',
'description': 'city name',
'required': True
},
}
def call(self, params, **kwargs) -> ToolResult:
city = params.get("city")
# Return a fixed fake weather response
return ToolResult(response=f"The weather in {city} is sunny with a high of 25°C.", use_tool_response=False)
tools = [WeatherTool()]
agent = BaseAgent(llm=llm, role="Assistant", tools=tools, rules=["Be polite."])
messages = []
messages.append(AgentMessage(role="user", content="Hello, can you tell me the weather in New York?"))
response = agent.chat(messages)
print(response)
说明
- 部分代码参考了Qwen-Agent
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
chan_agent-0.0.4.tar.gz
(15.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chan_agent-0.0.4.tar.gz.
File metadata
- Download URL: chan_agent-0.0.4.tar.gz
- Upload date:
- Size: 15.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d363e4c1b5b000a1c77443cc8bf6509a12b8de10ba3c781b2afc02b5a20f45f0
|
|
| MD5 |
3c38c383cabef24770be72110746919e
|
|
| BLAKE2b-256 |
e94c9cd0bf7092d9f71a191109db39e45f3b705317ff041553a1c5fd51a97613
|
File details
Details for the file chan_agent-0.0.4-py3-none-any.whl.
File metadata
- Download URL: chan_agent-0.0.4-py3-none-any.whl
- Upload date:
- Size: 18.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
977702ba5ed97c58a76232a9000ced3245ba3b3eda2439d2c6f5852e26a8b50a
|
|
| MD5 |
ccfc997e100ba3345d259222d08722d3
|
|
| BLAKE2b-256 |
35f2bd18979388d29ece3a00fef51b6a6e380f82869efadba305cafbfdba4679
|