AI智能体(六)

AI智能体(五)

Dify

Dify是一个开源的Agent开发平台,使用Dify有两种方式,一种是使用Dify的在线平台。https://cloud.dify.ai

一种是进行私有化部署。下载地址:https://github.com/langgenius/dify

docker私有化部署

下载完成后

cd docker
cp .env.example .env
docker compose up -d

执行

sudo apt-get update
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod 777 /etc/apt/keyrings/docker.asc
echo \
>   "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
>   $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
>   sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
docker compose -f docker-compose.yaml up -d

执行完成后查看一下

docker ps

在浏览器中输入http://localhost/install

创建工作流

这里我们以官网为例来说明,创建一个文本写作的内容。

首先点击工作室,创建一个空白应用

选择工作流,填入应用的名称

先点击开始,选择我们的输入

输入字段,点+号

然后选择上传文档,变量名必须为英文

然后选择文档提取器节点

输入变量为document,输出变量为text

然后选择大模型节点

在LLM中选择模型,我这里选择的是gpt-4o-mini,上下文选择文档提取器/text。SYSTEM填写

你是一个文档大纲提取专家

提示词,我这里是

将以下提纲解析为JSON格式:文档提取器text}返回格式示例:
[    
    {{      
        "chapter": "第一章:背景家世",      
        "subchapter": ["1您的名字有什么特殊的含义或故事吗?我的名字\“列夫·托尔斯泰\”意味着\“神的和平\”,这反映了我家族对宗教和道德价值的重视。",                     
                        "您的家族有什么样的传统或家训?我的家族一直秉承着诚实、勤劳和对教育的重视,这些传统对我影响深远。",                     
                        "您的父母是如何相遇的,他们的故事对您有什么影响?我的父母是在一次贵族聚会上相遇的,他们的故事教会了我关于爱情和责任的重要性。"]    
    }}
]
只需要返回JSON格式,不要做无关的事情

此时我们可以点一下运行看一下效果

上传我们的文档,点运行

运行完成后,点追踪,我们可以看到每一个节点所花费的时间

然后,我们来看一下大模型的输入、提示词、输出

