📱应用类型
我们有三种类型的应用程序。
App
from embedchain import App app = App()
-- App 使用了 OpenAI 的模型,所以这些是付费模型。 💸 您将被收费用于嵌入模型的使用和 LLM 的使用。
-- App 使用了 OpenAI 的嵌入模型来为块创建嵌入,并使用 LLM 从相关文档中获取答案。请确保您有一个 OpenAI 账户和 API 密钥。如果您没有 API 密钥,您可以通过访问此链接来创建一个。 --- App 是可选择的。它可使用市场上最好的嵌入模型和 LLM。
-- 一旦您有了 API 密钥,将其设置在名为 OPENAI_API_KEY 的环境变量中。
import os os.environ["OPENAI_API_KEY"] = "sk-xxxx"
Llama2App
import os
from embedchain import Llama2App
os.environ['REPLICATE_API_TOKEN'] = "REPLICATE API TOKEN"
zuck_bot = Llama2App()
# Embed your data
zuck_bot.add("https://www.youtube.com/watch?v=Ff4fRgnuFgQ")
zuck_bot.add("https://en.wikipedia.org/wiki/Mark_Zuckerberg")
# Nice, your bot is ready now. Start asking questions to your bot.
zuck_bot.query("Who is Mark Zuckerberg?")
# Answer: Mark Zuckerberg is an American internet entrepreneur and business magnate. He is the co-founder and CEO of Facebook. Born in 1984, he dropped out of Harvard University to focus on his social media platform, which has since grown to become one of the largest and most influential technology companies in the world.
# Enable web search for your bot
zuck_bot.online = True # enable internet access for the bot
zuck_bot.query("Who owns the new threads app and when it was founded?")
# Answer: Based on the context provided, the new Threads app is owned by Meta, the parent company of Facebook, Instagram, and WhatsApp.
-- Llama2App 使用 Replicate 的 LLM 模型,因此这些都是付费模型。您可以通过在其网站Sign in – Replicate上注册来获得 REPLICATE_API_TOKEN。
-- Llama2App 使用了 OpenAI 的嵌入模型来为块创建嵌入。请确保您有一个 OpenAI 账户和 API 密钥。如果您没有 API 密钥,您可以通过访问此链接https://platform.openai.com/account/api-keys来创建一个。
OpenSourceApp
from embedchain import OpenSourceApp
app = OpenSourceApp()
-- OpenSourceApp 使用开源嵌入和 LLM 模型。它使用 Sentence Transformers 库的 all-MiniLM-L6-v2 作为嵌入模型,使用 gpt4all 作为 LLM。
-- 在这里不需要设置任何 API 密钥。您只需要安装 embedchain 包,这些将自动安装📦。
-- 一旦导入并实例化了应用程序,从这里开始的每个功能对于任何类型的应用程序都是相同的📚。
-- OpenSourceApp 是可选择的。它使用市场上最好的开源嵌入模型和 LLM。
-- 此应用类型需要其他附加依赖项。
pip install --upgrade embedchain[opensource]
CustomApp
from embedchain import CustomApp
from embedchain.config import (CustomAppConfig, ElasticsearchDBConfig,
EmbedderConfig, LlmConfig)
from embedchain.embedder.vertexai import VertexAiEmbedder
from embedchain.llm.vertex_ai import VertexAiLlm
from embedchain.models import EmbeddingFunctions, Providers
from embedchain.vectordb.elasticsearch import Elasticsearch
# short
app = CustomApp(llm=VertexAiLlm(), db=Elasticsearch(), embedder=VertexAiEmbedder())
# with configs
app = CustomApp(
config=CustomAppConfig(log_level="INFO"),
llm=VertexAiLlm(config=LlmConfig(number_documents=5)),
db=Elasticsearch(config=ElasticsearchDBConfig(es_url="...")),
embedder=VertexAiEmbedder(config=EmbedderConfig()),
)
-- CustomApp 是无选择项的。 -- 需要配置。这是为希望混合和匹配不同嵌入模型和 LLM 的高级用户而设计的。 -- 尽管如此,它仍然提供了通过允许您从 embedchain.llm、embedchain.vectordb 和 embedchain.embedder 导入类来提供抽象的功能。 -- 付费和免费/开源提供商都包括在内。 -- 一旦导入并实例化了应用程序,从这里开始的每个功能对于任何类型的应用程序都是相同的📚。 -- 对于 LLM,以下提供程序可用:
OPENAI
ANTHPROPIC
VERTEX_AI
GPT4ALL
AZURE_OPENAI
-- LLAMA2 对于嵌入函数,以下提供程序可用:
OPENAI
HUGGING_FACE
VERTEX_AI
GPT4ALL
AZURE_OPENAI
PersonApp
from embedchain import PersonApp
naval_chat_bot = PersonApp("name_of_person_or_character") #Like "Yoda"
-- PersonApp 使用了 OpenAI 的模型,所以这些是付费模型💸 。您将被收费用于嵌入模型的使用和 LLM 的使用。
-- PersonApp 使用了 OpenAI 的嵌入模型来为块创建嵌入,并使用 LLM 从相关文档中获取答案。请确保您有一个 OpenAI 账户和 API 密钥。如果您没有 API 密钥,您可以通过访问此链接https://platform.openai.com/account/api-keys来创建一个。
-- 一旦您有了 API 密钥,将其设置在名为 OPENAI_API_KEY 的环境变量中。
import os os.environ["OPENAI_API_KEY"] = "sk-xxxx"
与其他应用的兼容性
-- 如果在您的脚本或应用程序中有任何其他应用程序实例,您可以将导入更改为以下方式:
from embedchain import App as EmbedChainApp
from embedchain import OpenSourceApp as EmbedChainOSApp
from embedchain import PersonApp as EmbedChainPersonApp
# or
from embedchain import App as ECApp
from embedchain import OpenSourceApp as ECOSApp
from embedchain import PersonApp as ECPApp
上一篇文章:Embedchain----介绍_一点知趣的博客-CSDN博客
下一篇文章:Embedchain----接口类型_一点知趣的博客-CSDN博客