factool

factool

增强型AI文本事实性检测框架

FacTool是一款专注于检测大型语言模型生成文本中事实性错误的增强型框架。该工具支持知识问答、代码生成、数学推理和科学文献综述四个领域的检测任务。通过识别错误并提供分析和修正建议,FacTool显著提升了AI生成内容的可靠性和准确性。这一创新工具为AI研究和开发提供了有力支持,有助于推动生成式AI技术的整体进步。

FacToolAI大语言模型事实检测生成式AIGithub开源项目

FacTool: 生成式人工智能的事实性检测工具

事实性排行榜 | 安装 | 快速开始 | FacTool ChatGPT 插件 | 引用 |

本仓库包含了我们论文的源代码和插件配置。

项目网站

Factool 是一个工具增强型框架,用于检测大型语言模型(如ChatGPT)生成文本中的事实错误。 Factool 目前支持4项任务:

  • 基于知识的问答: Factool 检测基于知识的问答中的事实错误。
  • 代码生成: Factool 检测代码生成中的执行错误。
  • 数学推理: Factool 检测数学推理中的计算错误。
  • 科学文献综述: Factool 检测虚构的科学文献。
<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/4a86fd60-53c2-4c2a-b404-9f1c0b250e90.png" width="300"/> </p>

新闻

基于知识的问答演示:

替代文本

替代文本

替代文本

事实性排行榜

我们的事实性排行榜展示了由FacTool评估的不同聊天机器人的事实准确性。

大语言模型加权声明级准确率响应级准确率
GPT-475.6043.33
ChatGPT68.6336.67
Claude-v163.9526.67
Bard61.1533.33
Vicuna-13B50.3521.67

安装

  • 普通用户

pip install factool
  • 开发者

git clone git@github.com:GAIR-NLP/factool.git cd factool pip install -e .

快速开始

API密钥准备

  • 这里获取你的OpenAI API密钥。这在所有场景中都需要使用(基于知识的问答、代码、数学、科学文献综述)。
  • 这里获取你的Serper API密钥。这仅在基于知识的问答中使用。
  • 这里获取你的Scraper API密钥。这仅在科学文献综述中使用。

通用用法

你也可以直接参考./example/example.pyexample_inputs.jsonl了解通用用法。

<details> <summary>通用用法(点击展开内容)</summary>
export OPENAI_API_KEY=... # 所有任务都需要 export SERPER_API_KEY=... # 仅基于知识的问答需要 export SCRAPER_API_KEY=... # 仅科学文献综述需要
# 初始化输入列表。"entry_point"仅在任务为"代码生成"时需要 # 请参考example_inputs.jsonl获取每个类别的示例输入 inputs = [ {"prompt": "<提示1>", "response": "<回答1>", "category": "<类别1>", "entry_point": "<入口点1>"}, {"prompt": "<提示2>", "response": "<回答2>", "category": "<类别2>", "entry_point": "<入口点2>"}, ... ]

其中

  • prompt: 用于生成回答的提示。
  • response: 模型生成的回答。
  • category: 任务类别。可以是:
    • kbqa
    • code
    • math
    • scientific
  • entry_point: 回答中需要进行事实检查的代码片段的函数名。如果任务类别不是code,可以为"null"。
from factool import Factool # 使用指定的密钥初始化Factool实例。foundation_model可以是"gpt-3.5-turbo"或"gpt-4" factool_instance = Factool("gpt-4") inputs = [ { "prompt": "介绍Graham Neubig", "response": "Graham Neubig是MIT的教授", "category": "kbqa" }, ... ] response_list = factool_instance.run(inputs) print(response_list)
</details>

基于知识的问答

<details> <summary>Factool在基于知识的问答中的详细用法(点击展开内容)</summary>
export OPENAI_API_KEY=... export SERPER_API_KEY=...
from factool import Factool # 使用指定的密钥初始化Factool实例。foundation_model可以是"gpt-3.5-turbo"或"gpt-4" factool_instance = Factool("gpt-4") inputs = [ { "prompt": "介绍Graham Neubig", "response": "Graham Neubig是MIT的教授", "category": "kbqa" }, ] response_list = factool_instance.run(inputs) print(response_list)

