Skip to main content

LangChain 实现闭源大模型的统一

本项目的目的是将闭源大模型,如科大星火 文心一言 通义千问等闭源大模型进行Langchain的实现,即继承了langchain的BaseChatModel的实现。

(仓库初步构建,欢迎贡献源码。)

背景

随着AIGC的快速发展,市面上出现了越来越多的大模型,其中包括开源大模型如qwen,baichuan,chatglm等,开源的模型已经有很好社区来支持openai格式的API接口,之所以使用openai格式的API接口,很重要的一个因素是可以轻松的使用langchain(目前最流行)。但是闭源大模型由于接口不统一,导致很难使用langchain提供的生态,因为我才有想法构建本项目。

支持的闭源模型

  • 讯飞星火
  • 文心一言
  • 通义千问
  • 百川

安装(要用官方源,国内源可能同步更新不及时)

pip install oneapi2langchain -i https://pypi.org/simple/

示例代码

from oneapi2langchain import ChatSpark  # 完全支持langchain
from dotenv import load_dotenv  # 加载 APP_ID 等配置
load_dotenv()

if __name__ == "__main__":
  
    llm = ChatSpark()
    # # 测试 string  ok
    ret = llm.predict("你是谁",stop=['科大讯飞'])
    print(ret)
    # 测试 message  ok
    # ret = llm.predict_messages([ChatMessage(role="user",content="你是谁")])
    # print(ret)
    # 测试 invoke  ok
    # ret = llm.invoke("你是谁")
    # print(ret)
    # 测试流式
    # for i in llm.stream("你是谁"):
    #     print(i)

致谢

spark-ai-python 参考并引用

langchain 参考并引用

Metadata

Release files for oneapi2langchain 0.0.102

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for oneapi2langchain 0.0.102
File Size Uploaded
oneapi2langchain-0.0.102.tar.gz 31.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for oneapi2langchain 0.0.102
File Interpreter ABI Platform
oneapi2langchain-0.0.102-py3-none-any.whl Python 3 none any Details

Total release size: 80.1 kB

Release files / oneapi2langchain-0.0.102.tar.gz

Download URL oneapi2langchain-0.0.102.tar.gz
Size 31.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1db2741618e4b90c2752c9b2d2af503cdd5869a5ad224fffecea4684d9907c15
BLAKE2b-256 checksum
How to use checksums
c5433b0762674a740c653871a0cfe1a7eaad31819ebf4b0eb316b5e15f0b8c1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

Release files / oneapi2langchain-0.0.102-py3-none-any.whl

Download URL oneapi2langchain-0.0.102-py3-none-any.whl
Size 49.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1f16076c918c6802a5201f91da7caa6cddbcf5fcd2f46bf0488007cb866a3ef1
BLAKE2b-256 checksum
How to use checksums
f247797cae7d28096643110e6fa0afe55142b36c3b92c925f5d342c33ad69147
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

Release history Release notifications | RSS feed

This release

0.0.102 This release

2 release files

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page