240908-联合DBGPT与Ollama实现RAG本地知识检索增强

打印 上一主题 下一主题

主题 842|帖子 842|积分 2526

A. 最终效果


B. 配景说明



  • DBGPT在0.5.6版本中开始支持Ollama:v0.5.6 版本更新

  • 网友对其Web端及界面端的设置进行了分享:

    • feat(model): support ollama as an optional llm & embedding proxy by GITHUBear · Pull Request #1475 · eosphoros-ai/DB-GPT
    • DB-GPT+Ollama构建本地智能数据平台_db-gpt ollama-CSDN博客


C. 情况设置



  • 参考官网教程完成情况设置

D. 设置文件



  • ⚠️:留意下面带⭐️的操作
  1. #*******************************************************************#
  2. #**             DB-GPT  - GENERAL SETTINGS                        **#  
  3. #*******************************************************************#
  4. #*******************************************************************#
  5. #**                        Webserver Port                         **#
  6. #*******************************************************************#
  7. # DBGPT_WEBSERVER_PORT=5670
  8. ## Whether to enable the new web UI, enabled by default,False use old ui
  9. # USE_NEW_WEB_UI=True
  10. #*******************************************************************#
  11. #***                       LLM PROVIDER                          ***#
  12. #*******************************************************************#
  13. # TEMPERATURE=0
  14. #*******************************************************************#
  15. #**                         LLM MODELS                            **#
  16. #*******************************************************************#
  17. # ⭐️ 添加Ollama配置
  18. LLM_MODEL=ollama_proxyllm
  19. PROXY_SERVER_URL=http://127.0.0.1:11434
  20. PROXYLLM_BACKEND="qwen2:1.5b"
  21. PROXY_API_KEY=not_used
  22. EMBEDDING_MODEL=proxy_ollama
  23. proxy_ollama_proxy_server_url=http://127.0.0.1:11434
  24. proxy_ollama_proxy_backend="nomic-embed-text:latest"
  25. # LLM_MODEL=ollama_proxyllm
  26. # MODEL_SERVER=http://127.0.0.1:11434
  27. # PROXYLLM_BACKEND=llama3.1:8b
  28. # EMBEDDING_MODEL=proxy_ollama
  29. # proxy_ollama_proxy_server_url=http://127.0.0.1:11434
  30. # proxy_ollama_proxy_backend=llama3.1:8b
  31. # LLM_MODEL=ollama_proxyllm
  32. # PROXY_SERVER_URL=http://127.0.0.1:11434
  33. # PROXYLLM_BACKEND="qwen:0.5b"
  34. # PROXY_API_KEY=not_used
  35. # EMBEDDING_MODEL=proxy_ollama
  36. # proxy_ollama_proxy_server_url=http://127.0.0.1:11434
  37. # proxy_ollama_proxy_backend="nomic-embed-text:latest"   
  38. # # LLM_MODEL, see dbgpt/configs/model_config.LLM_MODEL_CONFIG
  39. # LLM_MODEL=glm-4-9b-chat
  40. # ## LLM model path, by default, DB-GPT will read the model path from LLM_MODEL_CONFIG based on the LLM_MODEL.
  41. # ## Of course you can specify your model path according to LLM_MODEL_PATH
  42. # ## In DB-GPT, the priority from high to low to read model path:
  43. # ##    1. environment variable with key: {LLM_MODEL}_MODEL_PATH (Avoid multi-model conflicts)
  44. # ##    2. environment variable with key: MODEL_PATH
  45. # ##    3. environment variable with key: LLM_MODEL_PATH
  46. # ##    4. the config in dbgpt/configs/model_config.LLM_MODEL_CONFIG
  47. # # LLM_MODEL_PATH=/app/models/glm-4-9b-chat
  48. # # LLM_PROMPT_TEMPLATE=vicuna_v1.1
  49. # MODEL_SERVER=http://127.0.0.1:8000
  50. # LIMIT_MODEL_CONCURRENCY=5
  51. # MAX_POSITION_EMBEDDINGS=4096
  52. # QUANTIZE_QLORA=True
  53. # QUANTIZE_8bit=True
  54. # # QUANTIZE_4bit=False
  55. # ## SMART_LLM_MODEL - Smart language model (Default: vicuna-13b)
  56. # ## FAST_LLM_MODEL - Fast language model (Default: chatglm-6b)
  57. # # SMART_LLM_MODEL=vicuna-13b
  58. # # FAST_LLM_MODEL=chatglm-6b
  59. # ## Proxy llm backend, this configuration is only valid when "LLM_MODEL=proxyllm", When we use the rest API provided by deployment frameworks like fastchat as a proxyllm,
  60. # ## "PROXYLLM_BACKEND" is the model they actually deploy. We can use "PROXYLLM_BACKEND" to load the prompt of the corresponding scene.
  61. # # PROXYLLM_BACKEND=
  62. # ### You can configure parameters for a specific model with {model name}_{config key}=xxx
  63. # ### See dbgpt/model/parameter.py
  64. # ## prompt template for current model
  65. # # llama_cpp_prompt_template=vicuna_v1.1
  66. # ## llama-2-70b must be 8
  67. # # llama_cpp_n_gqa=8
  68. # ## Model path
  69. # # llama_cpp_model_path=/data/models/TheBloke/vicuna-13B-v1.5-GGUF/vicuna-13b-v1.5.Q4_K_M.gguf
  70. # ### LLM cache
  71. # ## Enable Model cache
  72. # # MODEL_CACHE_ENABLE=True
  73. # ## The storage type of model cache, now supports: memory, disk
  74. # # MODEL_CACHE_STORAGE_TYPE=disk
  75. # ## The max cache data in memory, we always store cache data in memory fist for high speed.
  76. # # MODEL_CACHE_MAX_MEMORY_MB=256
  77. # ## The dir to save cache data, this configuration is only valid when MODEL_CACHE_STORAGE_TYPE=disk
  78. # ## The default dir is pilot/data/model_cache
  79. # # MODEL_CACHE_STORAGE_DISK_DIR=
  80. #*******************************************************************#
  81. #**                         EMBEDDING SETTINGS                    **#
  82. #*******************************************************************#
  83. # ⭐️ 取消非Ollama的Embedding设置
  84. # EMBEDDING_MODEL=text2vec
  85. # #EMBEDDING_MODEL=m3e-large
  86. # #EMBEDDING_MODEL=bge-large-en
  87. # #EMBEDDING_MODEL=bge-large-zh
  88. # KNOWLEDGE_CHUNK_SIZE=500
  89. # KNOWLEDGE_SEARCH_TOP_SIZE=5
  90. # KNOWLEDGE_GRAPH_SEARCH_TOP_SIZE=200
  91. # ## Maximum number of chunks to load at once, if your single document is too large,
  92. # ## you can set this value to a higher value for better performance.
  93. # ## if out of memory when load large document, you can set this value to a lower value.
  94. # # KNOWLEDGE_MAX_CHUNKS_ONCE_LOAD=10
  95. # #KNOWLEDGE_CHUNK_OVERLAP=50
  96. # # Control whether to display the source document of knowledge on the front end.
  97. # KNOWLEDGE_CHAT_SHOW_RELATIONS=False
  98. # # Whether to enable Chat Knowledge Search Rewrite Mode
  99. # KNOWLEDGE_SEARCH_REWRITE=False
  100. # ## EMBEDDING_TOKENIZER   - Tokenizer to use for chunking large inputs
  101. # ## EMBEDDING_TOKEN_LIMIT - Chunk size limit for large inputs
  102. # # EMBEDDING_MODEL=all-MiniLM-L6-v2
  103. # # EMBEDDING_TOKENIZER=all-MiniLM-L6-v2
  104. # # EMBEDDING_TOKEN_LIMIT=8191
  105. # ## Openai embedding model, See dbgpt/model/parameter.py
  106. # # EMBEDDING_MODEL=proxy_openai
  107. # # proxy_openai_proxy_server_url=https://api.openai.com/v1
  108. # # proxy_openai_proxy_api_key={your-openai-sk}
  109. # # proxy_openai_proxy_backend=text-embedding-ada-002
  110. # ## qwen embedding model, See dbgpt/model/parameter.py
  111. # # EMBEDDING_MODEL=proxy_tongyi
  112. # # proxy_tongyi_proxy_backend=text-embedding-v1
  113. # # proxy_tongyi_proxy_api_key={your-api-key}
  114. # ## qianfan embedding model, See dbgpt/model/parameter.py
  115. # #EMBEDDING_MODEL=proxy_qianfan
  116. # #proxy_qianfan_proxy_backend=bge-large-zh
  117. # #proxy_qianfan_proxy_api_key={your-api-key}
  118. # #proxy_qianfan_proxy_api_secret={your-secret-key}
  119. # ## Common HTTP embedding model
  120. # # EMBEDDING_MODEL=proxy_http_openapi
  121. # # proxy_http_openapi_proxy_server_url=http://localhost:8100/api/v1/embeddings
  122. # # proxy_http_openapi_proxy_api_key=1dce29a6d66b4e2dbfec67044edbb924
  123. # # proxy_http_openapi_proxy_backend=text2vec
  124. #*******************************************************************#
  125. #**                         RERANK SETTINGS                       **#
  126. #*******************************************************************#
  127. ## Rerank model
  128. # RERANK_MODEL=bge-reranker-base
  129. ## If you not set RERANK_MODEL_PATH, DB-GPT will read the model path from EMBEDDING_MODEL_CONFIG based on the RERANK_MODEL.
  130. # RERANK_MODEL_PATH=
  131. ## The number of rerank results to return
  132. # RERANK_TOP_K=3
  133. ## Common HTTP rerank model
  134. # RERANK_MODEL=rerank_proxy_http_openapi
  135. # rerank_proxy_http_openapi_proxy_server_url=http://127.0.0.1:8100/api/v1/beta/relevance
  136. # rerank_proxy_http_openapi_proxy_api_key={your-api-key}
  137. # rerank_proxy_http_openapi_proxy_backend=bge-reranker-base
  138. #*******************************************************************#
  139. #**                  DB-GPT METADATA DATABASE SETTINGS            **#
  140. #*******************************************************************#
  141. ### SQLite database (Current default database)
  142. LOCAL_DB_TYPE=sqlite
  143. ### MYSQL database
  144. # LOCAL_DB_TYPE=mysql
  145. # LOCAL_DB_USER=root
  146. # LOCAL_DB_PASSWORD={your_password}
  147. # LOCAL_DB_HOST=127.0.0.1
  148. # LOCAL_DB_PORT=3306
  149. # LOCAL_DB_NAME=dbgpt
  150. ### This option determines the storage location of conversation records. The default is not configured to the old version of duckdb. It can be optionally db or file (if the value is db, the database configured by LOCAL_DB will be used)
  151. #CHAT_HISTORY_STORE_TYPE=db
  152. #*******************************************************************#
  153. #**                         COMMANDS                              **#
  154. #*******************************************************************#
  155. EXECUTE_LOCAL_COMMANDS=False
  156. #*******************************************************************#
  157. #**            VECTOR STORE / KNOWLEDGE GRAPH SETTINGS            **#
  158. #*******************************************************************#
  159. VECTOR_STORE_TYPE=Chroma
  160. GRAPH_STORE_TYPE=TuGraph
  161. GRAPH_COMMUNITY_SUMMARY_ENABLED=True
  162. KNOWLEDGE_GRAPH_EXTRACT_SEARCH_TOP_SIZE=5
  163. KNOWLEDGE_GRAPH_EXTRACT_SEARCH_RECALL_SCORE=0.3
  164. KNOWLEDGE_GRAPH_COMMUNITY_SEARCH_TOP_SIZE=20
  165. KNOWLEDGE_GRAPH_COMMUNITY_SEARCH_RECALL_SCORE=0.0
  166. ### Chroma vector db config
  167. #CHROMA_PERSIST_PATH=/root/DB-GPT/pilot/data
  168. ### Milvus vector db config
  169. #VECTOR_STORE_TYPE=Milvus
  170. #MILVUS_URL=127.0.0.1
  171. #MILVUS_PORT=19530
  172. #MILVUS_USERNAME
  173. #MILVUS_PASSWORD
  174. #MILVUS_SECURE=
  175. ### Weaviate vector db config
  176. #VECTOR_STORE_TYPE=Weaviate
  177. #WEAVIATE_URL=https://kt-region-m8hcy0wc.weaviate.network
  178. ## ElasticSearch vector db config
  179. #VECTOR_STORE_TYPE=ElasticSearch
  180. ElasticSearch_URL=127.0.0.1
  181. ElasticSearch_PORT=9200
  182. ElasticSearch_USERNAME=elastic
  183. ElasticSearch_PASSWORD={your_password}
  184. ### TuGraph config
  185. #TUGRAPH_HOST=127.0.0.1
  186. #TUGRAPH_PORT=7687
  187. #TUGRAPH_USERNAME=admin
  188. #TUGRAPH_PASSWORD=73@TuGraph
  189. #TUGRAPH_VERTEX_TYPE=entity
  190. #TUGRAPH_EDGE_TYPE=relation
  191. #TUGRAPH_PLUGIN_NAMES=leiden
  192. #*******************************************************************#
  193. #**                  WebServer Language Support                   **#
  194. #*******************************************************************#
  195. # en, zh, fr, ja, ko, ru
  196. LANGUAGE=en
  197. #LANGUAGE=zh
  198. #*******************************************************************#
  199. # **    PROXY_SERVER (openai interface | chatGPT proxy service), use chatGPT as your LLM.
  200. # ⭐️ 注释掉Ollama之外的PROXY_SERVER_URL
  201. # ** if your server can visit openai, please set PROXY_SERVER_URL=https://api.openai.com/v1/chat/completions
  202. # ** else if you have a chatgpt proxy server, you can set PROXY_SERVER_URL={your-proxy-serverip:port/xxx}
  203. #*******************************************************************#
  204. # PROXY_API_KEY={your-openai-sk}
  205. # PROXY_SERVER_URL=https://api.openai.com/v1/chat/completions
  206. # # from https://bard.google.com/     f12-> application-> __Secure-1PSID
  207. # BARD_PROXY_API_KEY={your-bard-token}
  208. #*******************************************************************#
  209. # **  PROXY_SERVER +                                              **#
  210. #*******************************************************************#
  211. # Aliyun tongyi
  212. TONGYI_PROXY_API_KEY={your-tongyi-sk}
  213. ## Baidu wenxin
  214. #WEN_XIN_MODEL_VERSION={version}
  215. #WEN_XIN_API_KEY={your-wenxin-sk}
  216. #WEN_XIN_API_SECRET={your-wenxin-sct}
  217. ## Zhipu
  218. #ZHIPU_MODEL_VERSION={version}
  219. #ZHIPU_PROXY_API_KEY={your-zhipu-sk}
  220. ## Baichuan
  221. #BAICHUN_MODEL_NAME={version}
  222. #BAICHUAN_PROXY_API_KEY={your-baichuan-sk}
  223. #BAICHUAN_PROXY_API_SECRET={your-baichuan-sct}
  224. # Xunfei Spark
  225. #XUNFEI_SPARK_API_VERSION={version}
  226. #XUNFEI_SPARK_APPID={your_app_id}
  227. #XUNFEI_SPARK_API_KEY={your_api_key}
  228. #XUNFEI_SPARK_API_SECRET={your_api_secret}
  229. ## Yi Proxyllm, https://platform.lingyiwanwu.com/docs
  230. #YI_MODEL_VERSION=yi-34b-chat-0205
  231. #YI_API_BASE=https://api.lingyiwanwu.com/v1
  232. #YI_API_KEY={your-yi-api-key}
  233. ## Moonshot Proxyllm, https://platform.moonshot.cn/docs/
  234. # MOONSHOT_MODEL_VERSION=moonshot-v1-8k
  235. # MOONSHOT_API_BASE=https://api.moonshot.cn/v1
  236. # MOONSHOT_API_KEY={your-moonshot-api-key}
  237. ## Deepseek Proxyllm, https://platform.deepseek.com/api-docs/
  238. # DEEPSEEK_MODEL_VERSION=deepseek-chat
  239. # DEEPSEEK_API_BASE=https://api.deepseek.com/v1
  240. # DEEPSEEK_API_KEY={your-deepseek-api-key}
  241. #*******************************************************************#
  242. #**    SUMMARY_CONFIG                                             **#
  243. #*******************************************************************#
  244. SUMMARY_CONFIG=FAST
  245. #*******************************************************************#
  246. #**    MUlti-GPU                                                  **#
  247. #*******************************************************************#
  248. ## See https://developer.nvidia.com/blog/cuda-pro-tip-control-gpu-visibility-cuda_visible_devices/
  249. ## If CUDA_VISIBLE_DEVICES is not configured, all available gpus will be used
  250. # CUDA_VISIBLE_DEVICES=0
  251. ## You can configure the maximum memory used by each GPU.
  252. # MAX_GPU_MEMORY=16Gib
  253. #*******************************************************************#
  254. #**                         LOG                                   **#
  255. #*******************************************************************#
  256. # FATAL, ERROR, WARNING, WARNING, INFO, DEBUG, NOTSET
  257. DBGPT_LOG_LEVEL=INFO
  258. # LOG dir, default: ./logs
  259. #DBGPT_LOG_DIR=
  260. #*******************************************************************#
  261. #**                         API_KEYS                              **#
  262. #*******************************************************************#
  263. # API_KEYS - The list of API keys that are allowed to access the API. Each of the below are an option, separated by commas.
  264. # API_KEYS=dbgpt
  265. #*******************************************************************#
  266. #**                         ENCRYPT                               **#
  267. #*******************************************************************#
  268. # ENCRYPT KEY - The key used to encrypt and decrypt the data
  269. # ENCRYPT_KEY=your_secret_key
  270. #*******************************************************************#
  271. #**                         File Server                           **#
  272. #*******************************************************************#
  273. ## The local storage path of the file server, the default is pilot/data/file_server
  274. # FILE_SERVER_LOCAL_STORAGE_PATH =
  275. #*******************************************************************#
  276. #**                     Application Config                        **#
  277. #*******************************************************************#
  278. ## Non-streaming scene retries
  279. # DBGPT_APP_SCENE_NON_STREAMING_RETRIES_BASE=1
  280. ## Non-streaming scene parallelism
  281. # DBGPT_APP_SCENE_NON_STREAMING_PARALLELISM_BASE=1
  282. #*******************************************************************#
  283. #**                   Observability Config                        **#
  284. #*******************************************************************#
  285. ## Whether to enable DB-GPT send trace to OpenTelemetry
  286. # TRACER_TO_OPEN_TELEMETRY=False
  287. ## Following configurations are only valid when TRACER_TO_OPEN_TELEMETRY=True
  288. ## More details see https://opentelemetry-python.readthedocs.io/en/latest/exporter/otlp/otlp.html
  289. # OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4317
  290. # OTEL_EXPORTER_OTLP_TRACES_INSECURE=False
  291. # OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE=
  292. # OTEL_EXPORTER_OTLP_TRACES_HEADERS=
  293. # OTEL_EXPORTER_OTLP_TRACES_TIMEOUT=
  294. # OTEL_EXPORTER_OTLP_TRACES_COMPRESSION=
  295. #*******************************************************************#
  296. #**                     FINANCIAL CHAT Config                     **#
  297. #*******************************************************************#
  298. # FIN_REPORT_MODEL=/app/models/bge-large-zh
复制代码


  • 错误排查

E. 运行利用

E.1 启动

  1. python dbgpt/app/dbgpt_server.py
复制代码
E.2 利用


F. 引文出处的设置

   在新版本中,引文出处转移到了应用,通过创建应用绑定知识库,然后在应用内里对话后就会显示出处。
  F.1 点击创建应用



F.2 绑定知识库


F.3 选择应用


F.4对话引文检察



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

悠扬随风

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表