response_list应遵循以下格式: response_list 应遵循以下格式:

{ "average_claim_level_factuality": avg_claim_level_factuality "average_response_level_factuality": avg_response_level_factuality "detailed_information": [ { 'prompt': prompt_1, 'response': response_1, 'category': 'code', 'claims': [claim_11, claim_12, ..., claims_1n], 'queries': [[query_111, query_112], [query_121, query_122], ..[query_1n1, query_1n2]], 'evidences': [[evidences_with_source_11], [evidences_with_source_12], ..., [evidences_with_source_1n]], 'claim_level_factuality': [{claim_11, reasoning_11, error_11, correction_11, factuality_11}, {claim_12, reasoning_12, error_12, correction_12, factuality_12}, ..., {claim_1n, reasoning_1n, error_1n, correction_1n, factuality_1n}], 'response_level_factuality': factuality_1 }, { 'prompt': prompt_2, 'response': response_2, 'category': 'code', 'claims': [claim_21, claim_22, ..., claims_2n], 'queries': [[query_211, query_212], [query_221, query_222], ..., [query_2n1, query_2n2]], 'evidences': [[evidences_with_source_21], [evidences_with_source_22], ..., [evidences_with_source_2n]], 'claim_level_factuality': [{claim_21, reasoning_21, error_21, correction_21, factuality_21}, {claim_22, reasoning_22, error_22, correction_22, factuality_22}, ..., {claim_2n, reasoning_2n, error_2n, correction_2n, factuality_2n}], 'response_level_factuality': factuality_2, }, ... ] }

在这种情况下,你将得到:

{ 'average_claim_level_factuality': 0.0, 'average_response_level_factuality': 0.0, 'detailed_information': [ { 'prompt': '实现get_max_triples函数', 'response': 'def get_max_triples(n):\n a = [i * i - i + 1 for i in range(1, n+1)]\n count = 0\n for i in range(n-2):\n for j in range(i+1, n-1):\n for k in range(j+1, n):\n if (a[i] + a[j] + a[k]) % 3 == 0:\n count += 1\n return count\n\nprint(get_max_triples(5)) # 输出: 1', 'category': 'code', 'entry_point': 'get_max_triples', 'claims': [{'claim': '函数实现正确'}, {'claim': '函数输出正确'}], 'queries': [['get_max_triples函数是否正确实现?'], ['get_max_triples(5)的输出是否为1?']], 'evidences': [{'evidence': '函数实现正确。它创建了数组a,并正确计算了符合条件的三元组数量。', 'source': '代码分析'}, {'evidence': 'get_max_triples(5)的输出确实为1,这与给定的示例相符。', 'source': '代码执行'}], 'claim_level_factuality': [ { 'reasoning': '函数的实现遵循了问题描述中的要求。它创建了正确的数组a,并使用嵌套循环检查所有可能的三元组。', 'error': '无', 'correction': '无需修正', 'factuality': True, 'claim': '函数实现正确' }, { 'reasoning': '代码执行结果显示get_max_triples(5)确实输出1,这与问题描述中的示例一致。', 'error': '无', 'correction': '无需修正', 'factuality': True, 'claim': '函数输出正确' } ], 'response_level_factuality': True } ] }
response_list = { "average_claim_level_factuality": avg_claim_level_factuality, "average_response_level_factuality": avg_response_level_factuality, "detailed_information": [ { 'prompt': prompt_1, 'response': response_1, 'category': 'math', 'claim': claim_1, 'testcases_queries': [testcase_query_11, testcase_query_12, testcase_query_13], 'potential_solutions_queries': [potential_solution_query_11, potential_solution_query_12, potential_solution_query_13], 'exec_results': [[evidences_111, evidences_112, evidences_113], [evidences_121, evidences_122, evidences_123], [evidences_131, evidences_132, evidences_133]], 'claim_level_factuality': factuality_1, 'response_level_factuality': factuality_1, }, { 'prompt': prompt_2, 'response': response_2, 'category': 'math', 'claim': claim_2, 'testcases_queries': [testcase_query_21, testcase_query_22, testcase_query_23], 'potential_solutions_queries': [potential_solution_query_21, potential_solution_query_22, potential_solution_query_23], 'exec_results': [[evidences_211, evidences_212, evidences_213], [evidences_221, evidences_222, evidences_223], [evidences_231, evidences_232, evidences_233]], 'claim_level_factuality': factuality_2, 'response_level_factuality': factuality_2, }, ] ... }