{
  "#context#": "采访大纲记录和回答\n第一章:背景家世\n• 您的名字有什么特殊的含义或故事吗?\n• 我的名字“列夫·托尔斯泰”意味着“神的和平”,这反映了我家族对宗教和道德价值的重视。\n• 您的家族有什么样的传统或家训?\n• 我的家族一直秉承着诚实、勤劳和对教育的重视,这些传统对我影响深远。\n• 您的父母是如何相遇的,他们的故事对您有什么影响?\n• 我的父母是在一次贵族聚会上相遇的,他们的故事教会了我关于爱情和责任的重要性。\n• 您能分享一下您家族中的重要历史事件或转折点吗?\n• 家族…}

提示词

{
  "model_mode": "chat",
  "prompts": [
    {
      "role": "system",
      "text": "将以下提纲解析为JSON格式:\n采访大纲记录和回答\n第一章:背景家世\n• 您的名字有什么特殊的含义或故事吗?\n• 我的名字“列夫·托尔斯泰”意味着“神的和平”,这反映了我家族对宗教和道德价值的重视。\n• 您的家族有什…  "model_name": "gpt-4o-mini"
}

输出

{
  "text": "```json\n[\n    {\n        \"chapter\": \"第一章:背景家世\",\n        \"subchapter\": [\n            \"您的名字有什么特殊的含义或故事吗?我的名字“列夫·托尔斯泰”意味着“神的和平”,这反映了我家族对宗教和道德价值的重视。\",\n            \"您的家族有什么样的传统或家训?我的家族一直秉承着诚实、勤劳和对教育的重视,这些传统对我影响深远。\",\n            \"您的父母是如何相遇的,他们的故事对您有什么影响?我的父母是在一次贵族聚会上相遇的,他们的故事教会了我关于爱情和责任的重要性。\",\n            \"您能分享一下您家族中的重要历史事件或转折点吗?家族中最重要的转折点是曾祖父在拿破仑战争中的英勇表现,这为我们家族赢得了荣誉和尊重。\"\n        ]\n    },\n    {\n        \"chapter\": \"第二章:童年时光\",\n        \"subchapter\": [\n            \"您童年时期最难忘的记忆是什么?我童年最难忘的是在家族庄园的广阔田野上自由奔跑,那里充满了我的欢笑和探索。\",\n            \"您童年时的家乡有哪些特色或变化?我的家乡有着丰富的自然资源和深厚的文化底蕴,随着时间的推移,它逐渐成为了俄罗斯文学的摇篮。\",\n            \"您童年的家庭生活是怎样的?我的童年家庭生活充满了爱和关怀,尽管父母早逝,但家族的长辈给了我足够的温暖和教育。\",\n            \"您还记得您儿时的玩伴吗?他们对您有什么影响?我儿时的玩伴主要是家族的兄弟姐妹和庄园里的孩子们,他们让我学会了分享和团队合作。\"\n        ]\n    },\n    {\n        \"chapter\": \"第三章:求学岁月\",\n        \"subchapter\": [\n            \"您在求学过程中遇到的最大挑战是什么?求学过程中最大的挑战是适应正规教育体系,我更倾向于自学和探索。\",\n            \"您有哪些特别尊敬的老师或导师?我特别尊敬的老师是那些能够激发我思考和鼓励我独立创作的导师。\",\n            \"您在学校中最骄傲的成就是什么?我在学校中最骄傲的成就是我开始创作诗歌和故事,这些作品受到了同学们的喜爱。\",\n            \"您和同学之间有哪些难忘的故事?我和同学们一起组织文学社团,共同探讨文学和哲学问题,这些经历对我影响深远。\"\n        ]\n    },\n    {\n        \"chapter\": \"第四章:职业生涯\",\n        \"subchapter\": [\n            \"您的第一份工作是什么?您是如何得到这份工作的?我的第一份工作是家族庄园的管理者,这份工作让我有机会实践我对社会改革的想法。\",\n            \"您在职业生涯中取得的最大成就是什么?我职业生涯中最大的成就是创作了《战争与和平》和《安娜·卡列尼娜》,这些作品对世界文学产生了深远影响。\",\n            \"您在工作过程中遇到的最大挑战是什么,您是如何克服的?我遇到的最大挑战是如何平衡文学创作和社会活动,我通过严格的时间管理和自我约束来克服。\",\n            \"您的职业经历中的转折点是什么?我的职业转折点是决定放弃贵族生活,专注于文学创作和精神探索。\"\n        ]\n    },\n    {\n        \"chapter\": \"第五章:婚姻家庭\",\n        \"subchapter\": [\n            \"您和您的伴侣是如何相遇的?我和伴侣索尼娅是在家族的一次聚会上相遇的,我们彼此一见钟情。\",\n            \"您的婚姻生活中有哪些难忘的时刻?婚姻生活中最难忘的是与索尼娅共同抚养孩子,以及一起度过的艰难岁月。\",\n            \"您在为人父母的过程中学到了什么?作为父母,我学到了耐心、牺牲和无条件的爱的重要性。\",\n            \"您如何平衡工作和家庭生活?我通过设定工作和家庭的界限,以及与索尼娅共同分担家庭责任来平衡两者。\"\n        ]\n    },\n    {\n        \"chapter\": \"第六章:人缘际遇\",\n        \"subchapter\": [\n            \"您和您的兄弟姐妹关系如何?我和兄弟姐妹关系非常亲密,我们互相支持,共同成长。\",\n            \"您有哪些长期保持联系的老朋友?我有一些从年轻时就认识的朋友,如屠格涅夫和陀思妥耶夫斯基,我们一直保持着深厚的友谊。\",\n            \"您生命中有哪些重要的贵人,他们是如何帮助您的?我生命中的贵人包括我的导师和一些文学界的前辈,他们对我的写作生涯有着重要的影响。\"\n        ]\n    },\n    {\n        \"chapter\": \"第七章:岁月变迁\",\n        \"subchapter\": [\n            \"您的家乡在您成长过程中发生了哪些变化?我的家乡经历了俄罗斯社会的动荡和变革,这些变化深刻影响了我的思想和创作。\",\n            \"您亲历了哪些重要的历史事件?我亲历了1861年的农奴制改革,这一事件对我的世界观和文学创作产生了深远影响。\",\n            \"您认为时代的变化对您的生活有哪些影响?时代的变化让我更加关注社会公正和人类的精神追求,这些主题在我的作品中得到了体现。\"\n        ]\n    },\n    {\n        \"chapter\": \"第八章:晚年生活\",\n        \"subchapter\": [\n            \"您退休后的生活是怎样的?我晚年的生活主要是在庄园中度过,我专注于写作和精神探索。\",\n            \"您对未来有什么期望或计划?我对未来的期望是能够继续创作,留下更多的文学作品供后人阅读和思考。\",\n            \"您对年轻一代有什么建议或寄语?我对年轻一代的建议是珍惜时间,不断学习和成长,同时也要关注社会和他人。\"\n        ]\n    },\n    {\n        \"chapter\": \"第九章:人生感悟\",\n        \"subchapter\": [\n            \"您认为什么是幸福?我认为幸福是内心的平静和满足,是对生活有深刻的理解和感悟。\",\n            \"您在人生中最自豪的成就是是什么?我人生中最自豪的成就是能够通过我的文学作品影响和启发人们。\",\n            \"您在人生中遇到过哪些重大的转折点?我人生中的重大转折点是决定放弃贵族生活,专注于文学创作和精神探索。\",\n            \"您有哪些遗憾,您是如何释怀的?我有一些遗憾,比如没有更多时间陪伴家人,但我通过珍惜现在来释怀。\",\n            \"您对青春的寄语是什么?我对青春的寄语是勇敢追梦,不畏挑战,同时也要珍惜身边的人。\",\n            \"您希望如何影响或启发后人?我希望我能够通过我的经历和故事,启发后人去追求他们的梦想,同时也要关注社会和他人。\"\n        ]\n    }\n]\n```",
  "usage": {
    "prompt_tokens": 1764,
    "prompt_unit_price": "0.15",
    "prompt_price_unit": "0.000001",
    "prompt_price": "0.0002646",
    "completion_tokens": 1688,
    "completion_unit_price": "0.60",
    "completion_price_unit": "0.000001",
    "completion_price": "0.0010128",
    "total_tokens": 3452,
    "total_price": "0.0012774",
    "currency": "USD",
    "latency": 23.888047418091446
  },
  "finish_reason": "stop"
}

继续添加代码执行节点,输入变量arg1为LLM text,输出变量result为Arrar[Object]

代码为

import json
def main(arg1: str) -> dict:
    if arg1.startswith('```'):
        arg1 = arg1[8:-4]
    data = json.loads(arg1)
    return {
        "result": data
    }

运行结果

{
  "result": [
    {
      "chapter": "第一章:背景家世",
      "subchapter": [
        "您的名字有什么特殊的含义或故事吗?我的名字“列夫·托尔斯泰”意味着“神的和平”,这反映了我家族对宗教和道德价值的重视。",
        "您的家族有什么样的传统或家训?我的家族一直秉承着诚实、勤劳和对教育的重视,这些传统对我影响深远。",
        "您的父母是如何相遇的,他们的故事对您有什么影响?我的父母是在一次贵族聚会上相遇的,他们的故事教会了我关于爱情和责任的重要性。",
        "您能分享一下您家族中的重要历史事件或转折点吗?家族中最重要的转折点是曾祖父在拿破仑战争中的英勇表现,这为我们家族赢得了荣誉和尊重。"
      ]
    },
    {
      "chapter": "第二章:童年时光",
      "subchapter": [
        "您童年时期最难忘的记忆是什么?我童年最难忘的是在家族庄园的广阔田野上自由奔跑,那里充满了我的欢笑和探索。",
        "您童年时的家乡有哪些特色或变化?我的家乡有着丰富的自然资源和深厚的文化底蕴,随着时间的推移,它逐渐成为了俄罗斯文学的摇篮。",
        "您童年的家庭生活是怎样的?我的童年家庭生活充满了爱和关怀,尽管父母早逝,但家族的长辈给了我足够的温暖和教育。",
        "您还记得您儿时的玩伴吗?他们对您有什么影响?我儿时的玩伴主要是家族的兄弟姐妹和庄园里的孩子们,他们让我学会了分享和团队合作。"
      ]
    },
    {
      "chapter": "第三章:求学岁月",
      "subchapter": [
        "您在求学过程中遇到的最大挑战是什么?求学过程中最大的挑战是适应正规教育体系,我更倾向于自学和探索。",
        "您有哪些特别尊敬的老师或导师?我特别尊敬的老师是那些能够激发我思考和鼓励我独立创作的导师。",
        "您在学校中最骄傲的成就是什么?我在学校中最骄傲的成就是我开始创作诗歌和故事,这些作品受到了同学们的喜爱。",
        "您和同学之间有哪些难忘的故事?我和同学们一起组织文学社团,共同探讨文学和哲学问题,这些经历对我影响深远。"
      ]
    },
    {
      "chapter": "第四章:职业生涯",
      "subchapter": [
        "您的第一份工作是什么?您是如何得到这份工作的?我的第一份工作是家族庄园的管理者,这份工作让我有机会实践我对社会改革的想法。",
        "您在职业生涯中取得的最大成就是什么?我职业生涯中最大的成就是创作了《战争与和平》和《安娜·卡列尼娜》,这些作品对世界文学产生了深远影响。",
        "您在工作过程中遇到的最大挑战是什么,您是如何克服的?我遇到的最大挑战是如何平衡文学创作和社会活动,我通过严格的时间管理和自我约束来克服。",
        "您的职业经历中的转折点是什么?我的职业转折点是决定放弃贵族生活,专注于文学创作和精神探索。"
      ]
    },
    {
      "chapter": "第五章:婚姻家庭",
      "subchapter": [
        "您和您的伴侣是如何相遇的?我和伴侣索尼娅是在家族的一次聚会上相遇的,我们彼此一见钟情。",
        "您的婚姻生活中有哪些难忘的时刻?婚姻生活中最难忘的是与索尼娅共同抚养孩子,以及一起度过的艰难岁月。",
        "您在为人父母的过程中学到了什么?作为父母,我学到了耐心、牺牲和无条件的爱的重要性。",
        "您如何平衡工作和家庭生活?我通过设定工作和家庭的界限,以及与索尼娅共同分担家庭责任来平衡两者。"
      ]
    },
    {
      "chapter": "第六章:人缘际遇",
      "subchapter": [
        "您和您的兄弟姐妹关系如何?我和兄弟姐妹关系非常亲密,我们互相支持,共同成长。",
        "您有哪些长期保持联系的老朋友?我有一些从年轻时就认识的朋友,如屠格涅夫和陀思妥耶夫斯基,我们一直保持着深厚的友谊。",
        "您生命中有哪些重要的贵人,他们是如何帮助您的?我生命中的贵人包括我的导师和一些文学界的前辈,他们对我的写作生涯有着重要的影响。"
      ]
    },
    {
      "chapter": "第七章:岁月变迁",
      "subchapter": [
        "您的家乡在您成长过程中发生了哪些变化?我的家乡经历了俄罗斯社会的动荡和变革,这些变化深刻影响了我的思想和创作。",
        "您亲历了哪些重要的历史事件?我亲历了1861年的农奴制改革,这一事件对我的世界观和文学创作产生了深远影响。",
        "您认为时代的变化对您的生活有哪些影响?时代的变化让我更加关注社会公正和人类的精神追求,这些主题在我的作品中得到了体现。"
      ]
    },
    {
      "chapter": "第八章:晚年生活",
      "subchapter": [
        "您退休后的生活是怎样的?我晚年的生活主要是在庄园中度过,我专注于写作和精神探索。",
        "您对未来有什么期望或计划?我对未来的期望是能够继续创作,留下更多的文学作品供后人阅读和思考。",
        "您对年轻一代有什么建议或寄语?我对年轻一代的建议是珍惜时间,不断学习和成长,同时也要关注社会和他人。"
      ]
    },
    {
      "chapter": "第九章:人生感悟",
      "subchapter": [
        "您认为什么是幸福?我认为幸福是内心的平静和满足,是对生活有深刻的理解和感悟。",
        "您在人生中最自豪的成就是是什么?我人生中最自豪的成就是能够通过我的文学作品影响和启发人们。",
        "您在人生中遇到过哪些重大的转折点?我人生中的重大转折点是决定放弃贵族生活,专注于文学创作和精神探索。",
        "您有哪些遗憾,您是如何释怀的?我有一些遗憾,比如没有更多时间陪伴家人,但我通过珍惜现在来释怀。",
        "您对青春的寄语是什么?我对青春的寄语是勇敢追梦,不畏挑战,同时也要珍惜身边的人。",
        "您希望如何影响或启发后人?我希望我能够通过我的经历和故事,启发后人去追求他们的梦想,同时也要关注社会和他人。"
      ]
    }
  ]
}

继续添加迭代节点,并且在迭代中添加大模型节点

大模型的设置如下

Browser-Use

环境安装

下载地址:https://github.com/browser-use/browser-use

conda create -n browser python=3.11
conda activate browser
pip install browser-use
playwright install

设置API_KEY

下载完成后进入主文件夹

cp .env.example .env

内容如下

OPENAI_API_KEY=******
ANTHROPIC_API_KEY=

# Set to false to disable anonymized telemetry
ANONYMIZED_TELEMETRY=true

# LogLevel: Set to debug to enable verbose logging, set to result to get results only. Available: result | debug | info
BROWSER_USE_LOGGING_LEVEL=info
开源 Java 工具 - Hutool 致大家的一封信 Visual Studio Code 1.99 发布,引入 Agent 和 MCP 亚马逊在最后一刻提交了收购 TikTok 的报价 FFmpeg 愚人节整活:加入 DOGE 团队,用汇编重写美国社保系统 龙芯 2K3000(3B6000M)处理器流片成功 中国首款全自研高性能 RISC-V 服务器芯片发布 清华大学开源软件镜像站的愚人节彩蛋 比尔·盖茨公开自己写过的“最酷的代码” Linus 口吐芬芳:怒斥英特尔工程师提交的代码是“令人作呕的一坨” GoodLink v2.1.3 已经发布,内网穿透工具
{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/3768341/blog/17057359
今日推荐