🤔 为什么选择AutoLLM?
简化。统一。放大。
功能 | AutoLLM | LangChain | LlamaIndex | LiteLLM |
---|---|---|---|---|
100+ LLMs | ✅ | ✅ | ✅ | ✅ |
统一API | ✅ | ❌ | ❌ | ✅ |
20+ 向量数据库 | ✅ | ✅ | ✅ | ❌ |
成本计算(100+ LLMs) | ✅ | ❌ | ❌ | ✅ |
一行代码RAG LLM引擎 | ✅ | ❌ | ❌ | ❌ |
一行代码FastAPI | ✅ | ❌ | ❌ | ❌ |
📦 安装
在 Python>=3.8 环境中,使用pip轻松安装AutoLLM包。
pip install autollm
如需内置数据读取器(github, pdf, docx, ipynb, epub, mbox, websites等),请使用以下命令安装:
pip install autollm[readers]
🎯 快速开始
教程
-
视频教程:
-
博客文章:
-
Colab笔记本:
在几秒钟内创建一个查询引擎
>>> from autollm import AutoQueryEngine, read_files_as_documents
>>> documents = read_files_as_documents(input_dir="path/to/documents")
>>> query_engine = AutoQueryEngine.from_defaults(documents)
>>> response = query_engine.query(
... "为什么SafeVideo AI开发了这个项目?"
... )
>>> response.response
"因为他们想要快速部署基于RAG的LLM API!"
👉 高级用法
>>> from autollm import AutoQueryEngine
>>> query_engine = AutoQueryEngine.from_defaults(
... documents=documents,
... llm_model="gpt-3.5-turbo",
... llm_max_tokens="256",
... llm_temperature="0.1",
... system_prompt='...',
... query_wrapper_prompt='...',
... enable_cost_calculator=True,
... embed_model="huggingface/BAAI/bge-large-zh",
... chunk_size=512,
... chunk_overlap=64,
... context_window=4096,
... similarity_top_k=3,
... response_mode="compact",
... structured_answer_filtering=False,
... vector_store_type="LanceDBVectorStore",
... lancedb_uri="./lancedb",
... lancedb_table_name="vectors",
... exist_ok=True,
... overwrite_existing=False,
... )
>>> response = query_engine.query("SafeVideo AI是什么?")
>>> print(response.response)
"一家为公司提供自托管AI API的初创企业!"
使用一行代码将其转换为FastAPI应用
>>> import uvicorn
>>> from autollm import AutoFastAPI
>>> app = AutoFastAPI.from_query_engine(query_engine)
>>> uvicorn.run(app, host="0.0.0.0", port=8000)
INFO: 启动服务器进程 [12345]
INFO: 正在等待应用启动。
INFO: 应用启动完成。
INFO: Uvicorn正在http://http://0.0.0.0:8000/上运行
👉 高级用法
>>> from autollm import AutoFastAPI
>>> app = AutoFastAPI.from_query_engine(
... query_engine,
... api_title='...',
... api_description='...',
... api_version='...',
... api_term_of_service='...',
)
>>> uvicorn.run(app, host="0.0.0.0", port=8000)
INFO: 启动服务器进程 [12345]
INFO: 正在等待应用启动。
INFO: 应用启动完成。
INFO: Uvicorn正在http://http://0.0.0.0:8000/上运行
🌟 功能
支持 100+ LLMs
>>> from autollm import AutoQueryEngine
>>> os.environ["HUGGINGFACE_API_KEY"] = "huggingface_api_key"
>>> llm_model = "huggingface/WizardLM/WizardCoder-Python-34B-V1.0"
>>> llm_api_base = "https://my-endpoint.huggingface.cloud"
>>> AutoQueryEngine.from_defaults(
... documents='...',
... llm_model=llm_model,
... llm_api_base=llm_api_base,
... )
👉 更多LLMs:
-
huggingface - ollama 示例:
>>> from autollm import AutoQueryEngine >>> llm_model = "ollama/llama2" >>> llm_api_base = "http://localhost:11434" >>> AutoQueryEngine.from_defaults( ... documents='...', ... llm_model=llm_model, ... llm_api_base=llm_api_base, ... )
-
microsoft azure - openai 示例:
>>> from autollm import AutoQueryEngine
源文本翻译如下:
```python
>>> os.environ["AZURE_API_KEY"] = ""
>>> os.environ["AZURE_API_BASE"] = ""
>>> os.environ["AZURE_API_VERSION"] = ""
>>> llm_model = "azure/<your_deployment_name>")
>>> AutoQueryEngine.from_defaults(
... documents='...',
... llm_model=llm_model
... )
- google - vertexai 示例:
>>> from autollm import AutoQueryEngine
>>> os.environ["VERTEXAI_PROJECT"] = "hardy-device-38811" # 你的项目ID
>>> os.environ["VERTEXAI_LOCATION"] = "us-central1" # 你的位置
>>> llm_model = "text-bison@001"
>>> AutoQueryEngine.from_defaults(
... documents='...',
... llm_model=llm_model
... )
- aws bedrock - claude v2 示例:
>>> from autollm import AutoQueryEngine
>>> os.environ["AWS_ACCESS_KEY_ID"] = ""
>>> os.environ["AWS_SECRET_ACCESS_KEY"] = ""
>>> os.environ["AWS_REGION_NAME"] = ""
>>> llm_model = "anthropic.claude-v2"
>>> AutoQueryEngine.from_defaults(
... documents='...',
... llm_model=llm_model
... )
支持 20+ VectorDBs
🌟专业提示: autollm
默认使用 lancedb
作为向量存储:无需设置,无服务器,并且成本更低100倍!
👉 更多vectordbs:
- QdrantVectorStore 示例:
>>> from autollm import AutoQueryEngine >>> import qdrant_client >>> vector_store_type = "QdrantVectorStore" >>> client = qdrant_client.QdrantClient( ... url="http://<host>:<port>", ... api_key="<qdrant-api-key>" ... ) >>> collection_name = "quickstart" >>> AutoQueryEngine.from_defaults( ... documents='...', ... vector_store_type=vector_store_type, ... client=client, ... collection_name=collection_name, ... )
100+ LLMs 的自动成本计算
>>> from autollm import AutoServiceContext
>>> service_context = AutoServiceContext(enable_cost_calculation=True)
# 查询后示例的详细输出
嵌入令牌使用量: 7
LLM提示令牌使用量: 1482
LLM完成令牌使用量: 47
LLM总令牌成本: $0.002317
用1行代码创建FastAPI应用程序
👉 示例
>>> from autollm import AutoFastAPI
>>> app = AutoFastAPI.from_config(config_path, env_path)
此处,config
和 env
应替换为你的配置文件和环境文件路径。
创建FastAPI应用程序后,在终端中运行以下命令启动应用程序:
uvicorn main:app
🔄 从 llama-index 迁移
从 Llama-Index 切换?我们为你提供支持。
👉 简单迁移
>>> from llama_index import StorageContext, ServiceContext, VectorStoreIndex
>>> from llama_index.vectorstores import LanceDBVectorStore
>>> from autollm import AutoQueryEngine
>>> vector_store = LanceDBVectorStore(uri="./.lancedb")
>>> storage_context = StorageContext.from_defaults(vector_store=vector_store)
>>> service_context = ServiceContext.from_defaults()
>>> index = VectorStoreIndex.from_documents(
documents=documents,
storage_context=storage_context,
service_context=service_context,
)
>>> query_engine = AutoQueryEngine.from_instances(index)
❓ 常见问题解答
Q: 我可以将此用于商业项目吗?
A: 是的,AutoLLM 授权为 GNU Affero 通用公共许可证(AGPL 3.0),允许在某些条件下进行商业使用。联系我们 获取更多信息。
发展路线图
我们的路线图概述了即将推出的功能和集成,以使 autollm 成为最可扩展和强大的大型语言模型应用程序基础包。
-
1行代码 Gradio 应用程序创建和部署
-
基于预算的电子邮件通知
-
自动化 LLM 评估
-
添加更多快速入门应用程序,如 PDF-聊天、文档聊天、学术论文分析、专利分析等!
📜 许可证
autollm 是根据 GNU Affero 通用公共许可证 (AGPL 3.0) 提供的。
📞 联系我们
欲了解更多信息、支持或问题,请联系:
- 电子邮件: support@safevideo.ai
- 网站: SafeVideo
- LinkedIn: SafeVideo AI
🏆 贡献
喜欢 autollm? 为这个项目加星或贡献力量,帮助我们使其更加强大! 查看我们的贡献指南 获取更多信息。
```