在这种情况下,你将得到:

{ "average_claim_level_factuality": 0.0, "average_response_level_factuality": 0.0, "detailed_information": [ { 'prompt': '斯蒂芬在网上订购了杂货。他的最终账单为7023116美元。由于这是通过配送供应商完成的,他们在最终总额上加收了25%的费用,并收取了3.00美元的配送费。斯蒂芬还额外给了4.00美元的小费。在加上额外费用后,斯蒂芬的杂货最终价格是多少?', 'response': '好的,以下是解决这个问题的步骤:\n* 斯蒂芬的初始杂货账单是7023116美元\n* 配送供应商在此基础上加收25%的费用。7023116美元的25%是0.25 * 7023116美元 = 1755779美元\n* 他们还收取了3美元的固定配送费\n* 斯蒂芬额外给了4美元的小费\n* 所以总费用是:\n * 初始杂货费:7023116美元\n * 25%的费用:1755779美元\n * 配送费:3美元\n * 小费:4美元\n* 将所有这些加起来,最终总价是7023116美元 + 1755779美元 + 3美元 + 4美元 = 8779902美元\n\n所以斯蒂芬的杂货最终价格是8779902美元', 'category': 'math', 'claim': '斯蒂芬的杂货最终价格是8779902美元', 'testcases_queries': ['初始杂货账单是多少?', '配送供应商加收的25%费用是多少?', '最终总价是多少?'], 'potential_solutions_queries': ['初始杂货账单:7023116美元\n25%的费用:7023116 * 0.25 = 1755779美元\n配送费:3美元\n小费:4美元\n最终总价:7023116 + 1755779 + 3 + 4 = 8778902美元', '初始杂货账单:7023116美元\n25%的费用:7023116 * 0.25 = 1755779美元\n配送费:3美元\n小费:4美元\n最终总价:7023116 + 1755779 + 3 + 4 = 8778902美元\n\n因此,斯蒂芬的杂货最终价格是8778902美元', '初始杂货账单 = 7023116美元\n25%费用 = 7023116 * 0.25 = 1755779美元\n配送费 = 3美元\n小费 = 4美元\n最终总价 = 7023116 + 1755779 + 3 + 4 = 8778902美元\n\n斯蒂芬的杂货最终价格是8778902美元'], 'exec_results': [['7023116美元', '7023116美元', '7023116美元'], ['1755779美元', '1755779美元', '1755779美元'], ['8778902美元', '8778902美元', '8778902美元']], 'claim_level_factuality': False, 'response_level_factuality': False } ] }
{ "average_claim_level_factuality": avg_claim_level_factuality, "average_response_level_factuality": avg_response_level_factuality, "detailed_information": [ { 'prompt': prompt_1, 'response': response_1, 'category': 'scientific', 'claims': [claim_11, claim_12, ..., claims_1n], 'queries': [query_11, query_12, ..., query_1n], 'execution_results': [exec_result_11, exec_result_12, ..., exec_result_1n], 'claim_level_factuality': [factuality_11, factuality_12, ..., factuality_1n], 'response_level_factuality': factuality_1 }, { 'prompt': prompt_2, 'response': response_2, 'category': 'scientific', 'claims': [claim_21, claim_22, ..., claims_2n], 'queries': [query_21, query_22, ..., query_2n], 'execution_results': [exec_result_21, exec_result_22, ..., exec_result_2n], 'claim_level_factuality': [factuality_21, factuality_22, ..., factuality_2n], 'response_level_factuality': factuality_2 }, ... ] }

