Я создал агентов с помощью autogen, чтобы создавать чат и спрашивать о документе, который я загрузил в векторную базу данных. Проблема в том, что когда он отвечает, кажется, что он не заботится о векторизованной информации БД. Он отвечает, сообщая информацию, которую он получает в Интернете, а не из моих загруженных документов. Ниже мой код. Первые файлы импортируют текст в базу данных, а второй файл — чат.
import.py
from autogen.retrieve_utils import create_vector_db_from_dir
from chromadb.utils import embedding_functions
import chromadb
# sentence_transformer_ef = embedding_functions.SentenceTransformerEmbeddingFunction(
# model_name="sentence-transformers/paraphrase-multilingual-mpnet-base-v2")
#
sentence_transformer_ef = embedding_functions.SentenceTransformerEmbeddingFunction(
model_name="intfloat/multilingual-e5-large")
def main():
vdb = chromadb.PersistentClient(path="./db/chromadb.db")
create_vector_db_from_dir(dir_path="./docs",
embedding_function=sentence_transformer_ef,
collection_name="azure_queen3",
client=vdb,
get_or_create=True,
must_break_at_empty_line=False,
# max_tokens=128
)
if __name__ == "__main__":
main()
main.py
import chainlit as cl
from autogen.agentchat.contrib.retrieve_assistant_agent import RetrieveAssistantAgent
from autogen.agentchat.contrib.retrieve_user_proxy_agent import (
PROMPT_QA,
RetrieveUserProxyAgent,
)
from chromadb.utils import embedding_functions
from chromadb import EmbeddingFunction
import chromadb
sentence_transformer_ef = embedding_functions.SentenceTransformerEmbeddingFunction(
model_name="intfloat/multilingual-e5-large")
PROMPT_QA_V2 = """You're a retrieve augmented chatbot responding to user questions in
German, based solely on the user-provided context.
If the context provided doesn't contain enough information to respond to the
question, look within the context for guidance on where to locate the necessary
information.
If the context is still insufficient, respond with 'UPDATE CONTEXT'.
Ensure your answers are accurate and strictly relevant to the question, avoiding any
extraneous information.
Use bullet points when listing multiple items.
User's question is: {input_question}
Context is: {input_context}
"""
llm_config = {
"config_list": [{"model": "gpt-4", "api_key": "sk- fY7Ba64yHqjvEQaUDCq1T3BlbkFJK"}],
}
vdb = chromadb.PersistentClient(path="./db/chromadb.db")
ragproxyagent = RetrieveUserProxyAgent(
name="ragproxyagent",
# is_termination_msg=termination_msg,
human_input_mode="NEVER",
retrieve_config={
"task": "qa",
"client": vdb,
"embedding_function": sentence_transformer_ef,
"customized_prompt": PROMPT_QA_V2,
"get_or_create": True,
"collection_name": "azure_queen3",
},
)
assistant = RetrieveAssistantAgent(
system_message="You are a helpful assistant.",
# is_termination_msg=termination_msg,
name="assistant",
llm_config=llm_config
)
assistant.reset()
ragproxyagent.initiate_chat(assistant, problem="Who is Schmid?")
Подробнее здесь: https://stackoverflow.com/questions/781 ... nd-opeanai
Autogen LLM и OpeanAi ⇐ Python
Программы на Python
1734981530
Anonymous
Я создал агентов с помощью autogen, чтобы создавать чат и спрашивать о документе, который я загрузил в векторную базу данных. Проблема в том, что когда он отвечает, кажется, что он не заботится о векторизованной информации БД. Он отвечает, сообщая информацию, которую он получает в Интернете, а не из моих загруженных документов. Ниже мой код. Первые файлы импортируют текст в базу данных, а второй файл — чат.
import.py
from autogen.retrieve_utils import create_vector_db_from_dir
from chromadb.utils import embedding_functions
import chromadb
# sentence_transformer_ef = embedding_functions.SentenceTransformerEmbeddingFunction(
# model_name="sentence-transformers/paraphrase-multilingual-mpnet-base-v2")
#
sentence_transformer_ef = embedding_functions.SentenceTransformerEmbeddingFunction(
model_name="intfloat/multilingual-e5-large")
def main():
vdb = chromadb.PersistentClient(path="./db/chromadb.db")
create_vector_db_from_dir(dir_path="./docs",
embedding_function=sentence_transformer_ef,
collection_name="azure_queen3",
client=vdb,
get_or_create=True,
must_break_at_empty_line=False,
# max_tokens=128
)
if __name__ == "__main__":
main()
main.py
import chainlit as cl
from autogen.agentchat.contrib.retrieve_assistant_agent import RetrieveAssistantAgent
from autogen.agentchat.contrib.retrieve_user_proxy_agent import (
PROMPT_QA,
RetrieveUserProxyAgent,
)
from chromadb.utils import embedding_functions
from chromadb import EmbeddingFunction
import chromadb
sentence_transformer_ef = embedding_functions.SentenceTransformerEmbeddingFunction(
model_name="intfloat/multilingual-e5-large")
PROMPT_QA_V2 = """You're a retrieve augmented chatbot responding to user questions in
German, based solely on the user-provided context.
If the context provided doesn't contain enough information to respond to the
question, look within the context for guidance on where to locate the necessary
information.
If the context is still insufficient, respond with 'UPDATE CONTEXT'.
Ensure your answers are accurate and strictly relevant to the question, avoiding any
extraneous information.
Use bullet points when listing multiple items.
User's question is: {input_question}
Context is: {input_context}
"""
llm_config = {
"config_list": [{"model": "gpt-4", "api_key": "sk- fY7Ba64yHqjvEQaUDCq1T3BlbkFJK"}],
}
vdb = chromadb.PersistentClient(path="./db/chromadb.db")
ragproxyagent = RetrieveUserProxyAgent(
name="ragproxyagent",
# is_termination_msg=termination_msg,
human_input_mode="NEVER",
retrieve_config={
"task": "qa",
"client": vdb,
"embedding_function": sentence_transformer_ef,
"customized_prompt": PROMPT_QA_V2,
"get_or_create": True,
"collection_name": "azure_queen3",
},
)
assistant = RetrieveAssistantAgent(
system_message="You are a helpful assistant.",
# is_termination_msg=termination_msg,
name="assistant",
llm_config=llm_config
)
assistant.reset()
ragproxyagent.initiate_chat(assistant, problem="Who is Schmid?")
Подробнее здесь: [url]https://stackoverflow.com/questions/78181147/autogen-llm-and-opeanai[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия