跳转到主要内容

kg-chat

项目描述

kg-chat

基于LLM的聊天机器人,可以查询和可视化加载到KGX节点和边TSV文件的DuckDB(默认)或neo4j数据库后端。

支持的LLM

LLM提供者 模型
OpenAI - gpt-4o-2024-08-06
- gpt-4o-mini
- gpt-4o-mini-2024-07-18
- gpt-4o-2024-05-13
- gpt-4o
- gpt-4-turbo-2024-04-09
- gpt-4-turbo
- gpt-4-turbo-preview
Anthropic - claude-3-5-sonnet-20240620
- claude-3-opus-20240229
- claude-3-sonnet-20240229
- claude-3-haiku-20240307
Ollama - llama3.1
LBNL-hosted models via CBORG - lbl/llama-3 (实际上 3.1 (405b))
- openai/gpt-4o-mini
- anthropic/claude-haiku
- anthropic/claude-sonnet
- anthropic/claude-opus

:warning

  • OpenAI: 确保OPENAI_API_KEY被设置为环境变量。

  • Anthropic: 确保ANTHROPIC_API_KEY被设置为环境变量。

  • Ollama: 如果使用llama 3.1 405b模型,将获得更好的结果。需要GPU。

    • 无需API密钥。
    • 此处下载应用程序并本地安装。
    • 选择任何模型,但请确保该模型具有工具徽章以便它能够工作。以下是一个示例
          ollama run llama3.1:405b
      
  • 由CBORG通过LBNL托管的模型: 确保CBORG_API_KEY被设置为环境变量。

    • 模式列表可以在此处找到,列在“LBNL_Hosted Models”下。

如何设置API密钥为环境变量?

一种快速方法是

    export OPENAI_API_KEY=XXXXXX
    export ANTHROPIC_API_KEY=XXXXX
    export CBORG_API_KEY=XXXX

但如果你想要这些永久保留

    vi ~/.bash_profile

或者

    vi ~/.bashrc

添加上面的2行导出变量,然后

    source ~/.bash_profile

或者

    source ~/.bashrc

设置

对于Neo4j后端(可选)

  1. 这里安装Neo4j桌面版。
  2. 创建一个新项目和数据库,然后启动它。
  3. 在Neo4j Desktop中安装APOC插件。
  4. 更新设置以匹配neo4j_db_settings.conf

常规设置

对于开发者

  1. 克隆此仓库。
  2. 创建虚拟环境并安装依赖项。
    cd kg-chat
    pip install poetry
    poetry install
    
  3. 如有必要,将data/nodes.tsvdata/edges.tsv替换为所需的KGX文件。

对于使用kg-chat作为依赖项

pip install kg-chat

或者

poetry add kg-chat@latest

支持的后端

  • DuckDB [默认]
  • Neo4j

命令

  1. 导入KG:将节点和边加载到数据库中(默认:duckdb)。

    poetry run kg import --data-dir data
    
  2. 测试查询:运行测试查询。

    :警告: --data-dir是所有命令的必选参数。这是包含nodes.tsv和edges.tsv文件的目录的路径。文件名应正好如此。

    poetry run kg test-query --data-dir data
    
  3. QnA:提出关于数据的问题。

    poetry run kg qna "how many nodes do we have here?" --data-dir data
    
  4. 聊天:启动交互式聊天会话。

    poetry run kg chat --data-dir data
    
  5. 应用:部署本地Web应用。

    poetry run kg app --data-dir data
    

可视化

在提示中使用show me进行KG可视化。

kg-app


致谢

cookiecutter项目是从monarch-project-template模板开发的,并使用cruft保持更新。

项目详情


下载文件

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

源分布

kg_chat-0.1.5.tar.gz (423.0 kB 查看散列)

上传时间

构建分布

kg_chat-0.1.5-py3-none-any.whl (424.8 kB 查看散列)

上传时间 Python 3

支持者

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