在这种情况下,你将得到:

{ "average_claim_level_factuality": 0.5, "average_response_level_factuality": 0.0, "detailed_information": [ { 'prompt': "详细说明机器学习算法如何应用于数据分析以及训练这些算法所涉及的过程。请引用相关研究论文或教科书来支持你的观点,包括作者姓名、作品标题和出版年份。", 'category': 'scientific', 'response': "机器学习算法在数据分析中发挥着至关重要的作用。它们被用来从大型数据集中提取洞察和知识,这些洞察和知识可用于做出明智的决策和预测。以下是训练机器学习算法所涉及的过程:\n\n1. 数据预处理:训练机器学习算法的第一步是预处理数据。这涉及清理数据、处理缺失值、编码分类变量和缩放数据。预处理的目的是确保数据以机器学习算法可以使用的格式呈现。\n2. 特征选择:数据预处理完成后,下一步是选择将用于训练机器学习算法的相关特征。这涉及识别对预测目标变量最重要的特征。特征选择可以使用各种技术进行,如过滤方法、包装方法和嵌入方法。\n3. 模型选择:特征选择之后,下一步是选择适当的机器学习算法使用。有各种类型的机器学习算法,如监督学习、非监督学习和强化学习。算法的选择取决于问题的性质和可用数据的类型。\n4. 训练模型:选择模型后,下一步是使用预处理的数据训练机器学习算法。这涉及使用一组训练数据来优化模型的参数,以便它能准确预测目标变量。\n5. 模型评估:模型训练完成后,下一步是评估其性能。这涉及在单独的测试数据集上测试模型,并测量其准确性、精确度、召回率和其他性能指标。\n6. 模型部署:模型经过评估和微调后,可以部署到生产环境中。这涉及将模型集成到更大的系统或工作流程中,并随时间监控其性能。\n\n支持上述观点的研究论文和教科书包括:\n\n* Alpaydin, B.(2010)的《机器学习导论》,提供了机器学习算法及其应用的全面概述。\n* Han, J., Kamber, B., & Pei, J.(2011)的《数据挖掘:概念与技术》,提供了数据挖掘及其应用的详细介绍。\n* Kamber, B., & Pei, J.(2012)的《机器学习:趋势、观点和前景》,概述了机器学习的当前趋势和未来前景。\n* He, C., & Wang, Y.(2015)的《数据挖掘的机器学习》,深入介绍了机器学习算法及其在数据挖掘中的应用。", 'claims': [ {'citation': 'Alpaydin, B. (2010). An Introduction to Machine Learning'}, {'citation': 'Han, J., Kamber, B., & Pei, J. (2011). Data Mining: Concepts and Techniques'}, {'citation': 'Kamber, B., & Pei, J. (2012). Machine Learning: Trends, Perspectives, and Prospects'}, {'citation': 'He, C., & Wang, Y. (2015). Machine Learning for Data Mining'} ], 'queries': [ {'google_scholar_search': 'Alpaydin, B. (2010). An Introduction to Machine Learning'}, {'google_scholar_search': 'Han, J., Kamber, B., & Pei, J. (2011). Data Mining: Concepts and Techniques'}, {'google_scholar_search': 'Kamber, B., & Pei, J. (2012). Machine Learning: Trends, Perspectives, and Prospects'}, {'google_scholar_search': 'He, C., & Wang, Y. (2015). Machine Learning for Data Mining'} ], 'execution_results': [ 'Citation found: Alpaydin, E. (2010). Introduction to machine learning. MIT press.', 'Citation found: Han, J., Pei, J., & Kamber, M. (2011). Data mining: concepts and techniques. Elsevier.', 'Citation not found', 'Citation not found' ], 'claim_level_factuality': [True, True, False, False], 'response_level_factuality': False } ] }
{ "average_claim_level_factuality": avg_claim_level_factuality, "average_response_level_factuality": avg_response_level_factuality, "detailed_information": [ { 'prompt': prompt_1, 'response': response_1, 'category': '科学', 'claims': [claim_11, claim_12, ..., claims_1n], 'queries': [query_11, query_12, ..., query_1n], 'evidences': [evidences_11, evidences_12, ..., evidences_1n], 'claim_level_factuality': [{claim_11, evidence_11, error_11, factuality_11}, {claim_12, evidence_12, error_12, factuality_12}, ..., {claim_1n, evidence_1n, error_1n, factuality_1n}], 'response_level_factuality': factuality_1 }, { 'prompt': prompt_2, 'response': response_2, 'category': '科学', 'claims': [claim_21, claim_22, ..., claims_2n], 'queries': [query_21, query_22, ..., query_2n], 'evidences': [evidences_21, evidences_22, ..., evidences_2n], 'claim_level_factuality': [{claim_21, evidence_21, error_21, factuality_21}, {claim_22, evidence_22, error_22, factuality_22}, ..., {claim_2n, evidence_2n, error_2n, factuality_2n}], 'response_level_factuality': factuality_2 }, ... ] }

