大卫是黑胶唱片方面的专家。您可以要求他提供有关您 Discogs 收藏中任何唱片的推荐或其他信息。大卫将很乐意为您提供帮助。
此 LLM 应用程序是对话代理的一个简单示例,它使用 Discogs API 提供有关黑胶唱片的信息。它由 4 个主要构建块组成:
目前它使用LangChain4j作为框架,GPT-4o作为AI辅助引擎,但它可以很容易地适应使用其他引擎。
下图中的应用程序架构是由 ArchUnit 框架通过 ArchitectureTest 类中的测试强制执行的。
该项目的 UI 是使用以下提示开发的:
I need the code for an HTML 5 page that contains an input field for a Discogs username
and a text area for inserting prompts for the application to send to AI agents.
Above the text area there should be the space in which the AI responses are displayed, in the ChatGPT style
从 GitHub Copilot 生成的 HTML5 代码提供了 UI 的初始视觉效果,然后我对其进行了修改以添加 websocket 连接以及从 AI 助手发送和接收消息的逻辑。我发现这是一种非常快速的原型设计方法。然后,我转向了 ant-design 中更强大的组件,包括 pro-chat。
我最初想使用 llama3。 llama3 模型目前不支持工具(2024 年 6 月)。这意味着AI助手无法自行收集Discogs用户名并检索记录集合。我们迁移到 GPT-4o,以便 David 可以询问 Discogs 信息并不再需要任何表格。
有些法学硕士不如其他法学硕士聪明。尽管 Mistral 7b 模型支持工具,但我无法从中得到好的答案。它甚至无法通过我的集成测试。这样,我就无法使用免费的工具来运行法学硕士课程。
幻觉是一种痛苦。我开始了 RAG 之旅,以尽量减少这种情况。由于 David 从事音乐领域的工作,维基百科是 RAG 想到的第一个知识库。也许我可以利用 MediaWiki API 来搜索与对话相关的音乐页面。目前,我只使用 Google 搜索,它有时会有所帮助,但绝对不足以支付它用代币增加的成本。
测试法学硕士申请是一个挑战。我做了比平时更多的集成测试。这导致开发周期变慢。此外,人工智能助手的概率性质使得很难以确定性的方式测试应用程序。
在法学硕士世界中,单元测试涉及提示人工智能模型,而不仅仅是调用代码单元。使用基于云的模型时,运行单元测试是有成本的。我还尝试使用第二个人工智能代理来帮助我断言主人工智能的结果。这是一种很有前途的方法,因为我们可以进行语义断言,而不仅仅是字符串处理。这里的权衡是它也会产生成本,并增加法学硕士引入的概率错误的风险。
您必须拥有有效的 OpenAI API 密钥才能运行此应用程序。
./gradlew bootRun
启动应用程序。http://localhost:8080
即可与AI助手交互。