diff --git a/docs/guidebook/en/1_Run_the_first_example.md b/docs/guidebook/en/1_Run_the_first_example.md index ef3afbcd..3adda9fd 100644 --- a/docs/guidebook/en/1_Run_the_first_example.md +++ b/docs/guidebook/en/1_Run_the_first_example.md @@ -153,8 +153,8 @@ You need to apply for the SERPER_API_KEY on the official Serper website and conf After applying, find the corresponding key in the custom_key.toml configuration file and uncomment it as shown. ```toml -#Google search -SERPER_API_KEY='xxxxxx' +##search api +SEARCHAPI_API_KEY='key_xxxxxx' ``` Follow the steps in Section 2 to execute other cases. You can now reference and run all official cases. diff --git "a/docs/guidebook/zh/2_2_1_\346\231\272\350\203\275\344\275\223\345\210\233\345\273\272\344\270\216\344\275\277\347\224\250.md" "b/docs/guidebook/zh/2_2_1_\346\231\272\350\203\275\344\275\223\345\210\233\345\273\272\344\270\216\344\275\277\347\224\250.md" index 48531449..187571dc 100644 --- "a/docs/guidebook/zh/2_2_1_\346\231\272\350\203\275\344\275\223\345\210\233\345\273\272\344\270\216\344\275\277\347\224\250.md" +++ "b/docs/guidebook/zh/2_2_1_\346\231\272\350\203\275\344\275\223\345\210\233\345\273\272\344\270\216\344\275\277\347\224\250.md" @@ -24,7 +24,7 @@ * `name`: LLM 名称 * `model_name`: LLM 模型名 - 您可以选择已有或接入任意的LLM,我们在本部分不展开说明,您可以关注[模型LLM章节](2_2_2_模型.md)。 + 其中`introduction`, `target`, `instruction`与模型prompt相关,可以通过`prompt_version`以额外的yaml进行配置。另外您可以选择已有或接入任意的LLM,我们在本部分不展开说明,您可以关注[模型LLM章节](2_2_2_模型.md)。 ### 设置智能体计划 **`plan` - 智能体计划** @@ -136,7 +136,7 @@ agent执行前的输入处理节点, agent的输入可以是自然语言或者js 该部分拥有两个输入参数,如下: * `input_object`: 智能体输入原始数据 - * 可通过 `input_object.get_data('input_key')` 方法获取input_object中的对于数据。 + * 可通过 `input_object.get_data('input_key')` 方法获取input_object中的对应数据。 例如: 用户对智能体输入`question=xxx`, 我们可以通过`input_object.get_data('question')`获取用户当前的提问。 @@ -266,7 +266,7 @@ def parse_input(self, input_object: InputObject, agent_input: dict) -> dict: agent_input['input'] = input_object.get_data('input') return agent_input ``` -在其对应agent设置`sample_standard_app.app.core.agent.rag_agent_case.demo_rag_agent.yaml`中的`instruction`部分我们可以看到如下配置: +在其对应agent设置`sample_standard_app.app.core.prompt.demo_rag_agent_cn.yaml`中的`instruction`部分我们可以看到如下配置: ```text instruction: | 你需要遵守的规则是: @@ -357,7 +357,7 @@ metadata: 在agentUniverse中所有agent实体都由全局agent管理器进行管理,在任何框架执行过程中如果您需要使用智能体可以通过agent管理器。同时通过框架的服务化能力,您可以将agent快速服务化并通过标准的http或rpc协议对其进行网络调用。 ## 方案一: 使用agent管理器 -通过agent管理器中的`get_instance_obj('agent_name_xxx')` 方法可以获取对应名称的agent实例,同时通过agent自身的`run(input='xxx')`方法使用agent,下面的test类中的`test_rag_agent(self)`方法就是使用该方式对于agent进行了调试。 +通过agent管理器中的`get_instance_obj('agent_name_xxx')` 方法可以获取对应名称的agent实例,同时通过agent自身的`run(input='xxx')`方法使用agent,下面的test类中的[`test_rag_agent(self)`](../../../sample_standard_app/app/test/test_rag_agent.py)方法就是使用该方式对于agent进行了调试。 ```python import unittest diff --git "a/docs/guidebook/zh/2_2_3_\351\233\206\346\210\220LangChain\345\267\245\345\205\267.md" "b/docs/guidebook/zh/2_2_3_\351\233\206\346\210\220LangChain\345\267\245\345\205\267.md" index d8126469..3f84f5e5 100644 --- "a/docs/guidebook/zh/2_2_3_\351\233\206\346\210\220LangChain\345\267\245\345\205\267.md" +++ "b/docs/guidebook/zh/2_2_3_\351\233\206\346\210\220LangChain\345\267\245\345\205\267.md" @@ -1,8 +1,9 @@ # 集成LangChain工具 根据langchain中工具对象的初始化的难易程度,可以将其分为两类: -第一类,简单初始化,只需要简单的参数配置即可完成初始化。 -第二类,复杂初始化,内部包含一些复杂的对象需要进行初始化。 +- 第一类,简单初始化,只需要简单的参数配置即可完成初始化。 +- 第二类,复杂初始化,内部包含一些复杂的对象需要进行初始化。 + 对于一类工具,你可以在aU中直接使用配置文件进行初始化,如DuDuckGo搜索工具的初始化。 对于第二类工具,我们实现了一个LangChainTool基础类,你只需要实现该类的init_langchain_tool方法,初始化对应的langchain工具对象即可,参考维基百科的初始化方法。 @@ -24,18 +25,19 @@ metadata: class: 'LangChainTool' ``` 参数说明: - langchain: 你打算使用的langchain工具,需要配置module和class_name - langchain.module: langchain的模块名,例如langchain_community.tools - langchain.class_name: langchain的类名,例如HumanInputRun - langchain.init_params: langchain的初始化参数,例如: - ```yaml - langchain: - module: langchain_community.tools - class_name: HumanInputRun - init_params: - prompt: '请输入你的问题' - ``` +- `langchain`: 你打算使用的langchain工具,需要配置module和class_name +- `langchain.module`: langchain的模块名,例如langchain_community.tools +- `langchain.class_name`: langchain的类名,例如HumanInputRun +- `langchain.init_params`: langchain的初始化参数,例如: + ```yaml + langchain: + module: langchain_community.tools + class_name: HumanInputRun + init_params: + prompt: '请输入你的问题' + ``` 如果需要使用你完全重写了init_langchain_tool方法,那么你不需要配置该部分 + 该工具可以直接使用,无需任何keys ## 1. 集成LangChain中的DuckDuckGo工具 diff --git "a/docs/guidebook/zh/2_2_3_\351\233\206\346\210\220\347\232\204\345\267\245\345\205\267.md" "b/docs/guidebook/zh/2_2_3_\351\233\206\346\210\220\347\232\204\345\267\245\345\205\267.md" index 0e663e28..53871f6a 100644 --- "a/docs/guidebook/zh/2_2_3_\351\233\206\346\210\220\347\232\204\345\267\245\345\205\267.md" +++ "b/docs/guidebook/zh/2_2_3_\351\233\206\346\210\220\347\232\204\345\267\245\345\205\267.md" @@ -181,8 +181,9 @@ metadata: class: 'RequestTool' ``` 参数说明: - method 请求的方式GET/POST/PUT等 - headers 发送请求需要使用的 http的header, - json_parse 输入参数是否需要是要HTTP解析,POST请求时需要设置为True,GET请求需要设置为False - response_content_type http请求结果的解析方式,设置为json时,会返回json结果,设置为text时会返回text结果 +- `method`: 请求的方式GET/POST/PUT等 +- `headers`: 发送请求需要使用的 http的header +- `json_parse`: 输入参数是否需要是要HTTP解析,POST请求时需要设置为True,GET请求需要设置为False +- `response_content_type`: http请求结果的解析方式,设置为json时,会返回json结果,设置为text时会返回text结果 + 该工具可以直接使用,无需任何keys \ No newline at end of file diff --git a/docs/guidebook/zh/2_2_4_DocProcessor.md b/docs/guidebook/zh/2_2_4_DocProcessor.md index 458d2f29..4b787d07 100644 --- a/docs/guidebook/zh/2_2_4_DocProcessor.md +++ b/docs/guidebook/zh/2_2_4_DocProcessor.md @@ -27,11 +27,11 @@ class Document(BaseModel): values['id'] = str(uuid.uuid5(uuid.NAMESPACE_URL, text)) return values ``` -- id:用于标识一段特定文档的唯一标识,默认通过uuid生成。 -- text:文档中的文本内容 -- metadata:文档的元数据信息,通常包含原始文件名、原始文件中的位置等。 -- embedding:文档向量化后的形式,可以是文本向量,在Document的子类ImageDocument中,也可以是图像向量化后的结果。 -- keywords:文档中的关键词,也可以是这段文本的tag。 +- `id`: 用于标识一段特定文档的唯一标识,默认通过uuid生成。 +- `text`: 文档中的文本内容 +- `metadata`: 文档的元数据信息,通常包含原始文件名、原始文件中的位置等。 +- `embedding`: 文档向量化后的形式,可以是文本向量,在Document的子类ImageDocument中,也可以是图像向量化后的结果。 +- `keywords`: 文档中的关键词,也可以是这段文本的tag。 DocProcessor定义如下: ```python @@ -96,9 +96,9 @@ metadata: module: 'agentuniverse.agent.action.knowledge.doc_processor.character_text_splitter' class: 'CharacterTextSplitter' ``` -- chunk_size: 切分后文本长度大小。 -- chunk_overlap: 相邻切分文本重合部分的长度。 -- separators: 指定的分隔符 +- `chunk_size`: 切分后文本长度大小。 +- `chunk_overlap`: 相邻切分文本重合部分的长度。 +- `separators`: 指定的分隔符 ### [TokenTextSplitter](../../../agentuniverse/agent/action/knowledge/doc_processor/character_text_splitter.yaml) 该组件根据指定的 tokenizer 对文本进行切分,按照设定的 chunk_size 和 chunk_overlap 将文本拆分为多个片段,每个片段包含指定数量的tokens。 @@ -116,9 +116,9 @@ metadata: module: 'agentuniverse.agent.action.knowledge.doc_processor.token_text_splitter' class: 'TokenTextSplitter' ``` -- chunk_size: 切分后文本的token数量。 -- chunk_overlap: 相邻切分文本重合部分的token数量。 -- tokenizer: 指定的tokenizer,用于将文本切分为tokens +- `chunk_size`: 切分后文本的token数量。 +- `chunk_overlap`: 相邻切分文本重合部分的token数量。 +- `tokenizer`: 指定的tokenizer,用于将文本切分为tokens ### [RecursiveCharacterTextSplitter](../../../agentuniverse/agent/action/knowledge/doc_processor/recursive_character_text_splitter.yaml) @@ -138,9 +138,9 @@ metadata: module: 'agentuniverse.agent.action.knowledge.doc_processor.recursive_character_text_splitter' class: 'RecursiveCharacterTextSplitter' ``` -- chunk_size: 切分后文本长度大小。 -- chunk_overlap: 相邻切分文本重合部分的长度。 -- separators: 指定的分隔符列表,按顺序尝试使用分隔符进行切分。如果第一个分隔符不能满足条件,则递归地使用下一个分隔符。 +- `chunk_size`: 切分后文本长度大小。 +- `chunk_overlap`: 相邻切分文本重合部分的长度。 +- `separators`: 指定的分隔符列表,按顺序尝试使用分隔符进行切分。如果第一个分隔符不能满足条件,则递归地使用下一个分隔符。 ### [JiebaKeywordExtractor](../../../agentuniverse/agent/action/knowledge/doc_processor/jieba_keyword_extractor.yaml) 该组件使用结巴(Jieba)分词库从文本中提取关键词。它可以根据设定的 top_k 参数提取出最重要的几个关键词,用于后续作为倒排索引。 @@ -154,7 +154,7 @@ metadata: module: 'agentuniverse.agent.action.knowledge.doc_processor.jieba_keyword_extractor' class: 'JiebaKeywordExtractor' ``` -- top_k: 从文本中提取的关键词数量,即排名前 top_k 的关键词会被提取。 +- `top_k`: 从文本中提取的关键词数量,即排名前 top_k 的关键词会被提取。 ### [DashscopeReranker](../../../agentuniverse/agent/action/knowledge/doc_processor/dashscope_reranker.yaml) diff --git a/docs/guidebook/zh/2_2_4_QueryParaphraser.md b/docs/guidebook/zh/2_2_4_QueryParaphraser.md index ec34db1c..c2b4328a 100644 --- a/docs/guidebook/zh/2_2_4_QueryParaphraser.md +++ b/docs/guidebook/zh/2_2_4_QueryParaphraser.md @@ -19,13 +19,13 @@ class Query(BaseModel): ext_info: dict = {} similarity_top_k: Optional[int] = None ``` -- query_str: 一个可选的字符串字段,用于存储原始查询的文本内容。 -- query_text_bundles: 一个可选的字符串列表字段,用于存储多个改写后的查询文本片段。 -- query_image_bundles: 一个可选的图像列表字段,用于存储多个查询图像。 -- keywords: 一个可选的集合字段,用于存储查询的关键词。 -- embeddings: 一个嵌入向量列表字段,用于存储查询的嵌入表示,用于相似度匹配。 -- ext_info: 一个字典字段,用于存储与查询相关的额外信息,支持任意扩展。 -- similarity_top_k: 一个可选的整数字段,用于指定相似度搜索中返回的最相似结果的数量。 +- `query_str`: 一个可选的字符串字段,用于存储原始查询的文本内容。 +- `query_text_bundles`: 一个可选的字符串列表字段,用于存储多个改写后的查询文本片段。 +- `query_image_bundles`: 一个可选的图像列表字段,用于存储多个查询图像。 +- `keywords`: 一个可选的集合字段,用于存储查询的关键词。 +- `embeddings`: 一个嵌入向量列表字段,用于存储查询的嵌入表示,用于相似度匹配。 +- `ext_info`: 一个字典字段,用于存储与查询相关的额外信息,支持任意扩展。 +- `similarity_top_k`: 一个可选的整数字段,用于指定相似度搜索中返回的最相似结果的数量。 QueryParaphraser定义如下: ```python diff --git a/docs/guidebook/zh/2_2_4_RagRouter.md b/docs/guidebook/zh/2_2_4_RagRouter.md index 1ec15b46..c72387ef 100644 --- a/docs/guidebook/zh/2_2_4_RagRouter.md +++ b/docs/guidebook/zh/2_2_4_RagRouter.md @@ -77,5 +77,5 @@ metadata: class: 'NluRagRouter' ``` 其中需要用户填写的内容包括: -- store_amount: 指定查询会被路由到的存储库数量,控制查询的分发范围。 -- llm: 包含大语言模型的配置,用于根据Store的描述信息和Query中的query_str筛选相关的数据库。name 表示模型组件的名称,model_name 指定使用的具体模型。 \ No newline at end of file +- `store_amount`: 指定查询会被路由到的存储库数量,控制查询的分发范围。 +- `llm`: 包含大语言模型的配置,用于根据Store的描述信息和Query中的query_str筛选相关的数据库。name 表示模型组件的名称,model_name 指定使用的具体模型。 \ No newline at end of file diff --git "a/docs/guidebook/zh/2_2_4_\345\246\202\344\275\225\346\236\204\345\273\272RAG\346\231\272\350\203\275\344\275\223.md" "b/docs/guidebook/zh/2_2_4_\345\246\202\344\275\225\346\236\204\345\273\272RAG\346\231\272\350\203\275\344\275\223.md" index 27e8ecaf..bbc8c98e 100644 --- "a/docs/guidebook/zh/2_2_4_\345\246\202\344\275\225\346\236\204\345\273\272RAG\346\231\272\350\203\275\344\275\223.md" +++ "b/docs/guidebook/zh/2_2_4_\345\246\202\344\275\225\346\236\204\345\273\272RAG\346\231\272\350\203\275\344\275\223.md" @@ -6,7 +6,7 @@ 本案例基于RagPlanner,搭建了一个简单的法律咨询智能体,通过检索民法典和刑法中的相关条例并结合案件背景给出相关的法律建议。 该案例基于千问大模型和DashScope的embedding和rerank功能,使用前需要您在环境变量中配置`DASHSCOPE_API_KEY`。 -知识文件的定义如下: +[知识文件](../../../sample_standard_app/app/core/knowledge/law_knowledge.yaml)的定义如下: ```yaml name: "law_knowledge" description: "中国民法与刑法相关的知识库" @@ -52,7 +52,7 @@ insert_processors: ### 配置Store 本案例中包含四个Store:民法和刑法分别存储至sqlite以及chromadb中。我们仅以`civil_law_chroma_store`作为例子,其它Store类似。 -`civil_law_chroma_store`配置如下: +[`civil_law_chroma_store`](../../../sample_standard_app/app/core/store/civil_law_chroma_store.yaml)配置如下: ```yaml name: 'civil_law_chroma_store' description: '保存了中国民法典的所有内容,以文本向量形式存储' diff --git a/docs/guidebook/zh/3_2_1_gRPC.md b/docs/guidebook/zh/3_2_1_gRPC.md index f8759e56..e28abeb3 100644 --- a/docs/guidebook/zh/3_2_1_gRPC.md +++ b/docs/guidebook/zh/3_2_1_gRPC.md @@ -9,9 +9,9 @@ activate = 'true' max_workers = 10 server_port = 50051 ``` -- **activate**: 仅在该值为`true`的时候启动gRPC服务器 -- **max_workers**: gRPC服务器线程池的最大线程数量,默认为10 -- **server_port**: gRPC服务器的服务端口,默认为50051 +- **`activate`**: 仅在该值为`true`的时候启动gRPC服务器 +- **`max_workers`**: gRPC服务器线程池的最大线程数量,默认为10 +- **`server_port`**: gRPC服务器的服务端口,默认为50051 然后启动grpc服务器: ```python @@ -64,9 +64,9 @@ service AgentUniverseService { rpc service_run_result(AgentResultRequest) returns (AgentServiceResponse); } ``` -- **service_run**: 同步调用Agent服务,调用过程中阻塞直到Agent返回结果。 -- **service_run_async**: 异步调用Agent服务,调用后先返回一个`request_id`,后续可用该ID通过`service_run_result`接口查询Agent服务结果。 -- **service_run_result**: 查询Agent服务的结果。 +- **`service_run`**: 同步调用Agent服务,调用过程中阻塞直到Agent返回结果。 +- **`service_run_async`**: 异步调用Agent服务,调用后先返回一个`request_id`,后续可用该ID通过`service_run_result`接口查询Agent服务结果。 +- **`service_run_result`**: 查询Agent服务的结果。 \ 调用Agent服务的请求体结构如下: @@ -77,9 +77,9 @@ message AgentServiceRequest { bool saved = 3; } ``` -- **service_id**: 应用中注册的模型服务id。 -- **params**: JSON String格式的服务入参,会被`json.loads`拆解为`**kwargs`的形式传递给底层的Agent。 -- **saved**: 是否需要保存本次请求结果,该值为`false`的话则本次请求无法在`service_run_result`中查询到。 +- **`service_id`**: 应用中注册的模型服务id。 +- **`params`**: JSON String格式的服务入参,会被`json.loads`拆解为`**kwargs`的形式传递给底层的Agent。 +- **`saved`**: 是否需要保存本次请求结果,该值为`false`的话则本次请求无法在`service_run_result`中查询到。 \ 查询Agent服务结果的请求体结构如下: @@ -88,7 +88,7 @@ message AgentResultRequest { string request_id = 1; } ``` -- **request_id**: 需要查询的请求ID。 +- **`request_id`**: 需要查询的请求ID。 \ 返回结果的结构如下: @@ -100,10 +100,10 @@ message AgentServiceResponse { string result = 4; } ``` -- **message**: 请求失败时的详细错误信息。 -- **success**: 表示本次请求执行是否成功。 -- **request_id**: 本次请求的Id。 -- **result**: Agent服务执行的结果,异步接口`service_run_async`中为空。 +- **`message`**: 请求失败时的详细错误信息。 +- **`success`**: 表示本次请求执行是否成功。 +- **`request_id`**: 本次请求的Id。 +- **`result`**: Agent服务执行的结果,异步接口`service_run_async`中为空。 ### 调用示例 ```python diff --git a/docs/guidebook/zh/3_3_1_Milvus.md b/docs/guidebook/zh/3_3_1_Milvus.md index fdc584c8..6493e350 100644 --- a/docs/guidebook/zh/3_3_1_Milvus.md +++ b/docs/guidebook/zh/3_3_1_Milvus.md @@ -42,11 +42,11 @@ metadata: module: 'agentuniverse.agent.action.knowledge.store.milvus_store' class: 'MilvusStore' ``` -- connection_args: 连接 Milvus 数据库的参数,包括主机地址 (host) 和端口号 (port)。 -- search_args: 搜索参数,定义了搜索时使用的距离度量类型 (metric_type) 和相关参数(如 nprobe)。 -- index_params: 索引参数,定义了使用的索引类型 (index_type)、距离度量类型 (metric_type) 以及构建索引时的具体参数(如 M 和 efConstruction)。 -- embedding_model: 用于生成嵌入向量的模型名称,这里指定为 dashscope_embedding。 -- similarity_top_k: 在相似度搜索中返回最相似结果的数量。 +- `connection_args`: 连接 Milvus 数据库的参数,包括主机地址 (host) 和端口号 (port)。 +- `search_args`: 搜索参数,定义了搜索时使用的距离度量类型 (metric_type) 和相关参数(如 nprobe)。 +- `index_params`: 索引参数,定义了使用的索引类型 (index_type)、距离度量类型 (metric_type) 以及构建索引时的具体参数(如 M 和 efConstruction)。 +- `embedding_model`: 用于生成嵌入向量的模型名称,这里指定为 dashscope_embedding。 +- `similarity_top_k`: 在相似度搜索中返回最相似结果的数量。 ### 使用方式 [知识定义与使用](2_2_4_知识定义与使用.md) diff --git a/docs/guidebook/zh/3_3_2_ChromaDB.md b/docs/guidebook/zh/3_3_2_ChromaDB.md index 488fec66..7d6cefc7 100644 --- a/docs/guidebook/zh/3_3_2_ChromaDB.md +++ b/docs/guidebook/zh/3_3_2_ChromaDB.md @@ -15,9 +15,9 @@ metadata: module: 'agentuniverse.agent.action.knowledge.store.chroma_store' class: 'ChromaStore' ``` -- persist_path: 数据库的持久化存储路径,用于存储和加载向量数据。 -- embedding_model: 用于生成嵌入向量的模型名称,这里指定为 dashscope_embedding。 -- similarity_top_k: 在相似度搜索中返回最相似结果的数量。 +- `persist_path`: 数据库的持久化存储路径,用于存储和加载向量数据。 +- `embedding_model`: 用于生成嵌入向量的模型名称,这里指定为 dashscope_embedding。 +- `similarity_top_k`: 在相似度搜索中返回最相似结果的数量。 ### 使用方式 [知识定义与使用](2_2_4_知识定义与使用.md) diff --git a/docs/guidebook/zh/3_3_3_Sqlite.md b/docs/guidebook/zh/3_3_3_Sqlite.md index cf5d9506..34cd8540 100644 --- a/docs/guidebook/zh/3_3_3_Sqlite.md +++ b/docs/guidebook/zh/3_3_3_Sqlite.md @@ -18,11 +18,11 @@ metadata: module: 'agentuniverse.agent.action.knowledge.store.sqlite_store' class: 'SQLiteStore' ``` -- db_path: SQLite 数据库文件的路径,用于存储和管理文本数据。 -- k1: BM25 算法中的参数 k1,控制词频对得分的影响。 -- b: BM25 算法中的参数 b,控制文档长度对得分的影响。 -- keyword_extractor: 用于提取关键词的工具名称,这里指定为 jieba_keyword_extractor。 -- similarity_top_k: 根据BM25分数返回的最相关的top k。 +- `db_path`: SQLite 数据库文件的路径,用于存储和管理文本数据。 +- `k1`: BM25 算法中的参数 k1,控制词频对得分的影响。 +- `b`: BM25 算法中的参数 b,控制文档长度对得分的影响。 +- `keyword_extractor`: 用于提取关键词的工具名称,这里指定为 jieba_keyword_extractor。 +- `similarity_top_k`: 根据BM25分数返回的最相关的top k。 ### 使用方式 [知识定义与使用](2_2_4_知识定义与使用.md) \ No newline at end of file diff --git "a/docs/guidebook/zh/5_1_1_Docker\345\256\271\345\231\250\345\214\226\351\203\250\347\275\262.md" "b/docs/guidebook/zh/5_1_1_Docker\345\256\271\345\231\250\345\214\226\351\203\250\347\275\262.md" index 1b5d5f24..35decf04 100644 --- "a/docs/guidebook/zh/5_1_1_Docker\345\256\271\345\231\250\345\214\226\351\203\250\347\275\262.md" +++ "b/docs/guidebook/zh/5_1_1_Docker\345\256\271\345\231\250\345\214\226\351\203\250\347\275\262.md" @@ -15,8 +15,9 @@ docker pull registry.cn-hangzhou.aliyuncs.com/agent_universe/agent_universe:0.0. ```shell docker run -d -p 8888:8888 -e OPENAI_API_KEY=XXX -v ./sample_standard_app/:/usr/local/etc/workspace/project/sample_standard_app registry.cn-hangzhou.aliyuncs.com/agent_universe/agent_universe:0.0.9_centos8 ``` -其中`-p 8888:8888`为Web Server的端口映射,前面的8888表示容器内的webserver启动在8888端口,后者表示映射到宿主机的8888端口,可自行根据实际应用的启动情况调整。-e OPENAI_API_KEY=XXX可以添加容器内的环境变量。 -`-v {local_dir}:/usr/local/etc/workspace/project/{local_dir_name}`表示把本地`local_dir`目录挂载至容器内的`/usr/local/etc/workspace/project`目录,容器内目录为固定值,不可修改,`local_dir_name`表示你本地文件夹的名字,也就是`local_dir`的最后一级目录名称。 +- `-p 8888:8888`为Web Server的端口映射,前面的8888表示容器内的webserver启动在8888端口,后者表示映射到宿主机的8888端口,可自行根据实际应用的启动情况调整。 +- `-e OPENAI_API_KEY=XXX`可以添加容器内的环境变量。 +- `-v {local_dir}:/usr/local/etc/workspace/project/{local_dir_name}`表示把本地`local_dir`目录挂载至容器内的`/usr/local/etc/workspace/project`目录,容器内目录为固定值,不可修改,`local_dir_name`表示你本地文件夹的名字,也就是`local_dir`的最后一级目录名称。 ### 使用多个容器挂载相同目录时,有以下几点建议: 由于多个容器在相同的挂载目录进行文件的读写,有几处设置可以优化并发读写的冲突: @@ -38,7 +39,8 @@ docker run -d -p 8888:8888 -e OPENAI_API_KEY=XXX -v ./sample_standard_app/:/usr/ docker run -d -p 8888:8888 --entrypoint=/bin/bash registry.cn-hangzhou.aliyuncs.com/agent_universe/agent_universe:0.0.5_centos8_beta -c "git clone {repo_addr}; mv {project_dir} /usr/local/etc/workspace/project; /bin/bash --login /usr/local/etc/workspace/shell/start.sh" ```` -其中`repo_addr`是你的git项目地址,`project_dir`是工程路径,比如`sample_standard_app`在你git项目下的`project`目录,那么`project_dir`就是`project/sample_standard_app`。 +- `repo_addr`是你的git项目地址 +- `project_dir`是工程路径,比如`sample_standard_app`在你git项目下的`project`目录,那么`project_dir`就是`project/sample_standard_app`。 ## 结果验证 以该示例中的8888端口为例,您可以通过curl命令验证服务是否正确启动 ```shell diff --git "a/docs/guidebook/zh/6_4_1_\351\207\221\350\236\215\344\272\213\344\273\266\345\210\206\346\236\220\346\241\210\344\276\213.md" "b/docs/guidebook/zh/6_4_1_\351\207\221\350\236\215\344\272\213\344\273\266\345\210\206\346\236\220\346\241\210\344\276\213.md" index 6f7da1ce..182a78b3 100644 --- "a/docs/guidebook/zh/6_4_1_\351\207\221\350\236\215\344\272\213\344\273\266\345\210\206\346\236\220\346\241\210\344\276\213.md" +++ "b/docs/guidebook/zh/6_4_1_\351\207\221\350\236\215\344\272\213\344\273\266\345\210\206\346\236\220\346\241\210\344\276\213.md" @@ -63,13 +63,13 @@ metadata: class: 'PeerAgent' ``` 用户可以通过配置文件的形式将上文中的四个Agent经由`peer_planner`的协作模式,组装为完整的PEER Agent。其中: -- name: 固定为`peer_planner`,表示该Agent使用了PEER多智能体协作模式。 -- eval_threshold: 表示Reviewing Agent采纳答案时的最低分数。 -- retry_count: 表示Reviewing Agent未采纳答案后,PEER Agent的重试次数 -- planning:负责Plan部分的Agent名称 -- executing:负责Execute部分的Agent名称 -- expressing:负责Express部分的Agent名称 -- reviewing:负责Review部分的Agent名称 +- `name`: 固定为`peer_planner`,表示该Agent使用了PEER多智能体协作模式。 +- `eval_threshold`: 表示Reviewing Agent采纳答案时的最低分数。 +- `retry_count`: 表示Reviewing Agent未采纳答案后,PEER Agent的重试次数 +- `planning`: 负责Plan部分的Agent名称 +- `executing`: 负责Execute部分的Agent名称 +- `expressing`: 负责Express部分的Agent名称 +- `reviewing`: 负责Review部分的Agent名称 您可以在[示例文件](../../../sample_standard_app/app/examples/peer_chat_bot.py)中完整运行本案例。 diff --git "a/docs/guidebook/zh/7_1_1_\346\263\225\345\276\213\345\222\250\350\257\242\346\241\210\344\276\213.md" "b/docs/guidebook/zh/7_1_1_\346\263\225\345\276\213\345\222\250\350\257\242\346\241\210\344\276\213.md" index d88528ee..59740390 100644 --- "a/docs/guidebook/zh/7_1_1_\346\263\225\345\276\213\345\222\250\350\257\242\346\241\210\344\276\213.md" +++ "b/docs/guidebook/zh/7_1_1_\346\263\225\345\276\213\345\222\250\350\257\242\346\241\210\344\276\213.md" @@ -35,7 +35,7 @@ metadata: module: 'sample_standard_app.app.core.knowledge.law_knowledge' class: 'LawKnowledge' ``` - +其中`nlu_rag_router`默认使用gpt作为基座模型,可以通过修改[yaml](../../../sample_standard_app/app/core/rag_router/nlu_rag_router.yaml)中的llm参数来指定其他模型(如qwen模型)。 ### Reader组件 - [default_pdf_reader](../../../agentuniverse/agent/action/knowledge/reader/file/pdf_reader.yaml) diff --git "a/docs/guidebook/zh/8_1_1_\346\225\260\346\215\256\350\207\252\346\262\273\346\231\272\350\203\275\344\275\223.md" "b/docs/guidebook/zh/8_1_1_\346\225\260\346\215\256\350\207\252\346\262\273\346\231\272\350\203\275\344\275\223.md" index be903610..49c23f65 100644 --- "a/docs/guidebook/zh/8_1_1_\346\225\260\346\215\256\350\207\252\346\262\273\346\231\272\350\203\275\344\275\223.md" +++ "b/docs/guidebook/zh/8_1_1_\346\225\260\346\215\256\350\207\252\346\262\273\346\231\272\350\203\275\344\275\223.md" @@ -105,8 +105,8 @@ tips: 请合理配置问题集及具体评测行数,以免造成大量算力 ### 评测数据集 首先生成评测数据集,以jsonl文件的格式存储智能体的q&a对。 如下图所示: - - query: 评测数据问题 - - answer: 评测数据答案 + - `query`: 评测数据问题 + - `answer`: 评测数据答案 ![data_agent_dataset](../_picture/data_agent_dataset.png) @@ -116,12 +116,12 @@ tips: 请合理配置问题集及具体评测行数,以免造成大量算力 生产评测数据集后,dataAgent开始数据多维度评估标注,产出完整评测结果(若执行多轮dataAgent跑批任务,则产出多个完整评测结果)。 如下图所示: - - Line Number: 当前评测数据在数据集中的行数 - - Overall Score: 综合分数 = 多个维度的评估分数总和 / 评估维度个数(满分5分,分数范围0-5) - - Query: 评测数据问题 - - Answer: 评测数据答案 - - 相关性 Score: 代表评测数据答案与问题的相关性,分数越高越相关(满分5分,分数范围0-5) - - 相关性 Suggestion: 代表相关性维度存在的问题和改进建议 + - `Line Number`: 当前评测数据在数据集中的行数 + - `Overall Score`: 综合分数 = 多个维度的评估分数总和 / 评估维度个数(满分5分,分数范围0-5) + - `Query`: 评测数据问题 + - `Answer`: 评测数据答案 + - `相关性 Score`: 代表评测数据答案与问题的相关性,分数越高越相关(满分5分,分数范围0-5) + - `相关性 Suggestion`: 代表相关性维度存在的问题和改进建议 - 更多维度 Score/Suggestion 以此类推 ![data_agent_eval_result](../_picture/data_agent_eval_result.png) @@ -135,9 +135,9 @@ tips: 请合理配置问题集及具体评测行数,以免造成大量算力 根据多轮完整的评测结果,生成一份综合评测报告。 如下图所示: - - Line Name: 包含两种类型,如`Queryset Turn x`代表根据问题集第x轮生成的评测数据集, `Turn Avg Score`代表多轮多维度的平均分数 - - Overall Avg Score: 单轮数据集中所有数据的综合分数总和 / 数据集中对应数据量(满分5分,分数范围0-5) - - 相关性 Avg Score: 单轮数据集中所有数据的相关性分数总和 / 数据集中对应数据量(满分5分,分数范围0-5) + - `Line Name`: 包含两种类型,如`Queryset Turn x`代表根据问题集第x轮生成的评测数据集, `Turn Avg Score`代表多轮多维度的平均分数 + - `Overall Avg Score`: 单轮数据集中所有数据的综合分数总和 / 数据集中对应数据量(满分5分,分数范围0-5) + - `相关性 Avg Score`: 单轮数据集中所有数据的相关性分数总和 / 数据集中对应数据量(满分5分,分数范围0-5) - 更多维度 Avg Score 以此类推 ![data_agent_eval_report](../_picture/data_agent_eval_report.png) diff --git a/sample_standard_app/app/core/llm/deep_seek_opneai_llm.yaml b/sample_standard_app/app/core/llm/deep_seek_openai_llm.yaml similarity index 100% rename from sample_standard_app/app/core/llm/deep_seek_opneai_llm.yaml rename to sample_standard_app/app/core/llm/deep_seek_openai_llm.yaml