跳转到主要内容

基于AI的聊天机器人,根据文档提供合理的答案

项目描述

Sigmund AI

版权所有 2023-2024 Sebastiaan Mathôt

Sigmund是一个用于基于LLM的聊天机器人的Python库和Web应用程序,具有许多功能。

功能

  • 隐私: 所有消息和上传的附件都进行了加密,以确保没有人可以监听您的对话
  • 知识: 访问文档
  • 连续对话: 当对话过长无法适合提示时,会总结对话
  • 工具使用:
    • 代码执行: 能够执行Python和R代码
    • Google Scholar搜索: 能够在Google Scholar上搜索文章
    • 附件: 能够读取附件
    • 下载: 能够将页面和文件作为附件下载

Sigmund本身不是一个大型语言模型。它使用第三方模型。目前支持来自OpenAIAnthropicMistral的模型。需要这些相应提供者的API密钥。

默认情况下,Sigmund被配置为OpenSesame的助手,OpenSesame是一个用于创建心理学/认知神经科学实验的程序。然而,该软件可以轻松地重新配置为不同的目的。

Sigmund能做什么?Sigmund是如何工作的?

有关Sigmund工作原理的描述,请参阅:https://sigmundai.eu/about。本页描述了默认配置。

配置

有关配置说明,请参阅sigmund/config.py

依赖关系

对于Python依赖项,请参阅pyproject.toml文件。除了这些之外,还需要pandoc以支持读取附件,并且需要一个本地运行的redis服务器来在会话之间保持持久数据。

运行(开发中)

下载源代码,然后在源代码文件夹中执行以下操作

# Specify API keys for model providers. Even when using Anthropic (Claude) or
# Mistral, an OpenAI key is provided when document search is enabled
export OPENAI_API_KEY = 'your key here'
export ANTHROPIC_API_KEY = 'your key here'
export MISTRAL_API_KEY = 'your key here'
pip install .               # install dependencies
python index_library.py     # build library (documentation) index
python app.py               # start the app

接下来,通过以下方式访问应用程序(默认)

https://127.0.0.1:5000/

运行(生产环境)

在生产环境中,通常不会直接调用应用程序来运行服务器。有多种方法可以在生产环境中运行Flask应用程序。一种方法是使用gunicorn启动应用程序,然后使用nginx web服务器作为代理,将请求重定向到应用程序。采用此方法时,请确保配置nginx的client_max_body_size较大(以允许上传附件),并禁用proxy_cacheproxy_buffering(以允许Sigmund回答时流式传输状态消息)。

许可证

Sigmund根据GNU通用公共许可证第3版进行分发。完整的许可证应包含在COPYING文件中,或可从以下网址获取:

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

sigmund-0.24.4.tar.gz (6.2 MB 查看哈希值

上传时间 源代码

构建分发

sigmund-0.24.4-py3-none-any.whl (6.2 MB 查看哈希值

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面