在这种情况下,你将得到:

{ "average_claim_level_factuality": 0.0, "average_response_level_factuality": 0.0, "detailed_information": [ { 'prompt': "详细说明机器学习算法如何应用于数据分析以及训练这些算法所涉及的过程。请引用相关研究论文或教科书来支持你的观点,包括作者姓名、作品标题和出版年份。", 'response': '机器学习算法在数据分析中发挥着至关重要的作用。它们用于从大型数据集中提取洞察和知识,这些洞察和知识可用于做出明智的决策和预测。以下是训练机器学习算法所涉及的过程:\n\n1. 数据预处理:训练机器学习算法的第一步是预处理数据。这涉及清理数据、处理缺失值、编码分类变量和缩放数据。预处理的目的是确保数据格式适合机器学习算法使用。\n2. 特征选择:数据预处理完成后,下一步是选择用于训练机器学习算法的相关特征。这涉及识别对预测目标变量最重要的特征。特征选择可以使用各种技术完成,如过滤方法、包装方法和嵌入方法。\n3. 模型选择:特征选择之后,下一步是选择适当的机器学习算法。有各种类型的机器学习算法,如监督学习、无监督学习和强化学习。算法的选择取决于问题的性质和可用数据的类型。\n4. 训练模型:选择模型后,下一步是使用预处理的数据训练机器学习算法。这涉及使用训练数据集来优化模型的参数,以便准确预测目标变量。\n5. 模型评估:模型训练完成后,下一步是评估其性能。这涉及在单独的测试数据集上测试模型,并衡量其准确性、精确度、召回率和其他性能指标。\n6. 模型部署:模型经过评估和微调后,可以部署到生产环境中。这涉及将模型集成到更大的系统或工作流程中,并随时间监控其性能。\n\n支持上述观点的研究论文和教科书包括:\n\n* Alpaydin, B.(2010年)的《机器学习导论》,该书全面概述了机器学习算法及其应用。\n* Han, J.、Kamber, B.和Pei, J.(2011年)的《数据挖掘:概念与技术》,该书详细介绍了数据挖掘及其应用。\n* Kamber, B.和Pei, J.(2012年)的《机器学习:趋势、展望和前景》,该书概述了机器学习的当前趋势和未来前景。\n* He, C.和Wang, Y.(2015年)的《数据挖掘的机器学习》,该书深入介绍了机器学习算法及其在数据挖掘中的应用。', 'category': '科学', 'claims': [{'paper_title': '机器学习导论', 'paper_author(s)': 'Alpaydin, B.', 'paper_pub_year': '2010'}, {'paper_title': '数据挖掘:概念与技术', 'paper_author(s)': 'Han, J., Kamber, B., & Pei, J.', 'paper_pub_year': '2011'}, {'paper_title': '机器学习:趋势、展望和前景', 'paper_author(s)': 'Kamber, B., & Pei, J.', 'paper_pub_year': '2012'}, {'paper_title': '数据挖掘的机器学习', 'paper_author(s)': 'He, C., & Wang, Y.', 'paper_pub_year': '2015'}], 'queries': ['机器学习导论', '数据挖掘:概念与技术', '机器学习:趋势、展望和前景', '数据挖掘的机器学习'], 'evidences': [{'title': '机器学习导论', 'author': ['Y Baştanlar', 'M Özuysal'], 'pub_year': '2014'}, {'title': '数据挖掘:数据挖掘概念与技术', 'author': ['S Agarwal'], 'pub_year': '2013'}, {'title': '机器学习:趋势、展望和前景', 'author': ['MI Jordan', 'TM Mitchell'], 'pub_year': '2015'}, {'title': '机器学习与数据挖掘', 'author': ['TM Mitchell'], 'pub_year': '1999'}], 'claim_level_factuality': [{'generated_paper_title': '机器学习导论', 'generated_paper_author(s)': 'Alpaydin, B.', 'generated_paper_pub_year': '2010', 'actual_paper_title': '机器学习导论', 'actual_paper_author(s)': ['Y Baştanlar', 'M Özuysal'], 'actual_paper_pub_year': '2014', 'error': ['wrong_paper_author(s)', 'wrong_paper_pub_year'], 'factuality': False}, {'generated_paper_title': '数据挖掘:概念与技术', 'generated_paper_author(s)': 'Han, J., Kamber, B., & Pei, J.', 'generated_paper_pub_year': '2011', 'actual_paper_title': '数据挖掘:数据挖掘概念与技术', 'actual_paper_author(s)': ['S Agarwal'], 'actual_paper_pub_year': '2013', 'error': ['wrong_paper_title', 'wrong_paper_author(s)', 'wrong_paper_pub_year'], 'factuality': False}, {'generated_paper_title': '机器学习:趋势、展望和前景', 'generated_paper_author(s)': 'Kamber, B., & Pei, J.', 'generated_paper_pub_year': '2012', 'actual_paper_title': '机器学习:趋势、展望和前景', 'actual_paper_author(s)': ['MI Jordan', 'TM Mitchell'], 'actual_paper_pub_year': '2015', 'error': ['wrong_paper_author(s)', 'wrong_paper_pub_year'], 'factuality': False}, {'generated_paper_title': '数据挖掘的机器学习', 'generated_paper_author(s)': 'He, C., & Wang, Y.', 'generated_paper_pub_year': '2015', 'actual_paper_title': '机器学习与数据挖掘', 'actual_paper_author(s)': ['TM Mitchell'], 'actual_paper_pub_year': '1999', 'error': ['wrong_paper_title', 'wrong_paper_author(s)', 'wrong_paper_pub_year'], 'factuality': False}], 'response_level_factuality': False } ] }
<details> <summary>视频(点击切换内容)</summary>

基于知识的问答:

替代文本

替代文本

代码:

替代文本

数学:

替代文本

科学文献综述:

替代文本

</details>

引用

如果您觉得本仓库有帮助,请引用我们的论文

@article{chern2023factool,
  title={FacTool: Factuality Detection in Generative AI--A Tool Augmented Framework for Multi-Task and Multi-Domain Scenarios},
  author={Chern, I-Chun and Chern, Steffi and Chen, Shiqi and Yuan, Weizhe and Feng, Kehua and Zhou, Chunting and He, Junxian and Neubig, Graham and Liu, Pengfei and others},
  journal={arXiv preprint arXiv:2307.13528},
  year={2023}
}

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

热门AI工具AI办公办公工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

模型训练热门AI工具内容创作智能问答AI开发讯飞星火大模型多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

AI助手热门AI工具AI创作AI辅助写作讯飞绘文内容运营个性化文章多平台分发
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多